Сервис FAIL2BAN для Mikrotik (RouterOS)
Что может?
-
Блокировка попыток подбора паролей (bruteforce) к сервисам Mikrotik:
PPTP
,L2TP
,WINBOX
,SSH
,TELNET
,FTP
и т.д.; -
Блокировка осуществляется добавлением IP или подсети злоумышленника в заданный
/ip/firewall/address-list
используя API RouterOS; -
Детектирование попыток подбора паролей с разных IP адресов по
/24
,/16
подсетям; - Около нулевая нагрузка процессор маршрутизатора. Минимальные ресурсы для работы сервиса;
Конфигурация
Сервис
Конфигурация сервиса находится в файле config.xml
рядом с исполняемым файлом сервиса.
Структура конфигурации:
<?xml version="1.0" encoding="utf-8" ?>
<taa>
<miklogin>fail2ban</miklogin>
<mikpassword>fail2ban</mikpassword>
<miklist>fail2ban</miklist>
<miklistimeout>01:00:00</miklistimeout>
<failcount32>3</failcount32>
<failtimeout32>300</failtimeout32>
<failcount24>3</failcount24>
<failtimeout24>300</failtimeout24>
<failcount16>3</failcount16>
<failtimeout16>300</failtimeout16>
</taa>
task
- задача.miklogin
- логин API для доступа к маршрутизатору;mikpassword
- пароль API для доступа к маршрутизатору;miklist
- наименование листа в который добавляются адреса злоумышленников.miklistimeout
- таймаут записи. Если пустое значение - запись бессрочная.failcount32/24/16
- количество неудачных попыток для блокировкиfailtimeout32/24/16
- таймаут в секундах учета неудачных попыток
В примерной конфигурации блокировка адреса или подсети злоумышленника произойдет после 3х неудачных попыток в течении 5 минут (300 секунд).
Маршрутизатор (RouterOS)
Внимание! В виду гибкости настроек RouterOS, в данном разделе описывается концепция минимальной настройки. Крайне рекомендуется предварительно настроить белый список доступа, чтобы не потерять доступа к управлению маршрутизаторами. Рекомендуется добавить в этот список и IP адрес расположения сервиса.
Для работы сервиса необходим доступ к API:
/user/group/add name=fail2ban_api policy=api,write
/user/add name=fail2ban password=strong_password group=fail2ban_api
address=10.100.0.2
ограничивающий доступ этого пользователя указанным IP адресом.
Настройка передачи событий сервису - 10.100.0.2
:
/system logging action
add name=fail2ban remote=10.100.0.2 target=remote
/system logging
add action=fail2ban topics=pptp
add action=fail2ban topics=l2tp
add action=fail2ban topics=system,error
pptp
, l2tp
и встроенными сервисами управления (ssh
, winbox
и т.д.).
Настройка правила блокировки:
/ip/firewall/filter/add chain=input src-address-list=fail2ban in-interface-list=WAN
Установка
Перед ручной установкой необходимо убедиться в наличии пакета .NET 7.
Установка сервиса в среде Linux (Debian 11+):
wget -O - https://bash-it.ru/debian/taa.mikrotik.fail2ban/install.sh | bash
chmod +x ./taa.mikrotik.fail2ban
./taa.mikrotik.fail2ban /install
service taa.mikrotik.fail2ban start
Установка сервиса в среде Windows:
taa.mikrotik.fail2ban.exe /install
net start taa.mikrotik.fail2ban