Lonely Dreamer (sanmai) wrote,
Lonely Dreamer
sanmai

Category:

Расширенные возможности IPTables

Нашел на OpenNET: "Расширенные возможности IPTables"

Едва ли кто нибудь из нас желал бы угодить в ловушку, если конечно вы цените свою жизнь. Расширение TARPIT представляет собой эквивалент ловушки -- попавшему в нее не удастся быстро выбраться на свободу. Если вы были настолько неблагоразумны, что попытались установить соединение с портом-ловушкой, то обнаружите, что закрыть такое соединение (и освободить тем самым системные ресурсы) не так-то просто.

Чтобы добиться такого эффекта, iptables подтверждает запрос на TCP/IP соединение и устанавливает размер окна равным нулю, что вынуждает атакующую систему прекратить передачу данных -- очень напоминает нажатие комбинации Ctrl+S в терминале. Любые попытки атакующего закрыть соединение игнорируются, таким образом соединение остается открытым, пока не истечет срок тайм аута (обычно 12-24 минуты), что в свою очередь приводит к расходу системных ресурсов атакующей системы (но не системы-ловушки). Правило, создающее ловушку может выглядеть примерно так:

iptables -A INPUT -p tcp -m tcp -dport 80 -j TARPIT

Едва ли стоит использовать conntrack и TARPIT на одной и той же системе, особенно если ожидается большое число соединений, попавших в ловушку. Каждое такое соединение будет расходовать ресурсы conntrack.

Еще один пример -- как можно оконфузить злоумышленника, имитируя поведение Microsoft Windows. В ответ на попытку сканирования портов netbios система может отвечать системе атакующего, а затем переводить эти соединения на TARPIT. Атакующий будет тратить время впустую, полагая, что порты открыты и пытаясь установить соединение. Он будет крепко раздосадован долгим ожиданием ответа и явно безумным поведением атакуемой системы. Правило, которое дает такой эффект может выглядеть следующим образом:

iptables -A INPUT -p tcp -m tcp -m mport \
--dports 135,139,1025 -j TARPIT

Еще один пример использования TARPIT -- установить ловушки на ВСЕ порты, кроме определенных вами. Это опять-таки будет вводить в заблуждение посторонних, демонстрируя им, что все порты открыты и заставляя их тратить свое время на попытки установить соединение. Более того, это предотвращает возможность определения типа операционной системы на системе-ловушке с помощью tcpdump. В данном примере легитимными считаются только сервисы WEB и E-MAIL, любые другие соединения будут "срываться" в ловушку.

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

Предлагаем вам ознакомиться с интересным примером из реальной жизни, когда расширение string и TARPIT сослужили неплохую службу системному администратору.

Tags: linux, useful
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments