В СОА Snort встроен программный модуль, позволяющий выявлять сканирование портов защищаемой системы. Алгоритм, обнаруживающий ска- нирование, основан на том, что при сканировании портов существенно увели- чивается количество исходящих TCP-пакетов с установленным флагом RST. Установка этого флага на отправляемом в ответ пакете означает, что порт, к которому производилось обращение, закрыт. Таким образом, анализируя ко- личество пакетов с установленным флагом RST, можно обнаружить факт ска- нирования портов системы.
Программный модуль, или препроцессор, как его называют разработчи-
ки Snort, инициализируется из файла конфигурации следующим образом. В
конфигурационный файл следует добавить следующие строки:
preprocessor flow: stats_interval 0 hash 2
preprocessor sfportscan: proto { <протокол> } scan_type
{ <тип_сканирования> } sense_level
{ <чувствительность> } logfile { <файл_с_отчетом> }
Первая строка предназначена для инициализации препроцессора Flow, без которого модуль обнаружения сканирования не работает. Вторая строка инициализирует препроцессор sfPortscan, при этом задаются следующие па- раметры (жирным шрифтом показаны рекомендуемые значения):
<протокол> — анализируемый протокол (tcp, udp, icmp, ip_proto,
all)
<тип_сканирования> — выявляемые типы сканирования (portscan,
portsweep, decoy_portscan, distributed_portscan, all)
<чувствительность> — чувствительность (low, medium, high)
<файл_с_отчетом> — имя файла, в который будет помещен отчет об обна-
руженных попытках сканирования портов
Файл с отчетом будет располагаться в каталоге, указанном параметром
-c при запуске Snort. Чувствительность определяет перечень анализируемой информации и в итоге сказывается на вероятности «ложной тревоги» (для high она наибольшая). За более подробной информацией о параметрах модуля sfPortscan следует обращаться к документации на Snort.
Приведем пример настройки модуля sfPortscan:
preprocessor flow: stats_interval 0 hash 2
preprocessor sfportscan: proto { all } scan_type { all }
sense_level { medium } logfile { portscan.log }
При данной настройке Snort будет выявлять все описанные в разделе 2 методы сканирования портов. Необходимо отметить, что две и больше проце- дуры сканирования портов, выполненные во время одного сеанса работы Snort, будут отражены в файле регистрации событий только один раз. Это ос- тается справедливым даже в том случае, когда используются разные методы сканирования. Таким образом, для поверки возможности обнаружения скани- рования, выполняемого разными методами, Snort необходимо закрывать и за- пускать снова.
ВЫПОЛНИТЬ!
8. Дополнить файл «my.conf» приведенными выше строками для настройки препроцессора sfPortscan. С использованием утилиты nmap проверить, происходит ли обнаружение попыток сканирования портов защищаемого узла. Использовать следующие команды для запуска сканирования:
nmap <IP-адрес_СОА> -v -sT -p <диапазон_портов> — для сканирования методом с полным циклом подключения (метод Connect) nmap <IP-адрес_СОА> -v -sS -p <диапазон_портов> — для сканирования с неполным циклом подключения (метод SYN)
nmap <IP-адрес_СОА> -v -sN -p <диапазон_портов> — для сканирования при помощи TCP-пакета со сброшенными флагами (метод NULL)
nmap <IP-адрес_СОА> -v -sX -p <диапазон_портов> — для сканирования при помощи TCP-пакета со всеми установленными флагами (метод XMAS)
9. Какие методы сканирования позволяют практически выявлять наличие от- крытых портов? Как это зависит от используемой операционной системы? Все ли указанные методы сканирования обнаруживает СОА Snort?
Источник: Андрончик А. Н., Богданов В. В., Домуховский Н. А., Коллеров А. С., Синадский Н. И., Хорьков Д. А., Щербаков М. Ю., Защита информации в компьютерных сетях. Практический курс