Итак, мы недавно получили префикс / 48 от нашего LIR и начали его мелкомасштабное развертывание в лаборатории.
Что показалось мне странным, так это то, что такие сайты, как http://ipv6-test.com/ настаивайте на том, чтобы вы разрешили входящие запросы ICMP Echo. Я понимаю, почему вы должны разрешать исходящие ICMPv6, но входящие? Даже если это просто пинг?
Итак, мой вопрос: помимо возможных DDoS-атак с использованием ICMP, есть ли какие-либо недостатки в разрешении входящих эхо-запросов ICMP?
Я читал RFC4890 ( https://www.ietf.org/rfc/rfc4890.txt ), но не нашел там однозначного ответа.
А.5. ICMPv6 эхо-запрос и эхо-ответ
предполагает, что
Не считается, что существует значительный риск атак сканирования на хорошо спроектированную сеть IPv6 (см. Раздел 3.2), поэтому проверки подключения должны быть разрешены по умолчанию.
Это все еще актуально, учитывая, что RFC почти 10 лет? Кроме того, RFC не делает различий между исходящими и входящими направлениями.
Я всегда считал, что для v4 рекомендуется блокировать ICMP на шлюзе, но опять же, v6 сильно полагается на ICMP.
Итак, есть предложения?
Этот первый бит не является прямым ответом на ваш вопрос. Я просто добавляю его сюда для тех, кто не осознает важность ICMPv6.
IPv6 действительно нуждается в определенных типах сообщений ICMP для прохождения. Наиболее важными из них являются Packet-Too-Big и Parameter-Problem. Если вы заблокируете их, у вас возникнут проблемы с подключением.
Также: эквивалентом ARP для IPv6 является обнаружение соседей, которое также использует пакеты ICMP. Автоконфигурация без сохранения состояния является частью обнаружения соседей, поэтому также требуется ICMP.
В IPv4 существует неправильное понимание того, что все входящие ICMP должны блокироваться, и вам это сойдет с рук. С IPv6 вам действительно нужно разрешить хотя бы часть ICMP. Взгляни на https://tools.ietf.org/html/rfc4890, он содержит несколько действительно полезных советов о том, как фильтровать ICMP без нарушения протокола.
Ответ на ваш вопрос Блокировать входящие эхо-запросы ICMP можно. Лично я этого не делаю, потому что разрешение их значительно упрощает отладку, но если вы не хотите их допускать, вам и не нужно. Главный риск, с которым вы столкнетесь, если вы позволите им, заключается в том, что если кто-то найдет стабильный (не временный / конфиденциальный) адрес, например, ваш ноутбук, то они могут продолжать пинговать его, чтобы увидеть, когда он включен. Это можно рассматривать как угрозу конфиденциальности. Однако им сначала придется найти такой адрес, потому что для исходящих соединений он будет использовать свои временные адреса конфиденциальности.