Внесенные исключения продолжают работать при обновлении правил, и в отличие от правил, внесенные изменения в исключениях не требуют синхронизации для работы.
Создать исключение можно как из вкладки «Исключения» так и из карточки конкретного правила. А также из карточки атаки, которая была сгенерирована при помощи правила, и из карточки сессии, которая также была сгенерирована при срабатывании правила. Исключения доступны для просмотра, изменения и удаления всем пользователям PT NAD.
Для каждого исключения указаны следующие данные:- Клиенты. Адреса отправителей сетевых запросов, для которых действует исключение;
- Серверы. Адреса получателей сетевых запросов, для которых действует исключение;
- Правило. Название правила для которого настроено исключение (по нажатию на название открывается карточка правила);
- SID. Идентификатор правила, для которого настроено исключение;
- Изменено. Время последнего изменения исключения;
- Пользователь. Фамилия и имя пользователя, добавившего исключение;
- Комментарий. Комментарий к исключению, оставленный пользователем.
Создание пользовательских правил. Изменение и копирование правил.PT NAD предполагает создание пользовательских правил для адаптации под конкретную ситуацию и среду заказчика.
Также создание правил позволяет аналитику лучше структурировать свою работу при помощи написания правила, которое поможет отследить особую активность, не отслеживаемую фильтрами (например, при неизвестном протоколе).
Перед описанием, где конкретно находится инструмент для создания, изменения и копирования правил, необходимо описать структуру правила. Правило состоит из обязательных частей:
заголовка правила и тела правила.Заголовок правила состоит из:- Действие: alert/pass. Действие pass приоритетнее, чем alert. При генерации сессии этим правилом она перестает инспектироваться другими правилами;
- Протокол взаимодействия: tcp/dns/http/…. Протокол может быть выбран только один.
- Адреса источника и получателя (src & dst): $HOME_NET/EXTERNAL_NET/99.99.99.99/any/…;
- Порты источника и получателя (src & dst): any/5000/[80,81]/…
Примечание: Можно исключать некоторые порты и адреса, подставив перед выражением «!».
- Направление трафика: ->/<>;
Тело правила состоит из обязательных и необязательных частей.
Обязательными частями будут:
- sid — уникальный идентификатор;
Примечание:PT NAD не сможет обработать два правила с одинаковым идентификатором. При создании правила через web-интерфейс PT NAD самостоятельно выдаст уникальный идентификатор.
- rev. Версия правила;
- msg. Сообщение правила, в случае с PT NAD это также будет названием правила;
- classtype. Класс атаки в web-интерфейсе можно выбрать из выпадающего списка.
Необязательные части правила являются необязательными только потому, что правило без них можно создать, и оно будет функционировать. Однако именно в необязательной части находятся основные параметры для детектирования атак, и желательно разобраться в их синтаксисе.
Некоторыми необязательными частями будут:
- content. Искомые байты: «SIP/»,"UDP/","POST", «target=».
Примечание:После content часто добавляют модификаторы поиска. Их великое множество, и про каждый рассказать невозможно.
Вот часть из них:- nocase. Указывает на то, что нужно искать регистронезависимо;
- depth. Задает глубину поиска;
- distance. Сколько байт нужно пропустить от предыдущего контента.
Также одной из необязательных частей тела правила, но довольно важной, является модификатор flow. Он указывает на направление трафика, на которое необходимо срабатывать правилу.
Вот некоторые из часто используемых параметров:- to_client;
- to_server;
- from_client;
- from_server;
- established (только установленные соединения)
Это некоторые из необязательных частей тела правила. При написании правил и поиска дополнительной информации мы настоятельно рекомендуем перейти на официальный сайт разработчика
Suricata и ознакомиться с материалами. Так как у PT NAD нет собственной документации по написанию правил, а в данную статью эта информация не была добавлена из-за её объёмности.