Журнал "Information Security/ Информационная безопасность" #1, 2021

Основной причиной соз- дания системы Snort было отсутствие достаточно эффективного, тем более бесплатного, инструмента оповещения об атаках. Snort использует простой в понимании и синтаксисе язык для написания правил, многие правила Snort пишутся буквально в одну строчку. • 45 ЗАЩИТА СЕТЕЙ www.itsec.ru Архитектура Snort Snort является сервисом с открытым исходным кодом, рас- пространяемым под лицензией GPL. Он был создан в 1998 г. Мартином Рошем, одним из известнейших людей в мире информационной безопасности, автором многих книг. Основной причиной создания системы Snort было отсутствие доста- точно эффективного, тем более бесплатного, инструмента опо- вещения об атаках. Система Snort способна выявлять: l атаки на протоколы SNMP, Net-BIOS, ICMP; l атаки на веб-сервер (php, iss и т.д.); l атаки на протоколы SMTP, IMAP, POP3; l использование эксплойтов; l атаки на Telnet, DNS, FTP и т.д; l атаки DoS/DDoS; l атаки на базы данных SQL, Oracle и т.д. Архитектура Snort включает в себя несколько основных ком- понентов: библиотеку libpcap, декодер пакетов, препроцессор, детектор, базу правил и модули вывода информации. Так, библиотека libpcap поз- воляет перехватывать пакеты, поступающие на сетевую карту, до того, как они передаются в стек протоколов операцион- ной системы. Можно отметить, что на основе данной библио- теки созданы и другие системы для мониторинга сети (напри- мер, снифер Wireshark). После перехвата пакет направляется в декодер, где из протоколов канального уровня, таких как Ethernet или 802.11, декапсули- руются данные сетевого и транспортного уровня. Далее препроцессор подготавливает обработанные декодером дан- ные для детектора. В Snort существует возмож- ность настройки препроцессора и правил для увеличения быстродействия системы. Впо- следствии детектор анализиру- ет поступившие данные, ища в пакетах определенные правила или сигнатуры, находящиеся в базе. Правила состоят из опи- сания угрозы и реакции при ее обнаружении. После заверше- ния процедуры анализа Snort выводит необходимую инфор- мацию в требуемых форматах в log-/alert-файлы. Snort может работать в трех режимах: 1. Режим системы обнаруже- ния вторжений (перехват дан- ных и анализ, автоматическая регистрация пакетов, если в правилах не указано иного). 2. Режим снифера (перехват и вывод данных). 3. Режим регистрации пакетов (перехват и регистрация данных в соответствующих файлах). Из дополнительных инстру- ментов работы со Snort следует упомянуть Barnyard2, PulledPork, BASE и Snorby. Barnyard2 является интер- претатором с открытым исход- ным кодом для обработки двоичных данных, предостав- ляемых Snort. Стандартные способы записи регистрируе- мых событий в Snort являются довольно ресурсоемкими, потому наилучший сценарий – использование для хранения базы данных MySQL с возмож- ностью поиска и просмотра требуемых событий. Barnyard2 как раз и используется для загрузки событий в СУБД. Принципиальная схема взаи- модействия выглядит так: про- изводится настройка компо- нентов Snort для записи собы- тий в двоичной форме и после- дующего перенаправления в Barnyard2 для дальнейшей чтения и записи в базу данных MySQL. PulledPork является скриптом, который загружает, устанавли- вает и обновляет правила для Snort из различных источников. Существует несколько наборов данных, которые может загружать данный скрипт. Его также можно использовать для загрузки бесплатного набора правил сообще- ства Snort. Правила Snort Snort использует простой в понимании и синтаксисе язык для написания правил, многие правила Snort пишутся букваль- но в одну строчку. Правила принципиально можно разде- лить на два основных вида: l бесконтекстные правила, соз- даются для каждого пакета отдельно; l контекстные правила препро- цессоров. Правила состоят также из заголовка и опций. Заголовок включает в себя действие, про- токол передачи, IP-адрес, а также сетевые маски и порты. Опции же включают в себя дополнительные критерии обра- ботки правил и реагирующих действий. Данные параметры применяются для описания фильтрации сетевого трафика. Общая структура правил пред- ставлена в табл. 1. Заголовок правила должен содержать так называемое ключевое слово, определяю- щее действие, которое выпол- няется при совпадении всех заданных условий. Основные действия правил представлены в табл. 2. Существует возможность создания собственных типов правил (Ruletype), с помощью Использование Snort в режиме NIDS анная статья описывает возможности, предоставляемые системой Snort в режиме NIDS (Network Intrusion Detection System, система обнаружения сетевых вторжений), включая дополнительные программные компоненты для улучшения базовой функциональности. Д Ростислав Кокарев, главный специалист по внутреннему аудиту информационной безопасности департамента информационной безопасности компании Трансмашхолдинг Рис. 1. Архитектура Snort

RkJQdWJsaXNoZXIy Mzk4NzYw