@NikZX
Начинающий сисадмин

Как настроить «Fail2ban» на Mikrotik?

Пытаюсь настроить условный fail2ban на Mikrotik CCR-1016, исходя из официальной документации
https://wiki.mikrotik.com/wiki/Bruteforce_login_pr... :

1) add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list \
address-list=ssh_stage1 address-list-timeout=1m comment="" disabled=no

(помечаем любые попытки залогиниться в список ssh_stage1 на 1 минуту)

2) add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_stage1 \
action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m comment="" disabled=no

(вторую попытку подключения c ip заносим со списка ssh_stage1 в список ssh_stage2 также на 1 минуту)


3) add chain=input protocol=tcp dst-port=22 connection-state=new \
src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_stage3 \
address-list-timeout=1m comment="" disabled=no

(третью попытку подключения также заносим из ssh_stage2 в ssh_stage3 и также на 1 минуту)


4) add chain=input protocol=tcp dst-port=22 connection-state=new \
src-address-list=ssh_stage3 action=add-src-to-address-list address-list=ssh_blacklist \
address-list-timeout=10d comment="" disabled=no

(четвертая и последующие попытки должны отправляться в банлист на 10 дней)


5) add chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop \
comment="drop ssh brute forcers" disabled=no

(собственно, бан всех, кто в ssh_blacklist)


Проблема заключается в том, что даже при санкционированном подключении по ssh у меня вырисовывается картина - честный ip попадает во все списки, в т.ч. и в бан-лист (да, у меня не стандартный порт 22) :

60e3fce1532eb883859185.png

Добавил даже пятое правило-костыль, аналог задержки, но толку ноль.

Думается, что тут надо как-то отслеживать факт цивильного подключения и пропускать дальнейшую обработку пакетов по адресным листам, но что прикажете делать, если даже копипаста с официальной документации не работает. Пробовал обновлять прошивку, не помогает.
  • Вопрос задан
  • 4263 просмотра
Решения вопроса 1
Mi11er
@Mi11er
A human...
Ну так сделайте еще один список. white list и просто добавьте в правила, если src adress не в белом листе, то идем по правилам.
Либо первое правило проверка на SSH и white list, дальше jump на остальные правила
add action=add-src-to-address-list address-list=blocked_honeypot address-list-timeout=1w1s chain=input connection-state=new in-interface=ether1 protocol=tcp src-address-list=!admin src-port=3389,22,8291
add action=drop chain=input src-address-list=blocked_honeypot
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
karabanov
@karabanov
Системный администратор
Комментировать
@hokum13
Некропост, понимаю, но!
Важен порядок добавления правил в фаерволл. Правила должны добавляться в обратном порядке, тогда всё работает.
Ну или после добавления должен быть поменян порядок правил на обратный.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы