Назад | Перейти на главную страницу

Ping O 'Death и iptables

Есть ли простое правило, которое можно было бы написать, чтобы остановить пинг смерти с помощью iptables?

Большинство современных операционных систем невосприимчивы к атаке «звоном смерти». Из IPCHAINS HOWTO (http://www.linux.org/docs/ldp/howto/IPCHAINS-HOWTO-5.html):

5.3 Фильтрация пинга смерти

Ящики Linux теперь невосприимчивы к знаменитому Ping of Death, который включает в себя отправку незаконно большого пакета ICMP, который переполняет буферы в стеке TCP на получателе и вызывает хаос.

Если вы защищаете ящики, которые могут быть уязвимы, вы можете просто заблокировать фрагменты ICMP. Обычные пакеты ICMP недостаточно велики, чтобы требовать фрагментации, поэтому вы ничего не сломаете, кроме больших пингов. Я слышал (неподтвержденные) сообщения о том, что некоторым системам требуется только последний фрагмент слишком большого пакета ICMP, чтобы повредить их, поэтому блокировать только первый фрагмент не рекомендуется.

Вы можете сбросить фрагменты icmp примерно так:

iptables -A FORWARD -p icmp -f -j DROP

Но опять же, если вы не пытаетесь защитить действительно старое оборудование, все это, вероятно, не нужно.