Рейтинг:4

Какие типы ICMP (v4/v6) не следует блокировать?

флаг in

Я провел много исследований по этому поводу и обнаружил, что некоторые ссылки противоречат друг другу.

ИПВ6 Например RFC4890 говорит, что следующие типы должны быть разрешены для оптимальной функциональности:

Тип 1, 2, 3, 4, 128, 129 и для помощи при передвижении также 144, 145, 146 и 147.

Однако это источник не упоминает, что требовалась помощь в передвижении: (также опущены типы 1 и 4)

Тип 128, 129, 2, 3 и для NDP и SLAAC 133, 134, 135, 136 и 137

С другой стороны, в прежней ссылке говорилось, что NDP и SLAAC не нуждаются в особом внимании, поскольку их все равно выкинут. Так кто прав? Не лучше ли оставить все это, упомянутое обоими источниками, на всякий случай?

ИПВ4: Удивительно Справка не имеет никаких рекомендаций для IPv4, но другой источник говорит, что для IPv4 нужны типы 8, 0, 3 и 11. Есть ли какая-либо официальная ссылка, которая рекомендует, какие ICMP IPv4 следует разрешить?

ОБНОВИТЬ: Хотя ответ хороший, я считаю его слишком общим, чтобы принять его как реальное решение этой проблемы. Если блокировка не является решением, тогда ограничение скорости должно быть правильным способом обеспечения уровня защиты. Я считаю, что ответ с правильным образцом кода был бы более убедительным.

Ron Maupin avatar
флаг us
NDP — это протокол локальной связи, поэтому он никогда не будет маршрутизироваться.
Paul avatar
флаг cn
Отвечает ли это на ваш вопрос? [Почему бы не заблокировать ICMP?](https://serverfault.com/questions/84963/why-not-block-icmp?rq=1)
флаг in
Да, я передумал. Я не буду блокировать это в конце концов.
флаг in
Чтобы разрешить все, мне нужны только `-A INPUT -p icmp -j ACCEPT` и `-A INPUT -p ipv6-icmp -j ACCEPT`, верно? `-m icmp` не требуется? Спасибо
флаг cn
[RFC 5927 *Атаки ICMP против TCP*] (https://www.rfc-editor.org/rfc/rfc5927.html) кажется актуальным. Насколько я понимаю, меры по смягчению должны быть реализованы в стеке TCP, а не в брандмауэре.
iBug avatar
флаг um
@Houman `-m icmp` подразумевается, если у вас есть `-p icmp`. Опция `-m` сама по себе не является "сопоставителем", но включает средства для сопоставления полезной нагрузки ICMP.
Joseph Sible-Reinstate Monica avatar
флаг in
«Если блокировка не является решением, тогда ограничение скорости должно быть правильным способом обеспечения уровня защиты». Почему вы так думаете?
флаг in
@JosephSible-ReinstateMonica Смотрите ответ.
Рейтинг:10
флаг cn

Весь ICMP не должен быть заблокирован. Не по умолчанию, это может быть список запрещенных, а не разрешенных.

Начните с ограничения скорости, но не с фильтрации, ICMP.

Читать RFC 4890, раздел 3 ожидаемых соображений безопасности. В частности, перенаправлять отклоняющие пакеты, но стандарт требует, чтобы они были локальными, по ссылке. Отказ в обслуживании при большом объеме, но часто это можно смягчить с помощью ограничений скорости. Возможно, обнаружение хостов, но это мало что раскрывает. ICMP не очень опасен.

флаг in
Спасибо. Не могли бы вы привести пример ограничения скорости с iptables, пожалуйста? Вероятно, я мог бы сделать это для всех ICMP, но у меня плохое предчувствие, что я могу что-то сломать: `-A INPUT -p icmp -m limit --limit 10/sec -j ACCEPT`. Мой сценарий следующий: пользователи могут открыть наше приложение и нажать на статус сервера, чтобы увидеть список всех серверов, показанных с их пингом. Теоретически многие пользователи могут сделать это одновременно. Какое число было бы правильным пределом?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.