Короткий ответ

Управление RouterOS должно слушаться с 192.168.88.0/24 и с admin-VPN (wg0 10.10.10.0/24), не с ether1 203.0.113.10. Слои: выключить лишние /ip service (telnet, ftp, api, www), на winbox/ssh выставить address=, filter input drop с WAN на 8291/22/80/443, отдельный accept только для WG UDP. Подрядчику — учётка + VPN, не «дырка на час» без снятия.

Не делайте hardening, сидя единственным сеансом с WAN: отрежете себя. Сначала LAN или консоль, backup, Safe Mode. Подтверждайте Safe Mode только после проверки WinBox с LAN и с VPN.

Симптомы и как отличить

Шум в логах login failure с чужих IP. Shodan видит WinBox. Это не «нет интернета у клиентов» — транзит может работать при открытом admin.

Если из VPN не заходите после hardening — доступ только из LAN и WinBox.

Возможные причины

  1. Defconf ослабили: accept input с WAN.
  2. www включили «чтобы с телефона».
  3. address= пустой на winbox.
  4. Переброс 8291 на внутренний MikroTik на другом NAT.
  5. MAC-server на ether1 (ether1 в LAN list по ошибке).
  6. Слабый admin/admin.

Диагностика

/ip service print
/ip firewall filter print stats where chain=input
/user print
/tool mac-server mac-winbox print
/interface list member print

С телефона LTE (не Wi‑Fi офиса) проверьте TCP 8291 и 22 на публичный IP — должны не открываться. Если открываются — чините до сдачи сети.

Логи:

/log print where topics~"account"

Решение

Работайте с LAN. Safe Mode.

Сценарий A. Службы

/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set www-ssl disabled=yes
set api disabled=yes
set api-ssl disabled=yes
set winbox address=192.168.88.0/24,10.10.10.0/24 port=8291
set ssh address=192.168.88.0/24,10.10.10.0/24

Если нужен WebFig — только www-ssl с сертификатом и тем же address=, не http на WAN.

Сценарий B. Filter input

Каркас: established,related; drop invalid; accept ICMP по политике; accept in-interface-list=LAN; accept in-interface=wg0; accept UDP WG listen-port с WAN; drop остальное.

Не:

/ip firewall filter add chain=input action=accept in-interface=ether1

WG listen (пример порта):

/ip firewall filter
add chain=input action=accept protocol=udp dst-port=13231 in-interface-list=WAN comment=wg-only

Это не WinBox. Как поднять туннель — WireGuard.

Сценарий C. Пользователи

Смените пароль admin. Создайте именную учётку. allowed-address как дополнительный слой. Группы read/write. Не используйте группу full для подрядчика навсегда.

Сценарий D. Neighbor / MAC

/ip neighbor discovery-settings set discover-interface-list=LAN
/tool mac-server set allowed-interface-list=LAN
/tool mac-server mac-winbox set allowed-interface-list=LAN

ether1 не в LAN.

Как проверить, что проблема устранена

  1. WinBox с LAN и с WG — да.
  2. С LTE на 203.0.113.10:8291 / :22 / :80 — нет.
  3. Counters drop input с WAN на эти порты растут (сканеры).
  4. Клиентский интернет жив (forward не сломали).
  5. login failure с WAN больше не сменяются успешным login.

Повторите после reboot.

Если не помогло

  • Впереди ещё NAT провайдера с пробросом 8291 — закройте на CPE.
  • IPv6 management: /ipv6 firewall и www на v6. Закройте отдельно.
  • API для мониторинга: отдельный user read, api-ssl, address= сеть мониторинга, не 0.0.0.0/0.

Профилактика

  • Чеклист сдачи: WAN-admin закрыт.
  • Только именные учётки, без общего admin на весь отдел.
  • VPN обязателен для удалёнки.
  • Мониторинг login failure и успешных логинов account с неожиданных адресов.
  • Backup до hardening.
  • Сдача с LTE: TCP 8291/22/80/443 на 203.0.113.10 закрыты, WinBox с 192.168.88.1 и с wg0 живы.
  • IPv6 management закрывайте отдельно: hardening только /ip оставляет www/ssh на глобальном v6.

Послойная проверка, что WAN-admin действительно закрыт

Слои независимы: даже правильный filter не спасёт, если /ip service winbox address=0.0.0.0/0 и кто-то завтра поставит accept input с ether1. И наоборот: узкий address= спасёт при дырявом filter, пока не зайдут с подсети, которая внезапно стала «разрешённой» из‑за VPN без ACL.

Чеклист сдачи с LTE-телефона (Wi‑Fi офиса выключен):

  • TCP 8291, 22, 80, 443, 8728, 8729 на 203.0.113.10 — timeout/drop;
  • UDP 13231 — только если это ваш WG listen, не WinBox;
  • с LAN WinBox/SSH на 192.168.88.1 — успех;
  • с WG 10.10.10.2 — успех.
/ip service print
/ip firewall filter print stats where chain=input
/user print
/ip neighbor discovery-settings print

Смените пароль factory admin. Именные учётки, allowed-address как третий слой. Подрядчик: peer WG на неделю, затем /interface wireguard peers remove. Не dstnat 8291 «на час». IPv6: повторите закрытие на /ipv6 firewall и адресах v6, иначе hardening только на v4.

MAC-WinBox и discovery только LAN list, ether1 не член LAN. После reboot повторите LTE-проверку: часть правил без place-before оказывается ниже drop и «теряется» только после рестарта сессий.

FAQ

Сменить порт WinBox достаточно?

Снижает шум, не заменяет ACL. Документируйте порт, иначе сами не зайдёте.

SSH ключи с WAN?

Ключи не делают WAN-SSH хорошей идеей. Тот же VPN.

Можно ли оставить ping на WAN?

По политике ИБ. ICMP не WinBox, но даёт разведку. Часто режут или rate-limit. Не путайте с закрытием 8291.

RoMON безопасен?

L2. Не включайте на WAN-сегменте. Полезен в админском L2.

Подрядчик без VPN?

Временный WG peer с /32, потом удалить peer и ключ. Не dstnat 8291.

Что делать, если после hardening отрезали себя и нет человека в офисе?

Если остался WireGuard с LAN-маршрутом — зайдите в 10.10.10.1 и откатите последнее правило в Safe Mode (если не подтвердили) или верните accept LAN из backup. Если отрезали и VPN, и LAN list — нужен физический доступ: MAC-WinBox в порт LAN, консоль, не открытие 8291 на WAN «на минуту» с другой площадки через чужой NAT. Именно поэтому изменения input делают в Safe Mode и с заранее поднятым admin-VPN. Restore .backup с ноутбука в 192.168.88.0/24 быстрее, чем reset-configuration. После возврата доступа повторите LTE-проверку, что дырка на 203.0.113.10 не появилась в панике.