Короткий ответ
Управление периметром не слушается на WAN 203.0.113.10. GUI (WinBox 8291, www 80/443, веб pfSense/OPNsense), SSH 22, API — только из mgmt 10.0.99.0/24 и admin-VPN. С улицы эти порты filtered/closed. Сначала поднимите рабочий VPN и консольный доступ (MAC/serial/KVM), сделайте backup, потом закройте WAN-admin. Не отключайте firewall «чтобы зайти».
Смена порта WinBox на 8292 без фильтра источника — не решение. Сканеры найдут.
Детальнее по всем админ-интерфейсам хостов — закрыть административные интерфейсы. Здесь — сам firewall.
Симптомы и как отличить
С LTE nmap своего белого: open 8291, 22, 80, 443 с редиректом на /login или WinBox handshake. В логах RouterOS login failure с адресов не из 10.0.99.0/24. Веб Ubuntu-шлюза nginx на 443 отдаёт luci/cockpit/панель.
| Порт | Это админка | Это не админка |
|---|---|---|
| 8291 | WinBox | — |
| 22 на WAN шлюза | sshd/RouterOS ssh | Git на другом VIP |
443 /login firewall | GUI | сайт в DMZ 10.0.30.10 |
| 443 VPN-портал | отдельный сервис | не WinBox, но тоже не Any |
Отличие от проброса RDP: здесь слушает сам edge, не DNAT в LAN.
Возможные причины
- Default RouterOS: сервисы на всех IP.
- Мастер pfSense включил web on WAN «для первоначальной настройки».
- sshd
Listen 0.0.0.0на Ubuntu-шлюзе, input accept tcp 22 с WAN. - Подрядчик попросил «открыть WinBox на час».
- Hairpin/NAT: думаете, что GUI только LAN, а WAN IP тоже bind.
- IPv6 AAAA открыт.
Диагностика
С внешнего своего сканера (LTE), только свой IP:
nmap -Pn -p 22,80,443,8291,8728,8729,161 203.0.113.10На самом устройстве, из LAN 10.0.10.0/24 или уже из mgmt:
sudo ss -lntup | awk 'NR==1 || /:22|:80|:443|:8291|:8728/'
sudo nft list ruleset
ip -4 addr/ip service print
/ip firewall filter print where chain=input
/ip ssh print
/user printПроверьте, с каких адресов идут попытки входа (/log print where topics~"system,error,critical" или auth.log). Публичные /8../24 не из вашей ASN — шум интернета, не «свои».
Концептуально GUI периметра: Anti-lockout не должен оставлять WAN web навсегда. Смотрите listen на WAN interface, не только LAN.
Решение
Сценарий A. RouterOS 7
Путь доступа: Ethernet LAN или 10.0.99.0/24, backup:
/system backup save name=before-wan-admin
/export file=before-wan-admin
/ip service set telnet disabled=yes
/ip service set ftp disabled=yes
/ip service set www disabled=yes
/ip service set api disabled=yes
/ip service set api-ssl disabled=yes
/ip service set winbox address=10.0.99.0/24,10.0.10.0/24
/ip service set ssh address=10.0.99.0/24
/ip service set www-ssl disabled=yesFilter input (выше drop WAN):
/ip firewall filter add chain=input connection-state=established,related action=accept place-before=0
/ip firewall filter add chain=input in-interface-list=WAN protocol=udp dst-port=51820 action=accept comment="admin-WG"
/ip firewall filter add chain=input in-interface-list=WAN action=drop comment="no WAN admin"Не публикуйте 8291 «только для своего домашнего IP» — CPE меняет адрес. VPN.
Подрядчику — учётка + VPN, не дырка. После работ ограничьте brute.
Сценарий B. Ubuntu nftables-шлюз
sshd только mgmt:
# /etc/ssh/sshd_config.d/99-mgmt.conf
# ListenAddress 10.0.99.1
# PasswordAuthentication no
sudo sshd -t
sudo systemctl reload sshnft input:
sudo cp /etc/nftables.conf /root/nftables.conf.bak.admin
# iifname wan tcp dport { 22, 80, 443 } drop
# iifname mgmt tcp dport 22 ip saddr 10.0.99.0/24 accept
sudo nft -c -f /etc/nftables.conf
sudo systemctl reload nftablesЕсли 443 на WAN нужен для сайта — сайт должен жить в DMZ на 10.0.30.10, не панель шлюза. Разведите VIP.
Cockpit/Webmin: выключите или bind 10.0.99.1.
Сценарий C. Веб-GUI stateful периметра
Концепция: WebConfigurator / HTTPS admin — listen только LAN/mgmt. WAN anti-lockout снимите после проверки доступа с 10.0.99.10 и с VPN. Не оставляйте «allow from any» на 443 admin. Отдельный порт GUI не равен закрытию WAN.
Сценарий D. VPN ещё нет
Не закрывайте WAN-admin в ту же минуту. Поднимите WireGuard/IPsec на UDP из матрицы, проверьте вход на 10.0.99.1:22 через туннель, оставьте консоль. Затем drop WAN 22/8291. План отката: enable сервиса + allow на 10 минут с таймером.
Включите лог input drop на 22/8291 с WAN — увидите, что шум не исчез, просто не доходит до login.
Как проверить, что проблема устранена
- LTE:
nmap -Pn -p 22,80,443,8291 203.0.113.10— 22/8291/admin-http не open. 443 open только если это сайт/VPN, не GUI логина firewall. - С
10.0.99.10: WinBox/SSH/GUI работают. - С admin-VPN: то же.
- С LAN пользователя
10.0.10.50без необходимости — лучше не пускать на WinBox; если ещё пускаете, запланируйте сужение только mgmt. - Новые
login failureс публичных IP прекращаются (старые логи не в счёт).
Test-NetConnection 203.0.113.10 -Port 8291
Test-NetConnection 203.0.113.10 -Port 22Оба fail с улицы. После VPN — success на внутренний IP шлюза, не на WAN.
Если не помогло
- IPv6 слушает
:22— повторите. www-sslоставили enabled.- API 8728/8729.
- Облачный security group any:22 параллельно «домашнему» nft.
- Пользователи путают 443 сайта и 443 GUI — разные DN, разные listen.
- Скан из офисного Wi‑Fi показывает open — это не улица.
Профилактика
- Стандарт установки: сразу address= mgmt, WAN drop input.
- MFA на VPN админов.
- Отдельные учётки, не
admin/toorс WAN. - Квартальный скан периметра.
- Алерт: SYN на 8291/22 WAN.
- Запрет «открой WinBox, я в такси» без VPN.
FAQ
Можно ли whitelist своего домашнего IP?
Пока не сменится DHCP. VPN дешевле по заявкам.
Нужен ли www-ssl для обновления RouterOS?
Нет. WinBox/SSH/пакеты через 10.0.99.0/24.
443 на WAN обязателен для ACME?
ACME к reverse proxy в DMZ, не к GUI firewall. Если challenge на edge — отдельный путь, не админ-логин.
Safe Mode на MikroTik
Держите, пока не подтвердили вход с LAN и VPN. Не подтверждайте, сидя только с WAN.
SNMP 161 с улицы
Тоже админ-плоскость. Закройте. Read-only community public на WAN — отдельный инцидент.