-m tcp -j TARPIT
Расширение TARPIT представляет собой эквивалент ловушки -- попавшему в нее не удастся быстро выбраться на свободу. Если вы были настолько неблагоразумны, что попытались установить соединение с портом-ловушкой, то обнаружите, что закрыть такое соединение (и освободить тем самым системные ресурсы) не так-то просто.
Чтобы добиться такого эффекта, iptables подтверждает запрос на TCP/IP соединение и устанавливает размер окна равным нулю, что вынуждает атакующую систему прекратить передачу данных -- очень напоминает нажатие комбинации Ctrl+S в терминале. Любые попытки атакующего закрыть соединение игнорируются, таким образом соединение остается открытым, пока не истечет срок тайм аута (обычно 12-24 минуты), что в свою очередь приводит к расходу системных ресурсов атакующей системы (но не системы-ловушки). Правило, создающее ловушку может выглядеть примерно так:
Код: Выделить всё
iptables -A INPUT -p tcp -m tcp -dport 80 -j TARPIT
Еще один пример -- как можно оконфузить злоумышленника, имитируя поведение Microsoft Windows. В ответ на попытку сканирования портов netbios система может отвечать системе атакующего, а затем переводить эти соединения на TARPIT. Атакующий будет тратить время впустую, полагая, что порты открыты и пытаясь установить соединение. Он будет крепко раздосадован долгим ожиданием ответа и явно безумным поведением атакуемой системы. Правило, которое дает такой эффект может выглядеть следующим образом:
Код: Выделить всё
iptables -A INPUT -p tcp -m tcp -m mport \
--dports 135,139,1025 -j TARPIT
Код: Выделить всё
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -j TARPIT
-m pkttype
расширение, которое позволяет блокировать пакеты заданного типа, например, все широковещательные:
Код: Выделить всё
iptables -A INPUT -m pkttype --pkt-type broadcast -j DROP
-m time используется для ограничения времени прохождения пакетов.
Код: Выделить всё
iptables -A INPUT -m time --timestart 8:00 --timestop 18:00 --days Mon,Tue,Wed,Thu,Fri -j ACCEPT
Код: Выделить всё
$ip -A INPUT -p ICMP -s 0/0 --icmp-type echo-request -m length --length 1:86 -j ACCEPT