Как стать автором
Обновить

Предотвращение скрытого Nmap сканирования в Linux

Время на прочтение2 мин
Количество просмотров19K
Как вы наверное знаете сетевой сканер NMAP предназначен для сканирования машин или даже целых сетей на наличие открытых портов и он является наиболее эффективным в своем роде (особенно в умелых руках).Скрытое NMAP сканирование называтся таковым потому, что маловероятно, что системный журнал его зафиксирует поскольку использует нештатные комбинации флагов TCP-пакетов.
Однако, используя способность netfilter проверять флаги в заголовке TCP-пакета и записывать события в журнал, можно не только блокировать подобные попытки, но и регистрировать факт их наличия.Вот парочка правил:

iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j LOG --log-prefix «Stealth scan»
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP


Первое правило служит для обязательной записи события в журнал. После цели LOG пакет продолжает движение по цепочке условий (в отличие от целей DROP и ACCEPT. Принятые или отклоненные пакеты на дальнейшую проверку не пойдут). В данном случае пакет, удовлетворяющий первому условию, удовлетворит и второму, согласно которому он будет отклонен. Параметры --tcp-flags ACK,FIN FIN описывают комбинацию TCP-флагов. Первый список состояний (ACK,FIN) перечисляет тестируемые флаги, второй (FIN) – те из них, что установлены. Таким образом, условие соответствует тем пакетам, в которых есть FIN-флаг, но нет ACK. При нормальном TCP-соединении эта комбинация невозможна, зато типична для скрытого сканирования.

Проведите эксперимент: если у вас две Linux-системы, выберите одну из них мишенью, а на второй запустите нечто вроде

nmap -sF -p1-50 192.168.0.3

(подставьте нужный IP-адрес). Nmap сообщит вам об открытых портах. Если вы проследите судьбу пакетов через Ethereal, то увидите, что FIN-пакеты достигли цели, а в ответ были отправлены пакеты RST,ACK. Теперь добавьте на системе-мишени два правила, показанных выше, и повторите попытку. Вы увидите, что Nmap больше не обнаруживает открытые порты, а в журнале (у меня это /var/log/firewall) появились новые сообщения. Ethereal покажет, что FIN-пакеты по-прежнему доходят, но не получают ответа. На подобных экспериментах можно научиться многому.
Теги:
Хабы:
+45
Комментарии44

Публикации

Изменить настройки темы

Истории

Работа

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн