Điểm:0

Có thể chặn một cách an toàn các loại thông báo ICMPv6 này trên máy chủ web không?

lá cờ ca

Tôi có một VPS Debian 11 trên một nhà cung cấp đám mây, được bật cả IPv4 và IPv6 và giao diện eth0 có cả địa chỉ ipv6 trong phạm vi toàn cầu (công khai) và địa chỉ ipv6 trong phạm vi liên kết (fe80::/10).

Mục đích duy nhất của máy chủ là lưu trữ một trang web công cộng.

Tôi đang triển khai tường lửa trên máy chủ bằng iptables/ip6tables. Tôi đã đọc RFC4890 nhưng vẫn không chắc chắn về cách xử lý một số loại thông báo ICMPv6 và liệu chúng có thực sự cần thiết cho trường hợp sử dụng của tôi hay không. Trong khi tôi cho phép bất kỳ lưu lượng truy cập nào trên phạm vi liên kết, Tôi không chắc mình có thể chặn an toàn các loại thông báo ICMPv6 sau không trên phạm vi toàn cầu:

  • Yêu cầu bộ định tuyến (Loại 133)

  • Quảng cáo bộ định tuyến (Loại 134)

  • Gạ gẫm hàng xóm (Loại 135)

  • Quảng cáo hàng xóm (Loại 136)

  • Yêu cầu khám phá hàng xóm nghịch đảo (Loại 141)

  • Inverse Neighbor Discovery Advertisement (Loại 142)

  • Truy vấn người nghe (Loại 130)

  • Báo cáo người nghe (Loại 131)

  • Người nghe Xong (Loại 132)

  • Báo cáo người nghe v2 (Loại 143)

  • Yêu cầu đường dẫn chứng chỉ (Loại 148)

  • Quảng cáo đường dẫn chứng chỉ (Loại 149)

  • Quảng cáo Bộ định tuyến Multicast (Loại 151)

  • Yêu cầu Bộ định tuyến Multicast (Loại 152)

  • Kết thúc bộ định tuyến Multicast (Loại 153)

Rất cảm ơn cho sự giúp đỡ.

Điểm:3
lá cờ cn

Cho phép tất cả các loại ICMPv6. Giới hạn tốc độ gói ICMPv6 mỗi giây, nếu có thể, để hạn chế sử dụng tài nguyên trên thiết bị IP. Đây là cách dễ dàng, và không phải là không an toàn như nó có vẻ.


Hoặc, phương pháp nghiên cứu của bạn là đọc Khuyến nghị RFC 4890 để lọc thông báo ICMPv6 trong tường lửa. Lưu ý thiếu phải được bỏ khuyến nghị cho một sự khởi đầu.

"Liên kết toàn cầu" không phải là một thuật ngữ tiêu chuẩn. Tôi nghĩ bạn có nghĩa là unicast (toàn cầu). Trái ngược với liên kết cục bộ hoặc phát đa hướng, nằm trong phạm vi xác định. Hơn nữa, bạn sẽ muốn có một tường lửa với khái niệm vùng. Vì bạn có thể muốn có một chính sách khác về tiền tố của mình so với internet, nhưng cả hai đều là phạm vi unicast toàn cầu.

RFC giải thích, nhiều thông báo trong phạm vi cục bộ này không yêu cầu lọc đặc biệt. Các bộ định tuyến tuân thủ sẽ không chuyển tiếp liên kết có nguồn cục bộ. Các máy chủ tuân thủ nhận được thông báo khám phá hàng xóm sẽ xác nhận rằng chúng không đi qua bộ định tuyến. Và nhiều tường lửa là bộ định tuyến, vì vậy bạn cần khám phá hàng xóm, bao gồm cả RA, để hoạt động.


Như một ví dụ thực tế, chúng ta hãy xem nhanh cách xử lý ICMPv6 mặc định của bộ định tuyến miễn phí, OpenWrt. Câu hỏi này bao gồm ít nhiều các quy tắc tường lửa ICMPv6 mặc định.

Vùng "lan" mặc định chấp nhận tất cả.Vùng "wan" mặc định chỉ gửi đi. Tường lửa đơn giản điển hình. Cho phép các quy tắc có nguồn gốc từ wan:

quy tắc cấu hình
        tên tùy chọn 'Cho phép-ICMPv6-Đầu vào'
        tùy chọn src 'wan'
        tùy chọn proto 'icmp'
        liệt kê icmp_type 'echo-request'
        danh sách icmp_type 'echo-reply'
        danh sách icmp_type 'không thể truy cập đích'
        liệt kê icmp_type 'gói quá lớn'
        danh sách icmp_type 'vượt quá thời gian'
        danh sách icmp_type 'tiêu đề xấu'
        liệt kê icmp_type 'loại tiêu đề không xác định'
        liệt kê icmp_type 'gạ gẫm bộ định tuyến'
        liệt kê icmp_type 'gạ gẫm hàng xóm'
        liệt kê icmp_type 'quảng cáo bộ định tuyến'
        liệt kê icmp_type 'quảng cáo hàng xóm'
        giới hạn tùy chọn '1000/giây'
        họ tùy chọn 'ipv6'
        mục tiêu tùy chọn 'CHẤP NHẬN'

quy tắc cấu hình
        tên tùy chọn 'Cho phép-ICMPv6-Chuyển tiếp'
        tùy chọn src 'wan'
        tùy chọn đích '*'
        tùy chọn proto 'icmp'
        danh sách icmp_type 'echo-request'
        danh sách icmp_type 'echo-reply'
        danh sách icmp_type 'không thể truy cập đích'
        liệt kê icmp_type 'gói quá lớn'
        danh sách icmp_type 'vượt quá thời gian'
        danh sách icmp_type 'tiêu đề xấu'
        liệt kê icmp_type 'loại tiêu đề không xác định'
        giới hạn tùy chọn '1000/giây'
        họ tùy chọn 'ipv6'
        mục tiêu tùy chọn 'CHẤP NHẬN'

Hầu hết các loại không được bỏ, xem phần 4.4.1. Lưu ý trong 'Cho phép-ICMPv6-Chuyển tiếp', các loại lỗi và tiếng vang luôn được cho phép, gửi đến hoặc gửi đi.

quy tắc cấu hình
        tên tùy chọn 'Cho phép-MLD'
        tùy chọn src 'wan'
        tùy chọn proto 'icmp'
        tùy chọn src_ip 'fe80::/10'
        danh sách icmp_type '130/0'
        liệt kê icmp_type '131/0'
        danh sách icmp_type '132/0'
        liệt kê icmp_type '143/0'
        họ tùy chọn 'ipv6'
        mục tiêu tùy chọn 'CHẤP NHẬN'

Tin nhắn thông báo máy thu multicast liên kết cục bộ.

Nhìn chung, cho phép mọi thứ trong vùng bên trong và cho phép lỗi, tiếng vang, phát hiện hàng xóm và ICMP liên quan đến phát đa hướng đến từ internet.Không cho phép những thứ khác như GỬI đi qua internet. Không phải là cách duy nhất để lọc nội dung này, nhưng ít nhất không phá vỡ IPv6.

lá cờ ca
Cảm ơn bạn đã chỉ cho tôi thuật ngữ chính xác (đề cập đến liên kết và phạm vi toàn cầu), tôi đã sửa nó. Tất nhiên cảm ơn câu trả lời của bạn, hãy để tôi nghiên cứu nó và giải thích trước khi đưa ra phản hồi.
lá cờ ca
Trên cơ sở các đề xuất của bạn và các quy tắc ví dụ có trong RFC, và trên cơ sở những gì quan sát được cho đến nay trên hộp Debian của tôi (tức là các quy tắc ip6tables duy nhất đếm các gói là loại ICMPv6 128, 135, 136), tôi đã kết thúc với một bộ quy tắc cho phép các loại sau trên phạm vi toàn cầu: 1, 2, 3, 4, 128, 135, 136. Trong khi phạm vi liên kết (fe80::/10) cho phép tất cả lưu lượng truy cập. Tôi đoán rằng các loại ICMPv6 khác là không cần thiết vì địa chỉ IPv6 và cổng được gán tĩnh. Tôi đang theo dõi tình hình này để xem có gì đó bị hỏng không. Càng xa càng tốt. Bất kỳ thông tin phản hồi đánh giá cao.
Điểm:0
lá cờ ca

Trên cơ sở nghiên cứu của tôi, tôi đã kết thúc với các quy tắc sau. Tôi có số lượng gói là 0 theo quy tắc LOG REJECT cho các loại ICMPv6 trong quy tắc đã nhận xét (tức là: các loại bị vô hiệu hóa).

#
# INBOUND ICMPv6
# Các loại nhận xét là không cần thiết;
# những loại chỉ được phép cho liên kết cục bộ cũng được nhận xét 
# vì link-local được phép tất cả lưu lượng truy cập.
#

ip6tables -N ICMP6

ip6tables -A ICMP6 -p icmpv6 --icmpv6-type 1 -j CHẤP NHẬN # Điểm đến Không thể truy cập
ip6tables -A ICMP6 -p icmpv6 --icmpv6-type 2 -j CHẤP NHẬN # Gói quá lớn
ip6tables -A ICMP6 -p icmpv6 --icmpv6-type 3 -j CHẤP NHẬN # Đã vượt quá thời gian
ip6tables -A ICMP6 -p icmpv6 --icmpv6-type 4 -j CHẤP NHẬN # Sự cố tham số
ip6tables -A ICMP6 -p icmpv6 --icmpv6-type 128 -j CHẤP NHẬN # Yêu cầu tiếng vang
# ip6tables -A ICMP6 -p icmpv6 --icmpv6-type 133 -j CHẤP NHẬN # Yêu cầu bộ định tuyến
# ip6tables -A ICMP6 -p icmpv6 --icmpv6-type 134 -j CHẤP NHẬN # Quảng cáo bộ định tuyến
ip6tables -A ICMP6 -p icmpv6 --icmpv6-type 135 -j CHẤP NHẬN # Chào hàng xóm
ip6tables -A ICMP6 -p icmpv6 --icmpv6-type 136 -j CHẤP NHẬN # Hàng xóm Quảng cáo
# ip6tables -A ICMP6 -p icmpv6 --icmpv6-type 141 -j CHẤP NHẬN # Yêu cầu khám phá hàng xóm nghịch đảo
# ip6tables -A ICMP6 -p icmpv6 --icmpv6-type 142 -j CHẤP NHẬN # Phát hiện hàng xóm nghịch đảo
#ip6tables -A ICMP6 -s fe80::/10 -p icmpv6 --icmpv6-type 130 -j CHẤP NHẬN # Truy vấn người nghe
#ip6tables -A ICMP6 -s fe80::/10 -p icmpv6 --icmpv6-type 131 -j CHẤP NHẬN # Báo cáo người nghe
#ip6tables -A ICMP6 -s fe80::/10 -p icmpv6 --icmpv6-type 132 -j CHẤP NHẬN # Người nghe Xong
#ip6tables -A ICMP6 -s fe80::/10 -p icmpv6 --icmpv6-type 143 -j CHẤP NHẬN # Báo cáo người nghe v2
# ip6tables -A ICMP6 -p icmpv6 --icmpv6-type 148 -j CHẤP NHẬN # Yêu cầu đường dẫn chứng chỉ
#ip6tables -A ICMP6 -p icmpv6 --icmpv6-type 149 -j CHẤP NHẬN # Đường dẫn chứng chỉ
#ip6tables -A ICMP6 -s fe80::/10 -p icmpv6 --icmpv6-type 151 -j CHẤP NHẬN # Quảng cáo Bộ định tuyến Multicast
# ip6tables -A ICMP6 -s fe80::/10 -p icmpv6 --icmpv6-type 152 -j CHẤP NHẬN # Yêu cầu Bộ định tuyến Multicast
#ip6tables -A ICMP6 -s fe80::/10 -p icmpv6 --icmpv6-type 153 -j CHẤP NHẬN # Chấm dứt Bộ định tuyến Multicast

# DROP mọi thứ khác trên chuỗi ICMP6
ip6tables -A ICMP6 -p icmpv6 -j LOG --log-level 7 --log-prefix "[FW.IN drop ICMP6]"
ip6tables -A ICMP6 -p icmpv6 -j DROP

ip6tables -A INPUT -p icmpv6 -j ICMP6

Vì vậy, kết luận của tôi là một máy chủ web chỉ cần các loại 1,2,3,4,128,135,136

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.