Можно ли безопасно заблокировать эти типы сообщений ICMPv6 на веб-сервере?

У меня есть Debian 11 VPS на облачном провайдере с включенными IPv4 и IPv6 и интерфейсом eth0 с глобальным -ipv6-адресом (public )и ссылка -IPv6-адрес (fe80 ::/10 ).

Единственной целью сервера является размещение общедоступного веб-сайта.

Я использую брандмауэр на сервере с помощью iptables/ip6tables. Я прочитал RFC4890, но до сих пор не уверен, как обрабатывать некоторые типы сообщений ICMPv6 и действительно ли они нужны для моего варианта использования. Принимая во внимание, что я разрешаю любой трафик по каналу -с ограниченной областью действия, я не уверен, что могу безопасно заблокировать следующие типы сообщений ICMPv6 на глобальной -области действия:

  • запрос маршрутизатора (Тип 133)

  • Объявление маршрутизатора (Тип 134)

  • Запрос соседей (Тип 135)

  • Объявление соседей (Тип 136)

  • Обратный запрос обнаружения соседей (Тип 141)

  • Обратный Объявление обнаружения соседей (Тип 142)

  • Запрос прослушивателя (Тип 130)

  • Отчет прослушивателя (Тип 131)

  • Прослушиватель выполнен (Тип 132)

  • Отчет прослушивателя v2 (Тип 143)

  • Запрос пути сертификата (Тип 148)

  • Объявление пути сертификата (Тип 149)

  • Объявление маршрутизатора многоадресной рассылки (Тип 151)

  • Запрос маршрутизатора многоадресной рассылки (Тип 152)

  • Завершение маршрутизатора многоадресной рассылки (Тип 153)

Большое спасибо за любую помощь.

0
задан 21 November 2021 в 09:12
1 ответ

Разрешить все типы ICMPv6. По возможности ограничьте скорость пакетов ICMPv6 в секунду, чтобы ограничить использование ресурсов на IP-устройствах. Это простой способ, и он не так небезопасен, как кажется.


Или вы можете изучить RFC 4890 Рекомендации по фильтрации сообщений ICMPv6 в брандмауэрах . Обратите внимание на отсутствие необходимо исключить рекомендации для начала.

«Ссылка-глобальная» не является стандартным термином. Я думаю, вы имеете в виду (глобальную)одноадресную рассылку. В отличие от link-local или multicast, которые находятся в определенных диапазонах. Кроме того, вам понадобится брандмауэр с концепцией зоны. Поскольку вам, вероятно, нужна другая политика для ваших префиксов по сравнению с Интернетом, но оба являются глобальными одноадресными.

RFC поясняет, что многие из этих локальных сообщений не требуют специальной фильтрации. Совместимые маршрутизаторы не будут перенаправлять ссылку из локального источника. Соответствующие требованиям хосты, получающие сообщения об обнаружении соседей, подтвердят, что они не прошли через маршрутизатор. А многие брандмауэры являются маршрутизаторами, поэтому для работы вам необходимо обнаружение соседей, включая RA.


В качестве практического примера давайте кратко рассмотрим обработку ICMPv6 по умолчанию для бесплатного маршрутизатора OpenWrt. Этот вопрос включает более или менее правила брандмауэра ICMPv6 по умолчанию.

Зона "lan" по умолчанию принимает все. Зона "wan" по умолчанию только исходящая. Типичный простой брандмауэр. Разрешающие правила берутся из wan:

config rule
        option name 'Allow-ICMPv6-Input'
        option src 'wan'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        list icmp_type 'router-solicitation'
        list icmp_type 'neighbour-solicitation'
        list icmp_type 'router-advertisement'
        list icmp_type 'neighbour-advertisement'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Forward'
        option src 'wan'
        option dest '*'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

Большинство типов нельзя отбрасывать, см. раздел 4.4.1. Обратите внимание, что в параметре «Разрешить-ICMPv6-Forward» всегда разрешены типы ошибок и эхо, как входящие, так и исходящие.

config rule
        option name 'Allow-MLD'
        option src 'wan'
        option proto 'icmp'
        option src_ip 'fe80::/10'
        list icmp_type '130/0'
        list icmp_type '131/0'
        list icmp_type '132/0'
        list icmp_type '143/0'
        option family 'ipv6'
        option target 'ACCEPT'

Ссылка-уведомления локального многоадресного приемника.

В целом, разрешает все во внутренней зоне, а также разрешает поступление из Интернета ICMP, связанных с ошибками, эхом, обнаружением соседей и многоадресной рассылкой. Не позволяет другим вещам, таким как SEND, проходить через Интернет. Не единственный способ отфильтровать этот материал, но, по крайней мере, не нарушает IPv6.

2
ответ дан 21 November 2021 в 16:14

Теги

Похожие вопросы