Что может?

  • Блокировка попыток подбора паролей (bruteforce) к сервисам Mikrotik: PPTP, L2TP, WINBOX, SSH, TELNET, FTP и т.д.;
  • Блокировка осуществляется добавлением IP или подсети злоумышленника в заданный /ip/firewall/address-list используя API RouterOS;
  • Детектирование попыток подбора паролей с разных IP адресов по /24, /16 подсетям;
  • Около нулевая нагрузка процессор маршрутизатора. Минимальные ресурсы для работы сервиса;

Сценарий использования

Сервис прослушивает события одного или нескольких (независимо) маршрутизаторов, детектирует попытки подбора и блокирует IP адрес или его подсеть если подбор ведется с нескольких IP адресов. Сервис должен работать в защищенном периметре сети.

Конфигурация

Сервис

Конфигурация сервиса находится в файле 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

Что нового?

1.0.10
Улучшена стабильность
1.0.7
Стартовый релиз

Загрузки

2,68 Мб , 05.05.2024 (5 загрузок)
1,18 Мб , 05.05.2024 (4 загрузок)
1,15 Мб , 05.05.2024 (1 загрузок)
1,16 Мб , 05.05.2024 (1 загрузок)