Безопасность MikroTik firewall: полный хардeнинг офисного роутера
Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. За 15+ лет я видел несколько громких уязвимостей в RouterOS: Chimay-Red 2018 года, CVE-2018-14847 с утечкой пароля Winbox, и ряд менее известных эксплойтов через SMB. В каждом случае страдали не те, кто использовал MikroTik, а те, кто забивал на обновления и хардeнинг. Сам по себе MikroTik — один из самых защищённых роутеров для офиса, если настроен правильно. Этот гайд — про то, как сделать его крепким орешком.
Шаг 1: обновление RouterOS до текущей stable
На новом устройстве всегда смотрите, какая версия стоит. У нас на практике приходят роутеры с 6.47 двухлетней давности — это прямая дыра. Перед настройкой:
/system package update check-for-updates channel=stable
/system package update install
# После перезагрузки — обновляем загрузчик
/system routerboard upgrade
# Перезагрузка
/system reboot
Обновления на long-term должны идти раз в квартал минимум. Я всегда ставлю клиентам Netwatch, который проверяет новые версии и высылает email при выходе.
Шаг 2: минимизация открытых сервисов
# Показать, что работает
/ip service print
# Отключаем лишнее
/ip service disable telnet,ftp,api,api-ssl,www
# SSH и Winbox ограничиваем source-address
/ip service set ssh port=2222 address=192.168.10.0/24,10.100.0.0/24
/ip service set winbox port=54321 address=192.168.10.0/24,10.100.0.0/24
/ip service set www-ssl port=443 address=192.168.10.0/24
/ip service enable www-ssl
/ip service disable www
# Отключаем MAC-доступ на внешних интерфейсах
/tool mac-server set allowed-interface-list=LAN
/tool mac-server mac-winbox set allowed-interface-list=LAN
/tool mac-server ping set enabled=no
# Отключаем Neighbor Discovery на WAN
/ip neighbor discovery-settings set discover-interface-list=LAN
Шаг 3: сильные пароли и отдельные пользователи
# Удаляем дефолтный admin без пароля
/user set admin disabled=yes
# Создаём нового админа с сильным паролем
/user add name=itfresh password="Complex!Pass&2026#9841" group=full \
address=192.168.10.0/24,10.100.0.0/24 \
comment="Главный админ, доступ только из офиса и VPN"
# Для мониторинга создаём read-only
/user add name=monitoring password="ReadOnlyPass!2026" group=read \
address=192.168.10.5
# Включаем требование сильных паролей
/user settings set minimum-password-length=12 \
minimum-categories=3
Шаг 4: ключи SSH вместо паролей
# На рабочей станции
ssh-keygen -t ed25519 -f ~/.ssh/mikrotik_office
# Загружаем на MikroTik (FTP отключён, поэтому scp или drag-n-drop в Winbox)
scp -P 2222 ~/.ssh/mikrotik_office.pub itfresh@192.168.10.1:/
# Привязываем ключ
/user ssh-keys import public-key-file=mikrotik_office.pub user=itfresh
# Отключаем парольный вход
/ip ssh set allow-none-crypto=no strong-crypto=yes
Шаг 5: firewall с хардeнингом
/ip firewall filter
# 1. Дропаем инвалид
add chain=input connection-state=invalid action=drop
# 2. Разрешаем установленные
add chain=input connection-state=established,related action=accept
# 3. Разрешаем ICMP с ratelimit
add chain=input protocol=icmp limit=50,10:packet action=accept
# 4. Разрешаем из LAN
add chain=input in-interface-list=LAN action=accept
# 5. Разрешаем из VPN (IPsec)
add chain=input ipsec-policy=in,ipsec action=accept
# 6. Whitelist управления (для непредсказуемой роуминговой работы)
add chain=input src-address-list=mgmt-whitelist action=accept
# 7. Бан за брут
add chain=input src-address-list=ssh-banned action=drop
add chain=input src-address-list=winbox-banned action=drop
# 8. Финал
add chain=input action=drop log=yes log-prefix="INPUT-DROP"
Шаг 6: двухфакторная защита Winbox через port knocking
Port knocking — это механика, при которой сначала нужно «постучаться» по нескольким портам в правильном порядке, только потом открывается основной сервис. Подходит тем, кто работает с разных IP.
/ip firewall filter
# Стадия 1: стук в 7001
add chain=input protocol=tcp dst-port=7001 \
action=add-src-to-address-list address-list=knock1 \
address-list-timeout=10s
# Стадия 2: стук в 7002, если уже в knock1
add chain=input protocol=tcp dst-port=7002 src-address-list=knock1 \
action=add-src-to-address-list address-list=knock2 \
address-list-timeout=10s
# Финал: разрешение Winbox если в knock2
add chain=input protocol=tcp dst-port=54321 src-address-list=knock2 \
action=accept
# Иначе — drop
add chain=input protocol=tcp dst-port=54321 action=drop
Клиент подключается через knock-script.sh IP 7001 7002, потом запускает Winbox.
Шаг 7: IPsec VPN для управления
У нас на практике я всегда предпочитаю IPsec IKEv2 или WireGuard для удалённого административного доступа. Пользователь включает VPN-клиент и получает IP 10.100.0.x, оттуда разрешены management-порты.
# Базовый IKEv2 c сертификатом
/ip ipsec profile
add name=ike2-admin dh-group=modp2048 enc-algorithm=aes-256-cbc \
hash-algorithm=sha256
/ip ipsec proposal
add name=ike2-admin-proposal auth-algorithms=sha256 \
enc-algorithms=aes-256-cbc pfs-group=modp2048
/ip pool add name=vpn-admins ranges=10.100.0.10-10.100.0.50
/ip ipsec mode-config
add name=admin-config address-pool=vpn-admins address-prefix-length=32 \
system-dns=no static-dns=192.168.10.1 split-include=192.168.10.0/24
/ip ipsec policy group add name=admin-policies
/ip ipsec policy
add group=admin-policies src-address=10.100.0.0/24 \
dst-address=192.168.10.0/24 template=yes
/ip ipsec peer
add name=admin-peer exchange-mode=ike2 profile=ike2-admin \
passive=yes send-initial-contact=no
/ip ipsec identity
add peer=admin-peer auth-method=digital-signature certificate=admin-ca \
mode-config=admin-config policy-template-group=admin-policies \
generate-policy=port-strict
Кейс: защита сети после попытки взлома через CVE
В ноябре 2025 к нам обратились после инцидента: у клиента — небольшая логистическая компания в Москве — на MikroTik RB3011 стояла RouterOS 6.48.3 с открытым портом 8291 наружу. В логах была попытка эксплуатации известной уязвимости — атакующий не вошёл, но сканеры оставили 40 000 записей за три дня. После обращения мы провели полный хардeнинг за 4 часа:
- Обновили RouterOS до 7.14.3 stable.
- Закрыли все management-сервисы наружу, оставили только IKEv2 IPsec.
- Перенесли Winbox на порт 54321, SSH на 2222.
- Настроили каскадный бан и port knocking.
- Добавили логирование в Graylog с алертами на попытку доступа к mgmt-портам.
- Включили fail2ban-логику через scheduler.
За следующие 3 месяца — 230 000 попыток подключения по разным портам, все заблокированы. Ни одного входа. Стоимость работ — 38 000 руб, плюс 8 000 руб/мес на сопровождение и аудит логов.
Регулярные проверки
- Раз в неделю — просмотр
/log print where topics~"login"на успешные входы. - Раз в месяц — проверка активных пользователей, ключей SSH, address-list.
- Раз в квартал — обновление RouterOS и firmware.
- Раз в полгода — смена пароля IPsec PSK, ротация сертификатов.
- Раз в год — полный аудит конфигурации со сравнением с эталонным шаблоном.
Полный хардeнинг MikroTik под ключ
Провожу аудит безопасности MikroTik и настраиваю его под корпоративные стандарты: закрытие сервисов, IPsec/WireGuard для управления, каскадная защита от брута, мониторинг логов. Документация и план восстановления после инцидента входят в комплект.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — безопасность MikroTik
- Какие сервисы отключить в первую очередь?
- FTP, Telnet, SMB, API, Bandwidth-test, Neighbor Discovery на WAN.
- Стоит ли менять порт Winbox?
- Да, перенос на нестандартный порт снижает поток ботнетов на 99%.
- Как защититься от CVE?
- Регулярные обновления + ограничение управления через VPN.
- Нужен ли IPsec для удалённого администрирования?
- Обязательно. Управление из интернета без VPN — риск.
- Как узнать о попытке взлома?
- Remote syslog, Netwatch-алерты, мониторинг address-list ssh-banned.