IDS/IPS в межсетевом экране OPNsense
Сравнительно недавно познакомился с дистрибутивом OPNsense, который можно установить на своё железо и без особых навыков настроить межсетевой экран с уровнем возможностей, сопостовимым с коммерческими продуктами. Это конечно утверждение спорное, но с его помщью можно настроить просто невероятное количество функций:
- система обнаружения вторжений;
- сетевой экран;
- интернет-шлюз;
- беспроводные сети;
- прокси-сервер с антивирусной проверкой траффика;
- DHCP ipv4 и ipv6;
- DNS-сервер;
- NGFW (про NGFW в OPNsense отдельно написал тут);
- обратный прокси-сервер;
- интеграция с Crowdsec;
- dynamic DNS client;
- сервер аутентификации, авторизации и учета RADIUS;
- IGMP-Proxy;
- обнаружение вредоносного траффика при помощи maltrail;
- Nginx;
- OpenConnect;
- postfix;
- Tayga NAT64;
- TFTP server;
- vpn-сервер для безопасного подключения к нашему шлюзу;
- модуль аутентификации Kerberos;
- Zabbix агент и прокси;
- агенты к множеству служб, серверов и сервисов.
Расписывать каждый модуль или плагин в рамках этой статьи не буду, расскажу только про IDS/IPS. Про некоторые другие модули, возможно, будет рассказано в других статьях в категории Межсетевые экраны.
Система обнаружения вторжений в OPNsense
IDS - Система обнаружения вторжений, которая только отслеживает подозрительные события и сообщает о них.
IPS - Система противодействия вторжениям, которая отбрасывает подозрительные сетевые пакеты.
В OPNsense в качестве IDS/IPS использует Suricata.
Самое интересное в том, что буквально в несколько кликов можно загрузить готовые правила от abuse.ch, ET open, OPNsense-App-detect. Количество правил просто невероятное! Я скачал и включил далеко не все доступные правила, и их уже 128889.
Я долгое время использовал эти правила, и именно в OPNsense система обнаружения вторжений очень удобная в плане правил и отслеживания событий. Однако я сделал выбор в пользу NGFW плагина Zenarmor (подробнее тут), так как он мощнее, удобнее и, возможно, эффективнее.
Теперь расскажу про некоторые тонкости при настройке. Есть плагины, которые позволяют установить правила ET Pro и Snort, но первое не сильно отличается от ET Open, а второе очень сложно скачать из России.
Настроить систему обнаружения вторжений можно во вкладке службы, обнаружение вторжений и далее администрирование. Рекомендую поставить галочку расширенного режима и справку по верхним краям окна.
Сперва ставим галочку включить для режима IDS, и галочку Режим IPS для включения режима противодействия вторжениям. Если вы ставите OPNsense на реальное железо, а не на виртуальную машину, тогда ставьте галочку Смешанный режим.
В поле Интерфейсы необходимо указать те сетевые интерфейсы, на которых будет работать режим IPS. Поскольку я сразу после тестов перешел и остался на zenarmor, то у меня тут указан только WAN, но вам рекомендую выбирать оба интерфейса!
Переходим во вкладку Сохранение, в которой можно выбрать правила для скачивания.
Почему пункт называется сохранение не знаю и логичного объяснения придумать не смог, но именно тут можно накачать правил для нашей IDS.
Сначала отмечаем галочкой правило и нажимаем включить выбранные, и, в идале, включать именно по одному, так как при множественном выборе обычно не скачивает. Выбрали одно правило, нажали включить и только после этого вновь отмечаем его галочкой и жмем кнопку скачать.
После успешной загрузки в колонке последнее обновление сменится с не установлено на дату обновления.
Во вкладке правила перечислены все правила, которые мы загрузили, и редактировать их тут не надо! Включать их нужно в другом месте! Да, то что мы тут нажали включить - это было только для скачивания в базу.
Может потребоваться создать расписание, мол, включен все время.
Переходим во вкладку политика, которая была на уровень выше.
Если политики нет, то при помощи плюсика создайте новую. И вот тут начинается просто жуткая работа...
Естественно, включен и приоритет 0, самый высокий.
В поле наборы правил мы выбираем правила, которые мы скачали. Тут можно настроить разные политики для разных наборов правил, но я всё в одно правило.
В качестве действия можно выбрать бездействие, то есть, отключено, или отбрасывание пакета или простое предупреждение. Тут нужно подходить к вопросу с умом.
Дальше появляется просто жуткий блок Правила, в котором нужно выбрать все правила... Если вы скачали много наборов, то на отметку галочками всех правил у вас уйдет не менее часа, и то если вы быстрый и меткий.
Ну и в самом конце нажать кнопку сохранить.
По сути это всё, и события можно отлавливать в журнале или в предупреждениях, которые в администрировании.