Брутфорсят мой Mikrotik. Что делать?
Доброй ночи, дорогие пикабутяне! Играюсь тут с домашней электроникой, решил подключить себе внешний IP и сразу столкнулся с тем, что мой роутер попал под брутфорс. Ну ладно, допустим. Не стал особо пугаться, так как пароль не 1234, но стало интересно, что же за адрес такой! И не поверил своим глазам: там тоже Mikrotik, и что интересно, безо всякой авторизации!
Вот такая она сетевая безопасность))





Реализуй по принципу как на линуксе Fail2Ban, напиши правило, которое добавляет авторизуемый адрес в динамический лист, если он 3 раза неправильно ввел пароль, бан на вечно.
Злоумышленник пытается подключиться по winbox и Mikrotik видит это соединение как пришедшее на 8291 порт и помечает как новое (new).
После этого Mikrotik добавляет ip-адрес злоумышленника в adress-list под названием winbox_stage_1 ровно на 1 минуту.
У злоумышленника не получилось попасть и он переподключается заново, Mikrotik смотрит есть ли его адрес в листе winbox_stage_1 - увидели, добавляем в winbox_stage_2 уже на 2 минуты
Если в течении двух минут он переподключился заново, то уже попадает в winbox_stage_3 на 5 минут.
Если в течении 5 минут адрес переподключился, то попадает в banlist_winbox навечно, где трафик начинает попадать в цепочку Drop - соответственно любые соединения с данного ip-адреса по 8291 порту доступны больше не будут.
Если на каком-то из этапов ничего не происходит, то по истечению времени адрес из адрес-листа удаляется автоматически.
/ip firewall filter
add action=drop chain=input dst-port=8291 protocol=tcp src-address-list=banlist_winbox
add action=add-src-to-address-list address-list=banlist_winbox address-list-timeout=none-static chain=input connection-state=new \
dst-port=8291 protocol=tcp src-address-list=winbox_stage_3
add action=add-src-to-address-list address-list=winbox_stage_3 address-list-timeout=5m chain=input connection-state=new dst-port=8291 \
protocol=tcp src-address-list=winbox_stage_2
add action=add-src-to-address-list address-list=winbox_stage_2 address-list-timeout=2m chain=input connection-state=new dst-port=8291 \
protocol=tcp src-address-list=winbox_stage_1
add action=add-src-to-address-list address-list=winbox_stage_1 address-list-timeout=1m chain=input connection-state=new dst-port=8291 \
protocol=tcp
Если сам себя случайно забанишь, дома можешь вытащить свой адрес. Остальных можешь там навечно оставлять.
По остальным портам ssh, api, telnet, http сам допилишь аналогичным образом. Реализация простейшая, можешь улучшать как хочешь.
Единственная проблема.....если у тебя плохое соединение и 3 раза подряд переподключишься, тоже улетишь в бан))