Предупреждение сетевых атак. Часть 2

Автор статьи: А. В. Кириллов

>

 

Предупреждение сетевых атак. Часть 2

[детектор сканирования портов PortSentry]
материал подготовил: А. В. Кириллов
26.04.2005
 

Вторжение в компьютерную систему обычно начинается с предварительной оценки недостатков защиты сетевого периметра вашего сервера, подключенного к Сети. В ходе такой "пристрелки" взломщику в первую очередь необходимо узнать список открытых портов и оценить принадлежность операционной системы вашего компьютера. В предыдущей статье была описана программа scanlogd, позволяющая анализировать попытки сканирования вашего сервера. Однако в современной Сети большое распространение получили атаки с использованием завуалированных техник сканирования вроде "стелс". исходя из этого, применение scanlogd в одиночку не даст однозначно положительных результатов.

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

 

В AltLinux установка утилиты PortSentry выполняется с помощью Synaptic и является рутинной процедурой. PortSentry, так же как и scanlogd, запускается в режиме демона. После завершения процесса установки (в любом дистрибутиве Linux) следует проверить правильность функционирования скрипта автозапуска демона. Для этого следует проверить наличие символической ссылки в каталоге /etc/rc5.d/ на файл /etc/init.d/portsentry, например, с помощью следующей команды :
# ls -l /etc/rc5.d/*portsentry*
Конечно же, если такой ссылки нет, ее следует создать (как это делать применительно к scanlogd, описано выше).

Установка PortSentry

Основные возможности PortSentry:

  • возможность широкой настройки политики поведения по умолчанию. Демон PortSentry можно запустить в одном из трех режимов работы. Таким образом, вы можете выбрать, что для вас важнее - остановить нарушителя вашего сетевого периметра или зафиксировать попытку проникновения (возможность регулируется указанием определенных параметров командной строки, для чего следует отредактировать инит-скрипт (/etc/init.d/portsentry) запуска демона PortSentry);
  • способность выполнения ответных действий (автор программы чрезвычайно рекомендует ограничиться блокированием хоста взломщика, а не принимать адекватных мер вроде ответного сканирования) по отношению к нарушителю ваших сетевых границ. Например, вы можете добавить в таблицу вашего файрвола такое правило, которое будет исключать возможность обмена информацией с хостом-нарушителем (также можно добавлять строку в файл /etc/hosts.deny);
  • тонкая настройка диапазонов прослушиваемых и игнорируемых портов и возможность создания списка игнорируемых хостов. Возможность необходима для исключения ложных срабатываний системы защиты, построенной на PortSentry. Таким образом, например, можно исключить 53-й порт, чтобы в дальнейшем не получать предупреждений про сканирование этого порта игровыми программами, которые несколько фривольно используют сетевые возможности (параметры ADVANCED_EXCLUDE_TCP или ADVANCED_EXCLUDE_UDP, которые используются в "продвинутом" режиме запуска демона PortSentry). Игнорируемые хосты перечисляются в файле, который описывается в конфигурационном параметре IGNORE_FILE.
Основные возможности PortSentry

Демон PortSentry может быть запущен в следующих режимах: