Сетевое устройство – это аппаратный или программный компонент, помогающий в передаче данных и информации между узлами в сети. К распространенным типам таких девайсов относятся роутеры, коммутаторы, концентраторы, модемы, точки доступа и брандмауэры.
Сетевые устройства могут стать точками входа для злоумышленников, стремящихся получить несанкционированный доступ к системам, организовать утечку данных или вызвать сбои в сети. Поэтому меры безопасности, регулярные обновления и тщательный мониторинг обязательны для защиты как локальных, так и глобальных сетей.
Сетевые девайсы, поддерживаемые Wazuh
SIEM и XDR решение Wazuh поддерживает такие устройства, предоставляя out-of-the-box правила и декодеры:
- VMWare ESXi 4.x
- Межсетевые экраны Huawei USG
- pfSense
- Устройства Junos
Все версии:
- Межсетевые экраны Cisco PIX
- Cisco ASA (устройства адаптивной безопасности)
- Cisco FWSM (модули служб брандмауэра)
- Роутеры Cisco IOS
- Juniper Netscreen
- Брандмауэры SonicWall
- Брандмауэры Checkpoint
- Системы обнаружения и предотвращения вторжений (IDS/IPS) Sourcefire (Snort)
- Модули IDS/IPS Cisco IOS
- Сетевые системы обнаружения вторжений (NIDS) Dragon
- Checkpoint Smart Defense
- Прокси Bluecoat
- VPN-концентраторы Cisco
Эта публикация показывает, как использовать Wazuh, чтобы проводить мониторинг роутера MikroTik.
Инфраструктура
- Предварительно внедренная и готовая к использованию последняя версия виртуальной машины Wazuh OVA, включающая основные компоненты решения (сервер, indexer, дешборд).
- Установленная и зарегистрированная на сервере Wazuh конечная точка Ubuntu 22.04 с агентом Wazuh.
- Роутер MikroTik с версией ПО 7.13 [stable].
Конфигурация
Конечная точка Ubuntu
Rsyslog – это утилита на Ubuntu 22.04 для получения событий системного журнала. В этом разделе описаны шаги для включения Rsyslog на конечной точке Ubuntu и настройки агента Wazuh для передачи данных системного журнала на сервер Wazuh.
1) Вставить следующий фрагмент кода внизу файла /etc/rsyslog.conf на конечной точке Ubuntu. Этот код позволяет UDP-порту 514 прослушивать системные журналы и добавляет место для хранения событий безопасности:
$ModLoad imudp
$UDPServerRun 514
#Storing Messages from a Remote System into a specific File
if $fromhost-ip startswith '<YOUR_MIKROTIK_IP_ADDRESS>' then /var/log/mikrotik.log
& ~
Заменить <YOUR_MIKROTIK_IP_ADDRESS> на IP-адрес устройства MikroTik.
2) Создать файл mikrotik.log в каталоге /var/log для хранения событий системного журнала:
# touch /var/log/mikrotik.log
3) Изменить право собственности файла /var/log/mikrotik.log на syslog и группу на adm:
# chown syslog:adm /var/log/mikrotik.log
4) Перезапустить утилиту rsyslog, чтобы изменения вступили в силу:
# systemctl restart rsyslog
5) Вставить код ниже в блок <ossec_config> файла конфигурации агента Wazuh /var/ossec/etc/ossec.conf:
<localfile>
<log_format>syslog</log_format>
<location>/var/log/mikrotik.log</location>
<out_format>RouterOS7.1-logs: $(log)</out_format>
</localfile>
6) Перезапустить агент Wazuh, чтобы применить изменения:
# systemctl restart wazuh-agent
Конфигурация MikroTik
В этом кейсе роутер MikroTik будет настроен для удаленной отправки сообщений системного журнала агенту Wazuh посредством порта 514. Необходимо реализовать следующую конфигурацию с помощью инструмента MikroTik Winbox в операционной системе Windows или WebUI, используя IP-адрес устройства MikroTik.
1) Войти в роутер с помощью утилиты Winbox или WebUI.
2) Щелкнуть на вкладку System > Logging > Actions и добавить новое правило, в котором возле Topics выбрано system, а рядом с Action – remote. Нажать Apply.

Создание правила для MikroTik
3) Перейти во вкладку System > Logging > Actions и создать новые или изменить существующие правила, в которых возле error, info, warning выбрано remote.

Правила MikroTik
4) Щелкнуть на вкладку System > Logging > Actions, чтобы отредактировать опцию remote. В поле Remote address вписать IP-адрес агента Wazuh, а в графу Remote port – порт прослушивания Rsyslog.

Редактирование remote
Необходимо убедиться, что Syslog BSD включен, и возле Syslog Facility выбрано daemon, а рядом с Syslog Severity – emergency.
5) Нажать Apply.
6) Щелкнуть System > Identity и убедиться, что в Identity стоит MikroTik.
7) Нажать Apply.
Сервер Wazuh
Необходимо создать кастомные декодеры и правила для извлечения необходимых полей из системного журнала MikroTik и генерирования оповещений на основе их релевантности.
Декодеры MikroTik
1) Создать кастомный файл декодера mikrotik_decoders.xml в каталоге /var/ossec/etc/decoders:
2) Добавить следующие кастомные декодеры для MikroTik в файл /var/ossec/etc/decoders/mikrotik_decoders.xml:
<decoder name="mikrotik">
<prematch>^RouterOS7.1-logs: </prematch>
</decoder>
<decoder name="mikrotik1">
<parent>mikrotik</parent>
<regex type="pcre2">\S+ (\w+ \d+ \d+:\d+:\d+) MikroTik user (\S+) (.*?) from (\d+.\d+.\d+.\d+) via (\w+)</regex>
<order>logtimestamp, logged_user, action, ip_address, protocol</order>
</decoder>
<decoder name="mikrotik1">
<parent>mikrotik</parent>
<regex type="pcre2">\S+ (\w+ \d+ \d+:\d+:\d+) MikroTik dhcp-client on (\S+) (.*?) address (\d+.\d+.\d+.\d+)</regex>
<order>logtimestamp, interface, action, ip_address</order>
</decoder>
<decoder name="mikrotik1">
<parent>mikrotik</parent>
<regex type="pcre2">\S+ (\w+ \d+ \d+:\d+:\d+) MikroTik router (\S+)</regex>
<order>logtimestamp, action</order>
</decoder>
3) Сохранить декодер и перезапустить менеджер Wazuh:
# systemctl restart wazuh-manager
Правила MikroTik
1) Создать кастомный файл правил mikrotik_rules.xml в каталоге /var/ossec/etc/rules/:
2) Добавить следующие кастомные правила для MikroTik в файл /var/ossec/etc/rules/mikrotik_rules.xml:
<group name="Mikrotik,">
<rule id="110000" level="0">
<decoded_as>mikrotik</decoded_as>
<description>Mikrotik-Event</description>
</rule>
<rule id="110001" level="5">
<if_sid>110000</if_sid>
<match>dhcp-client on ether</match>
<description>MikroTik dhcp-client received an IP address $(ip_address)</description>
</rule>
<rule id="110002" level="5">
<if_sid>110000</if_sid>
<match>rebooted</match>
<description>MikroTik router rebooted</description>
</rule>
<rule id="110003" level="5">
<if_sid>110000</if_sid>
<match>logged out from</match>
<description>MikroTik user logged out via $(protocol)</description>
</rule>
<rule id="110004" level="5">
<if_sid>110000</if_sid>
<match>logged in from</match>
<description>MikroTik user logged in from $(ip_address) via $(protocol)</description>
</rule>
</group>
Где срабатывают правила, когда Wazuh обнаруживает:
- ID 110000 – новое событие MikroTik.
- ID 110001 – получение IP-адреса устройством MikroTik с помощью протокола dhcp-client.
- ID 110002 – перезагрузку устройства MikroTik.
- ID 110003 – пользователь MikroTik вышел из системы.
- ID 110004 – пользователь MikroTik вошел в систему.
3) Сохранить правило и перезапустить менеджер Wazuh:
# systemctl restart wazuh-manager
Пример работы
Оповещения генерируются на дешборде Wazuh, когда определенные события соответствуют упомянутым выше правилам. Чтобы создать события, можно выполнить SSH-вход и перезагрузить роутер MikroTik.
1) Выполнить следующие команды из любой конечной точки в той же сети, что и роутер MikroTik:
$ ssh <MIKROTIK_USER>@<MIKROTIK_IP_ADDRESS>
> /system/reboot
Заменить:
<MIKROTIK_USER> на юзернейм аккаунта, который используется для администрирования на устройстве Mikrotik.
<MIKROTIK_IP_ADDRESS> на IP-адрес устройства MikroTik.
2) Перейти в Security events конечной точки Ubuntu на дешборде Wazuh. На изображении ниже показаны оповещения, сгенерированные на основе выполненных выше действий:

Оповещения на дешборде Wazuh

Детали оповещений MikroTik







