Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

Защита MikroTik от брутфорса WinBox и SSH через Firewall

Обновлено: 16.09.2026  ·  Официальная база знаний

Симптомы атак методом перебора паролей (Brute-Force) на RouterOS

При наличии белого IP-адреса и открытых стандартных сервисных портов логи маршрутизатора непрерывно заполняются красными сообщениями об ошибках авторизации, возрастает потребление CPU сервисом management, а системный журнал забит записями:

system,error,critical: login failure for user admin from 185.220.101.5 via winbox
system,error,critical: login failure for user root from 45.142.214.8 via ssh
СервисПорт по умолчаниюХарактер атаки
WinBox8291 TCPБинарный протокол подбора паролей автоматическими сканерами
SSH22 TCPСловарный перебор логинов (root, admin, user, test)
API / WebFig8728 / 80 TCPПарсинг уязвимостей и инъекция через веб-скрипты

Конфигурация ступенчатой блокировки (Staged Address Lists)

Механизм реализует логику Fail2ban: при первой неудачной попытке IP попадает в список 1-й стадии, при повторной в течение короткого времени — во 2-ю стадию, при третьей — в черный список с блокировкой на 24 часа или навсегда.

  1. Создание ступенчатых правил фильтрации для WinBox (порт 8291):
    /ip firewall filter
    # 1. Дроп пакетов от хостов из черного списка
    add chain=input protocol=tcp dst-port=8291 src-address-list=winbox_blacklist action=drop comment="Drop Winbox Brute Forcers"
    
    # 2. Третья попытка - помещение в черный список на 1 сутки
    add chain=input protocol=tcp dst-port=8291 connection-state=new src-address-list=winbox_stage2 action=add-src-to-address-list address-list=winbox_blacklist address-list-timeout=1d comment="Winbox Stage 3 -> Blacklist 1d"
    
    # 3. Вторая попытка - помещение в stage2 на 1 минуту
    add chain=input protocol=tcp dst-port=8291 connection-state=new src-address-list=winbox_stage1 action=add-src-to-address-list address-list=winbox_stage2 address-list-timeout=1m comment="Winbox Stage 2"
    
    # 4. Первая попытка - фиксация нового подключения в stage1 на 1 минуту
    add chain=input protocol=tcp dst-port=8291 connection-state=new action=add-src-to-address-list address-list=winbox_stage1 address-list-timeout=1m comment="Winbox Stage 1"
  2. Аналогичная защита для порта SSH (порт 22):
    /ip firewall filter
    add chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop comment="Drop SSH Brute"
    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_blacklist address-list-timeout=7d
    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
    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
  3. Базовые меры по ужесточению безопасности (Hardening):
    • Перенос стандартных портов на нестандартные (например, WinBox на порт 28291):
      /ip service set winbox port=28291
      /ip service set ssh port=2222
    • Ограничение списка разрешенных адресов для управления (Available From):
      /ip service set winbox address=192.168.88.0/24,10.10.0.0/16
    • Отключение неиспользуемых сервисов:
      /ip service disable telnet,ftp,www,api,api-ssl

Важное предупреждение: Помещайте правила с действием action=drop в самый верх цепочки input (выше правил разрешающих общий трафик Established/Related), иначе злоумышленники продолжат генерировать нагрузку на сокеты ОС.

Практический опыт инженера: Практика ITSTM: Никогда не оставляйте стандартного пользователя с именем 'admin', даже со сложным паролем. Создайте новую учетную запись в группе full с уникальным логином, после чего учетную запись admin полностью удалите.

Частые вопросы (FAQ)

Почему скрипт блокирует меня самого, если я один раз ошибся паролем?

В правилах используется флаг connection-state=new. Сам факт создания TCP-сессии считается попыткой. Увеличьте интервал стадий или добавьте свой рабочий IP-адрес в белый список (Whitelist) самым первым правилом: action=accept src-address-list=Management-Allow.

Чем drop отличается от reject в правиле блокировки?

Drop молча отбрасывает пакет, вынуждая сканер ждать таймаута TCP, что замедляет атаку и не тратит ресурсы CPU MikroTik на отправку ответных ICMP-пакетов 'Port Unreachable' (как это делает reject).

Как очистить черный список вручную, если заблокировался нужный IP?

Перейдите в IP -> Firewall -> вкладка Address Lists, найдите свой IP в фильтре и нажмите синий крестик (Удалить).

Спасет ли Port Knocking вместо списков ступенчатой фильтрации?

Port Knocking дает 100% защиту от сканеров, полностью скрывая сервисный порт до ввода 'секретного стука' по портам. Однако ступенчатый фильтр удобнее, если к роутеру регулярно подключаются с разных динамических адресов без спецклиентов.