Дорогие форумчане, недавно я полностью перешёл с OPNsense на Mikrotik и немного переживал, ведь у Mikrotik нет встроенного IDS/IPS. К счастью, в интернете нашлись решения, которые я реализовал, и хочу поделиться с вами парой советов и хитростей.
Я нашёл проект на GitHub под названием mikrocata2selks (), который использует Packet Sniffer от Mikrotik + Suricata + удобный интерфейс Kibana. Клонируйте репозиторий на ваше устройство (выделенный ПК, виртуалку, сервер и т.п.) — желательно иметь не менее 10 ГБ ОЗУ и 4 ядра, так как нужно проверять каждый полученный пакет. Лично я не советую просто запускать скрипт easyinstall, лучше выполнить все шаги вручную.
В общем, что делает проект:
- Создаёт выделённый фиктивный интерфейс, на котором Suricata будет слушать;
- Устанавливает «конвертер» для потока трафика Mikrotik в формат, читаемый Suricata;
- Ставит SELKS ();
- Использует API Mikrotik, чтобы добавлять плохие IP в специальный список, который потом нужно добавить в меню файервола.
На роутере Mikrotik я настроил фильтр Packet Sniffer, чтобы он пересылал только tcp и udp пакеты — иначе он отправлял бы и другие пакеты, которые Suricata не понимает.
Если у вас есть вопросы или более удачные варианты, не стесняйтесь, пишите в комментариях.
Я нашёл проект на GitHub под названием mikrocata2selks (), который использует Packet Sniffer от Mikrotik + Suricata + удобный интерфейс Kibana. Клонируйте репозиторий на ваше устройство (выделенный ПК, виртуалку, сервер и т.п.) — желательно иметь не менее 10 ГБ ОЗУ и 4 ядра, так как нужно проверять каждый полученный пакет. Лично я не советую просто запускать скрипт easyinstall, лучше выполнить все шаги вручную.
В общем, что делает проект:
- Создаёт выделённый фиктивный интерфейс, на котором Suricata будет слушать;
- Устанавливает «конвертер» для потока трафика Mikrotik в формат, читаемый Suricata;
- Ставит SELKS ();
- Использует API Mikrotik, чтобы добавлять плохие IP в специальный список, который потом нужно добавить в меню файервола.
На роутере Mikrotik я настроил фильтр Packet Sniffer, чтобы он пересылал только tcp и udp пакеты — иначе он отправлял бы и другие пакеты, которые Suricata не понимает.
Если у вас есть вопросы или более удачные варианты, не стесняйтесь, пишите в комментариях.
