
📋 Оглавление
1. Введение: почему MikroTik — популярная цель и как оценить своё положение
2. Актуальные уязвимости 2023–2026: CVE-каталог и риски
3. Шаг 1 — Обновление RouterOS: главное действие защиты
4. Шаг 2 — Пароли и учётные записи: избавиться от дефолтов
5. Шаг 3 — Отключение ненужных сервисов: сократить поверхность атаки
6. Шаг 4 — Настройка Firewall: защита от внешних сканирований
7. Шаг 5 — SSH с ключами: отказаться от парольной аутентификации
8. Шаг 6 — Winbox: ограничить или заменить
9. Шаг 7 — IPv6 и router advertisements: закрыть вектор RCE
10. Шаг 8 — WebFig и HTTP: принудительный HTTPS и ограничение доступа
11. Шаг 9 — Логирование и мониторинг: знать что происходит
12. Как проверить, не взломан ли ваш MikroTik: признаки и диагностика
13. Что делать если MikroTik уже взломан: пошаговое восстановление
14. FAQ: 12 горячих вопросов о безопасности MikroTik
15. Чек-лист: харденинг MikroTik за один сеанс
16. Заключение и теги
1. Введение: почему MikroTik — популярная цель и как оценить своё положение
MikroTik — латвийский производитель, чьи устройства под управлением RouterOS работают от домашних роутеров до ISP-уровня. Это именно то, что делает их привлекательной целью: одна известная уязвимость открывает доступ к сотням тысяч устройств по всему миру.
Масштаб проблемы реален. Поиск на Shodan показал, что по состоянию на июль 2023 года в интернете было зарегистрировано от 500 тысяч до 900 тысяч роутеров MikroTik, всё ещё уязвимых к CVE-2023-30799 через интерфейсы Web или Winbox. Почти 60% роутеров MikroTik до сих пор используют пустой пароль администратора по умолчанию — такой он в сборках ниже RouterOS 6.49.
Три причины, по которым MikroTik взламывают чаще других:
Дефолтные настройки. В заводской конфигурации открыто несколько портов управления и нет принудительного пароля. Достаточно купить устройство, подключить к интернету — и оно уже сканируется ботнетами.
Медленное обновление пользователями. RouterOS обновляется регулярно, но пользователи часто не следят за выходом патчей и годами работают на уязвимых версиях.
Широкий функционал = большая поверхность атаки. Winbox, WebFig, SSH, Telnet, API, FTP — каждый открытый сервис это потенциальный вектор.
| Что проверить прямо сейчас | Где смотреть |
|---|---|
| Текущая версия RouterOS | System → Packages |
| Открытые порты наружу | IP → Services |
| Пустой пароль admin | System → Users |
| Признаки взлома в имени | System → Identity (не должно быть «Hacked») |
> *💡 Статья написана для владельцев и администраторов MikroTik-устройств. Все команды применяются к собственному оборудованию.*
2. Актуальные уязвимости 2023–2026: CVE-каталог и риски
Понимание актуальных уязвимостей помогает расставить приоритеты при харденинге.
CVE-2023-30799 — повышение привилегий до root (CVSS 9.1)
Уязвимость CVE-2023-30799 с оценкой 9.1 балла по CVSS вызвана возможностью повышения привилегий с уровня простого администратора до root-шелла через Winbox или веб-интерфейс.
text
Затронутые версии:
Stable: до 6.49.8
Long-Term: до 6.48.6
Исправлено:
Stable: 6.49.8+
Long-Term: 6.48.7+
RouterOS 7.x: любая актуальная
Вектор: Winbox (порт 8291) или Web (порт 80/443)
Требование: наличие учётных данных пользователя
(но получить их — относительно просто)
CVE-2023-32154 — RCE без аутентификации через IPv6 RA
Уязвимость CVE-2023-32154 позволяет злоумышленникам в соседней сети выполнять произвольный код. Аутентификация не требуется. Затрагивает RouterOS v6.xx и v7.xx с включённой функцией приёмника IPv6-объявлений.
text
Исправлено: RouterOS 7.9.1, 6.49.8, 6.48.7
Митигация: отключить accept-router-advertisements
/ipv6/settings/set accept-router-advertisements=no
CVE-2025-61481 — HTTP по умолчанию в WebFig
MikroTik RouterOS через версию 7.14.2 и SwOS через версию 2.18 инициализируют интерфейс управления WebFig с HTTP по умолчанию и без автоматического перенаправления на HTTPS. После сброса настроек страница входа и JavaScript загружаются полностью по HTTP, учётные данные передаются открытым текстом через порт 80.
text
Затронутые: RouterOS ≤ 7.14.2, SwOS ≤ 2.18
Вектор: MITM на локальной сети
Митигация: отключить HTTP, использовать только HTTPS,
ограничить доступ к WebFig по IP
Признаки взлома и атаки ботнетов
Обычно после взлома роутер продолжает работать как раньше, но вы не можете войти в настройки со своим логином и паролем. В Winbox в поле Identity у устройства появляется надпись «Hacked» или «Test». Некоторые ботнеты не изменяют логин и пароль, а только добавляют дополнительные настройки или скрипты.
3. Шаг 1 — Обновление RouterOS: главное действие защиты
Большинство известных уязвимостей закрыто в актуальных версиях RouterOS. Обновление — самый важный и быстрый шаг.
Проверить текущую версию
text
<h2 id="winbox-system-packages">Winbox: System → Packages</h2>
<h2 id="konsol">Консоль:</h2>
/system package print
/system routerboard print
<h2 id="vyvod-pokazhet">Вывод покажет:</h2>
<h2 id="installed-version-7-13-5">installed-version: 7.13.5</h2>
<h2 id="upgrade-firmware-7-14-2">upgrade-firmware: 7.14.2</h2>Обновить RouterOS через Winbox
system
→ Packages → Check for Updates
→ Channel: stable (рекомендуется) или long-term
→ Download & Install
→ Устройство перезагрузится
Обновить через консоль
bash
<h2 id="proverit-dostupnye-obnovleniya">Проверить доступные обновления:</h2>
/system package update check-for-updates
<h2 id="skachat-i-ustanovit">Скачать и установить:</h2>
/system package update download
/system package update install
<h2 id="ustroystvo-perezagruzitsya-avtomaticheski">Устройство перезагрузится автоматически</h2>
<h2 id="obnovit-proshivku-routerboard-otdelnyy-shag">Обновить прошивку RouterBOARD (отдельный шаг):</h2>
/system routerboard upgrade
/system reboot
Настроить автоматическую проверку обновлений
bash
<h2 id="avtomaticheskaya-proverka-no-ne-ustanovka-ostavit-na-usmotrenie-administratora">Автоматическая проверка (но не установка — оставить на усмотрение администратора):</h2>
/system package update set channel=stable
Какой канал выбрать
stable
— рекомендуется для продакшна: проверенные релизы
long-term — для консервативных сред: реже обновляется,
дольше поддерживается
testing — бета-версии, не для продакшна
> ⚠️ Перед обновлением обязательно сделать резервную копию конфигурации: `Files → Backup` или `/system backup save name=before-update`.
4. Шаг 2 — Пароли и учётные записи: избавиться от дефолтов
Сменить пароль пользователя admin
bash
<h2 id="konsol-smenit-parol-tekuschego-polzovatelya">Консоль — сменить пароль текущего пользователя:</h2>
/user set [find name=admin] password="StrongPassword123!"
<h2 id="ili-interaktivno">Или интерактивно:</h2>
/password
<h2 id="vvedyot-zapros-old-password-i-new-password">Введёт запрос old-password и new-password</h2>Переименовать пользователя admin
Именно `admin` — первое, что проверяют сканеры и ботнеты. Переименование снижает риск брутфорса.
bash
<h2 id="sozdat-novogo-polzovatelya-s-drugim-imenem">Создать нового пользователя с другим именем:</h2>
/user add name=netadmin group=full password="VeryStrongPassword!"
<h2 id="voyti-pod-novym-polzovatelem-i-udalit-admin">Войти под новым пользователем и удалить admin:</h2>
/user remove [find name=admin]
Удалить или заблокировать лишних пользователей
bash
<h2 id="prosmotr-vseh-polzovateley">Просмотр всех пользователей:</h2>
/user print
<h2 id="otklyuchit-polzovatelya-ne-udalyat-esli-nuzhen-dlya-vosstanovleniya">Отключить пользователя (не удалять, если нужен для восстановления):</h2>
/user set [find name=<username>] disabled=yes
<h2 id="udalit">Удалить:</h2>
/user remove [find name=<username>]
Ограничить пользователей по IP
bash
<h2 id="razreshit-vhod-tolko-s-konkretnogo-ip">Разрешить вход только с конкретного IP:</h2>
/user set [find name=netadmin] allowed-address=192.168.1.10/32
<h2 id="teper-etot-polzovatel-mozhet-voyti-tolko-s-192-168-1-10">Теперь этот пользователь может войти только с 192.168.1.10</h2>Настроить безопасный профиль пароля
bash
<h2 id="sozdat-politiku-paroley">Создать политику паролей:</h2>
/user settings set minimum-password-length=12
5. Шаг 3 — Отключение ненужных сервисов: сократить поверхность атаки
Каждый открытый сервис — потенциальный вектор атаки. Рекомендации VulnCheck: отключить интерфейсы Winbox и Web, ограничить IP-адреса, с которых могут входить администраторы, отключить парольный доступ и настроить SSH для использования публичных/приватных ключей.
Просмотр и настройка сервисов
bash
<h2 id="posmotret-vse-aktivnye-servisy">Посмотреть все активные сервисы:</h2>
/ip service print
<h2 id="tipichnyy-vyvod">Типичный вывод:</h2>
<h2 id="name-port-available-from-certificate">NAME PORT AVAILABLE-FROM CERTIFICATE</h2>
<h2 id="telnet-23">telnet 23 ...</h2>
<h2 id="ftp-21">ftp 21 ...</h2>
<h2 id="www-80">www 80 ...</h2>
<h2 id="ssh-22">ssh 22 ...</h2>
<h2 id="www-ssl-443">www-ssl 443 ...</h2>
<h2 id="api-8728">api 8728 ...</h2>
<h2 id="winbox-8291">winbox 8291 ...</h2>
<h2 id="api-ssl-8729">api-ssl 8729 ...</h2>Отключить небезопасные и ненужные сервисы
bash
<h2 id="otklyuchit-telnet-polnostyu-nebezopasen-peredayot-vsyo-otkrytym-tekstom">Отключить Telnet (полностью небезопасен, передаёт всё открытым текстом):</h2>
/ip service set telnet disabled=yes
<h2 id="otklyuchit-ftp-esli-ne-ispolzuetsya">Отключить FTP (если не используется):</h2>
/ip service set ftp disabled=yes
<h2 id="otklyuchit-http-webfig-ostavit-tolko-https">Отключить HTTP WebFig (оставить только HTTPS):</h2>
/ip service set www disabled=yes
<h2 id="otklyuchit-api-esli-ne-ispolzuetsya-vneshnimi-sistemami-monitoringa">Отключить API (если не используется внешними системами мониторинга):</h2>
/ip service set api disabled=yes
<h2 id="otklyuchit-api-ssl-esli-ne-ispolzuetsya">Отключить API-SSL (если не используется):</h2>
/ip service set api-ssl disabled=yes
<h2 id="ostavit-tolko-nuzhnye-kak-pravilo">Оставить только нужные — как правило:</h2>
<h2 id="ssh-22-www-ssl-443-winbox-8291-i-ih-ogranichit-po-ip">SSH (22), www-ssl (443), winbox (8291) — и их ограничить по IP</h2>Ограничить сервисы по IP-адресу
bash
<h2 id="razreshit-ssh-tolko-s-doverennoy-podseti">Разрешить SSH только с доверенной подсети:</h2>
/ip service set ssh address=192.168.1.0/24
<h2 id="razreshit-winbox-tolko-s-konkretnogo-ip">Разрешить Winbox только с конкретного IP:</h2>
/ip service set winbox address=192.168.1.10/32
<h2 id="razreshit-webfig-tolko-iz-lokalnoy-seti">Разрешить WebFig только из локальной сети:</h2>
/ip service set www-ssl address=192.168.1.0/24
Изменить стандартные порты
Смена портов снижает попадание в автоматические сканирования ботнетов:
bash
<h2 id="izmenit-ssh-na-nestandartnyy-port">Изменить SSH на нестандартный порт:</h2>
/ip service set ssh port=2222
<h2 id="izmenit-winbox">Изменить Winbox:</h2>
/ip service set winbox port=49152
<h2 id="vazhno-obnovit-pravila-firewall-pod-novye-porty">Важно: обновить правила firewall под новые порты</h2>Отключить Discovery и Bandwidth Test сервер
bash
<h2 id="otklyuchit-mikrotik-neighbor-discovery-ne-nuzhen-vne-doverennoy-seti">Отключить MikroTik Neighbor Discovery (не нужен вне доверенной сети):</h2>
/ip neighbor discovery-settings set discover-interface-list=LAN
<h2 id="otklyuchit-bandwidth-test-server">Отключить Bandwidth Test сервер:</h2>
/tool bandwidth-server set enabled=no
6. Шаг 4 — Настройка Firewall: защита от внешних сканирований
Базовый входящий firewall для роутера (input chain)
bash
<h2 id="tsepochka-input-trafik-adresovannyy-samomu-routeru">Цепочка input — трафик, адресованный самому роутеру</h2>
<h2 id="primenyat-posledovatelno-poryadok-pravil-vazhen">Применять ПОСЛЕДОВАТЕЛЬНО: порядок правил важен</h2>
<h2 id="1-razreshit-established-related-soedineniya">1. Разрешить established/related соединения:</h2>
/ip firewall filter add chain=input \
connection-state=established,related action=accept \
comment="Accept established, related"
<h2 id="2-razreshit-icmp-ping-optsionalno-ogranichit-rate">2. Разрешить ICMP (ping) — опционально, ограничить rate:</h2>
/ip firewall filter add chain=input \
protocol=icmp action=accept \
comment="Accept ICMP"
<h2 id="3-razreshit-upravlenie-iz-doverennoy-podseti-lan">3. Разрешить управление из доверенной подсети (LAN):</h2>
/ip firewall filter add chain=input \
in-interface=bridge src-address=192.168.1.0/24 \
action=accept \
comment="Allow management from LAN"
<h2 id="4-razreshit-ssh-tolko-s-konkretnogo-ip-esli-nuzhen-udalyonnyy-dostup">4. Разрешить SSH только с конкретного IP (если нужен удалённый доступ):</h2>
/ip firewall filter add chain=input \
protocol=tcp dst-port=22 \
src-address=203.0.113.10/32 \
action=accept \
comment="Allow SSH from trusted IP"
<h2 id="5-zablokirovat-vsyo-ostalnoe-vo-vhodyaschem">5. Заблокировать всё остальное во входящем:</h2>
/ip firewall filter add chain=input \
action=drop \
comment="Drop everything else - INPUT"
Защита от брутфорса SSH
bash
<h2 id="dobavit-v-chyornyy-spisok-ip-posle-neskolkih-neudachnyh-popytok">Добавить в чёрный список IP после нескольких неудачных попыток:</h2>
<h2 id="shag-1-sozdat-spisok-dlya-vremennoy-blokirovki">Шаг 1: Создать список для временной блокировки:</h2>
/ip firewall address-list add list=ssh-blacklist address=0.0.0.0/32
<h2 id="shag-2-pravila-obnaruzheniya-brutforsa">Шаг 2: Правила обнаружения брутфорса:</h2>
/ip firewall filter add chain=input protocol=tcp dst-port=22 \
src-address-list=ssh-blacklist action=drop \
comment="Drop SSH brute force"
/ip firewall filter add chain=input protocol=tcp dst-port=22 \
connection-state=new src-address-list=ssh-stage3 \
action=add-src-to-address-list address-list=ssh-blacklist \
address-list-timeout=1d \
comment="SSH stage 3 → blacklist"
/ip firewall filter 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-stage3 \
address-list-timeout=1m \
comment="SSH stage 2"
/ip firewall filter 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 \
comment="SSH stage 1"
/ip firewall filter 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 \
comment="SSH initial detection"
Защита от port-scan
bash
<h2 id="blokirovat-popytki-skanirovaniya-portov">Блокировать попытки сканирования портов:</h2>
/ip firewall filter add chain=input \
protocol=tcp psd=21,3s,3,1 \
action=add-src-to-address-list \
address-list=port-scanners \
address-list-timeout=2w \
comment="Detect port scan"
/ip firewall filter add chain=input \
src-address-list=port-scanners \
action=drop \
comment="Drop port scanners"
7. Шаг 5 — SSH с ключами: отказаться от парольной аутентификации
Парольная аутентификация по SSH уязвима к брутфорсу. SSH-ключи — надёжная альтернатива.
Генерация ключей на клиентской машине
bash
<h2 id="na-linux-macos">На Linux/macOS:</h2>
ssh-keygen -t ed25519 -C "mikrotik-admin@company.local"
<h2 id="sohranit-ssh-id-ed25519-privatnyy-i-ssh-id-ed25519-pub-publichnyy">Сохранит ~/.ssh/id_ed25519 (приватный) и ~/.ssh/id_ed25519.pub (публичный)</h2>
<h2 id="na-windows-powershell">На Windows (PowerShell):</h2>
ssh-keygen -t ed25519
Добавление публичного ключа в MikroTik
bash
<h2 id="sposob-1-cherez-konsol-routeros">Способ 1: через консоль RouterOS</h2>
<h2 id="skopirovat-soderzhimoe-id-ed25519-pub-v-bufer">Скопировать содержимое id_ed25519.pub в буфер</h2>
/user ssh-keys import public-key-file=id_ed25519.pub user=netadmin
<h2 id="sposob-2-cherez-winbox">Способ 2: через Winbox</h2>
<h2 id="system-users-vybrat-polzovatelya-ssh-keys-import">System → Users → выбрать пользователя → SSH Keys → Import</h2>Отключить парольную аутентификацию по SSH
bash
<h2 id="posle-togo-kak-ubedilis-chto-vhod-po-klyuchu-rabotaet">После того как убедились, что вход по ключу работает:</h2>
/ip service set ssh disabled=no
<h2 id="routeros-avtomaticheski-predpochitaet-klyuchi-parolyam">RouterOS автоматически предпочитает ключи паролям</h2>
<h2 id="dopolnitelno-ogranichit-servis-po-ip-sm-razdel-5">Дополнительно ограничить сервис по IP (см. раздел 5)</h2>Подключение по ключу
bash
<h2 id="linux-macos">Linux/macOS:</h2>
ssh -i ~/.ssh/id_ed25519 -p 2222 netadmin@192.168.1.1
<h2 id="dobavit-v-ssh-config-dlya-udobstva">Добавить в ~/.ssh/config для удобства:</h2>
Host mikrotik-office
HostName 192.168.1.1
User netadmin
Port 2222
IdentityFile ~/.ssh/id_ed25519
8. Шаг 6 — Winbox: ограничить или заменить
Winbox — фирменный GUI-клиент MikroTik, использующий протокол на порту 8291. Исторически в нём было найдено несколько серьёзных уязвимостей.
Варианты по убыванию риска
text
Вариант 1 (наиболее безопасный):
Отключить Winbox полностью, использовать SSH + CLI
Вариант 2 (компромисс):
Оставить Winbox, ограничить по IP строго
Вариант 3 (минимально допустимый):
Ограничить по IP + сменить порт
Отключить или ограничить Winbox
bash
<h2 id="otklyuchit-winbox-polnostyu">Отключить Winbox полностью:</h2>
/ip service set winbox disabled=yes
<h2 id="ili-ogranichit-po-ip">ИЛИ ограничить по IP:</h2>
/ip service set winbox address=192.168.1.0/24 port=49152
<h2 id="proverit">Проверить:</h2>
/ip service print where name=winbox
Winbox через VPN
Наиболее безопасный подход для удалённого управления: Winbox слушает только на loopback или LAN, а удалённый доступ — через VPN-туннель (IPsec, OpenVPN, WireGuard) к роутеру.
9. Шаг 7 — IPv6 и router advertisements: закрыть вектор RCE
CVE-2023-32154 затрагивает устройства с включённой функцией приёмника IPv6-объявлений. Уязвимость позволяет злоумышленникам в соседней сети выполнять произвольный код без аутентификации.
Отключить приём IPv6 Router Advertisements
bash
<h2 id="esli-ipv6-ne-ispolzuetsya-otklyuchit-polnostyu">Если IPv6 не используется — отключить полностью:</h2>
/ipv6/settings/set accept-router-advertisements=no
<h2 id="esli-ipv6-nuzhen-no-ustroystvo-marshrutizator-forward-yes">Если IPv6 нужен, но устройство — маршрутизатор (forward=yes):</h2>
<h2 id="v-etom-sluchae-accept-router-advertisements-po-umolchaniyu-no">В этом случае accept-router-advertisements по умолчанию no</h2>
<h2 id="yavno-proverit">Явно проверить:</h2>
/ipv6/settings/print
<h2 id="otklyuchit-ipv6-servisy-esli-ne-nuzhny">Отключить IPv6-сервисы если не нужны:</h2>
/ipv6/settings/set disable-ipv6=yes
Проверить текущее состояние IPv6
bash
/ipv6/settings/print
<h2 id="ubeditsya-chto">Убедиться что:</h2>
<h2 id="accept-router-advertisements-no">accept-router-advertisements: no</h2>
<h2 id="disable-ipv6-yes-esli-ipv6-ne-ispolzuetsya">disable-ipv6: yes (если IPv6 не используется)</h2>10. Шаг 8 — WebFig и HTTP: принудительный HTTPS и ограничение доступа
После сброса настроек интерфейс WebFig загружается полностью по HTTP, учётные данные передаются по порту 80 в открытом виде, что позволяет перехватить их любому MITM-атакующему на локальной сети.
Настроить сертификат и HTTPS
bash
<h2 id="sozdat-samopodpisannyy-sertifikat">Создать самоподписанный сертификат:</h2>
/certificate add name=webfig-cert common-name=192.168.1.1 \
key-size=2048 days-valid=3650
/certificate sign webfig-cert
<h2 id="privyazat-sertifikat-k-https-servisu">Привязать сертификат к HTTPS-сервису:</h2>
/ip service set www-ssl certificate=webfig-cert disabled=no
<h2 id="otklyuchit-http-ostavit-tolko-https">Отключить HTTP (оставить только HTTPS):</h2>
/ip service set www disabled=yes
Ограничить WebFig по IP
bash
/ip service set www-ssl address=192.168.1.0/24 port=443
Отключить WebFig полностью
Если управление только через Winbox или SSH — отключить обе веб-службы:
bash
/ip service set www disabled=yes
/ip service set www-ssl disabled=yes
11. Шаг 9 — Логирование и мониторинг: знать что происходит
Настройка системного лога
bash
<h2 id="prosmotr-tekuschih-pravil-logirovaniya">Просмотр текущих правил логирования:</h2>
/system logging print
<h2 id="dobavit-logirovanie-kriticheskih-sobytiy">Добавить логирование критических событий:</h2>
/system logging add topics=critical action=memory
/system logging add topics=warning action=memory
/system logging add topics=firewall action=memory
<h2 id="nastroit-otpravku-logov-na-syslog-server">Настроить отправку логов на syslog-сервер:</h2>
/system logging action add name=syslog-server \
target=remote remote=192.168.1.200 remote-port=514 \
bsd-syslog=yes syslog-facility=daemon
/system logging add topics=critical,warning,firewall \
action=syslog-server
Просмотр логов и выявление аномалий
bash
<h2 id="prosmotr-poslednih-zapisey-loga">Просмотр последних записей лога:</h2>
/log print
<h2 id="filtratsiya-po-teme">Фильтрация по теме:</h2>
/log print where topics~"firewall"
/log print where topics~"system"
<h2 id="poisk-neudachnyh-popytok-vhoda">Поиск неудачных попыток входа:</h2>
/log print where message~"login failure"
<h2 id="poisk-izmeneniy-konfiguratsii">Поиск изменений конфигурации:</h2>
/log print where topics~"info" where message~"changed by"
Настроить e-mail-уведомления о критических событиях
bash
<h2 id="nastroit-smtp">Настроить SMTP:</h2>
/tool e-mail set server=smtp.company.local port=25 \
from=mikrotik@company.local
<h2 id="otpravit-testovoe-pismo">Отправить тестовое письмо:</h2>
/tool e-mail send to=admin@company.local \
subject="MikroTik Test" body="Test message"
<h2 id="dobavit-logging-action-s-otpravkoy-na-email">Добавить logging action с отправкой на email:</h2>
/system logging action add name=email-alerts \
target=email email=admin@company.local
/system logging add topics=critical action=email-alerts
Включить аудит изменений конфигурации
bash
<h2 id="ubeditsya-chto-logiruyutsya-izmeneniya">Убедиться что логируются изменения:</h2>
/system logging add topics=info,account action=memory comment="Config audit"
<h2 id="poleznye-sobytiya">Полезные события:</h2>
<h2 id="logged-in-vhod-polzovatelya">"logged in" — вход пользователя</h2>
<h2 id="logged-out-vyhod">"logged out" — выход</h2>
<h2 id="changed-by-izmenenie-konfiguratsii">"changed by" — изменение конфигурации</h2>12. Как проверить, не взломан ли ваш MikroTik: признаки и диагностика
Признаки взлома — первичная проверка
bash
<h2 id="1-proverit-imya-ustroystva-vzlomannye-chasto-pereimenovyvayut">1. Проверить имя устройства — взломанные часто переименовывают:</h2>
/system identity print
<h2 id="esli-vidite-hacked-test-pwned-ili-neznakomoe-imya-plohoy-znak">Если видите "Hacked", "Test", "pwned" или незнакомое имя — плохой знак</h2>
<h2 id="2-proverit-spisok-polzovateley-net-li-neznakomyh">2. Проверить список пользователей — нет ли незнакомых:</h2>
/user print
<h2 id="dolzhny-byt-tolko-te-kogo-vy-sozdavali">Должны быть только те, кого вы создавали</h2>
<h2 id="3-proverit-aktivnye-sessii-kto-seychas-podklyuchyon">3. Проверить активные сессии — кто сейчас подключён:</h2>
/user active print
<h2 id="neznakomye-ip-v-sessiyah-trebuet-rassledovaniya">Незнакомые IP в сессиях — требует расследования</h2>
<h2 id="4-proverit-scheduler-net-li-postoronnih-zadach">4. Проверить scheduler — нет ли посторонних задач:</h2>
/system scheduler print
<h2 id="vredonosnye-skripty-chasto-dobavlyayut-zadachi-v-scheduler">Вредоносные скрипты часто добавляют задачи в scheduler</h2>
<h2 id="5-proverit-skripty">5. Проверить скрипты:</h2>
/system script print
<h2 id="neznakomye-skripty-podozritelno">Незнакомые скрипты — подозрительно</h2>
<h2 id="6-proverit-socks-proksi-chasto-vklyuchayut-botnety">6. Проверить SOCKS-прокси (часто включают ботнеты):</h2>
/ip socks print
<h2 id="dolzhno-byt-enabled-no-esli-vy-ne-vklyuchali-yavno">Должно быть: enabled=no (если вы не включали явно)</h2>Проверить сетевые соединения
bash
<h2 id="aktivnye-soedineniya">Активные соединения:</h2>
/ip firewall connection print
<h2 id="ischite-ishodyaschie-soedineniya-na-neznakomye-vneshnie-ip">Ищите исходящие соединения на незнакомые внешние IP</h2>
<h2 id="tekuschie-soedineniya-po-protokolam">Текущие соединения по протоколам:</h2>
/ip firewall connection print where protocol=tcp
<h2 id="neozhidannye-dns-zaprosy-esli-ispolzuetsya-dns-server-routera">Неожиданные DNS-запросы (если используется DNS-сервер роутера):</h2>
/ip dns cache print
Проверить firewall и NAT-правила
bash
<h2 id="vse-firewall-pravila-iskat-neznakomye">Все firewall-правила — искать незнакомые:</h2>
/ip firewall filter print
/ip firewall nat print
/ip firewall mangle print
<h2 id="proksi-pravila">Прокси-правила:</h2>
/ip proxy print
<h2 id="tunneli">Туннели:</h2>
/interface print
<h2 id="neznakomye-tonneli-eoip-gre-ipip-openvpn-wireguard-podozritelno">Незнакомые тоннели (EoIP, GRE, IPIP, OpenVPN, WireGuard) — подозрительно</h2>Проверить файлы
bash
<h2 id="spisok-faylov-v-korne">Список файлов в корне:</h2>
/file print
<h2 id="podozritelnye-fayly-php-exe-neznakomye-rsc-trebuyut-analiza">Подозрительные файлы (.php, .exe, незнакомые .rsc) — требуют анализа</h2>Проверить версию RouterOS и возможные следы эксплуатации
bash
<h2 id="versiya-i-data-kompilyatsii">Версия и дата компиляции:</h2>
/system routerboard print
/system package print
<h2 id="esli-versiya-staraya-do-6-49-8-i-byl-dostup-iz-wan">Если версия старая (до 6.49.8) и был доступ из WAN —</h2>
<h2 id="vysokaya-veroyatnost-komprometatsii">высокая вероятность компрометации</h2>Самодиагностика через MikroTik Dude или внешние инструменты
bash
<h2 id="vneshnyaya-proverka-otkrytyh-portov-so-storony-interneta">Внешняя проверка открытых портов (со стороны интернета):</h2>
<h2 id="ispolzuyte-shodan-ili-nmap-s-drugogo-hosta-dlya-proverki">Используйте Shodan или nmap с другого хоста для проверки</h2>
<h2 id="togo-chto-imenno-vidno-snaruzhi">того, что именно видно снаружи:</h2>
<h2 id="na-testovom-okruzhenii-ili-s-razresheniya-vladeltsa-infrastruktury">(на тестовом окружении или с разрешения владельца инфраструктуры)</h2>
<h2 id="nmap-skanirovanie-svoego-ip-dlya-proverki-chto-zakryto">nmap-сканирование своего IP для проверки что закрыто:</h2>
<h2 id="nmap-sv-p-21-22-23-80-443-8291-8728-8729-your-external-ip">nmap -sV -p 21,22,23,80,443,8291,8728,8729 YOUR_EXTERNAL_IP</h2>13. Что делать если MikroTik уже взломан: пошаговое восстановление
Алгоритм немедленного реагирования
text
Шаг 1: Изолировать устройство
Если возможно — отключить WAN-интерфейс или поставить
upstream-блокировку, пока проводится расследование
Шаг 2: Не выключать сразу
Сначала собрать данные для расследования:
/log print → скопировать / экспортировать
/ip firewall connection print → активные соединения
/user active print → активные сессии
Шаг 3: Сменить пароли (если ещё есть доступ)
/user set [find name=admin] password="NewStrongPassword!"
/ip service set winbox,www,www-ssl disabled=yes
Шаг 4: Экспортировать конфигурацию для анализа
/export file=before-restore
Скачать файл и изучить на наличие вредоносных правил
Полное восстановление через Netinstall
Если MikroTik уже взломали, нужно воспользоваться Netinstall для восстановления прошивки. Netinstall — официальный инструмент переустановки RouterOS с нуля.
1
. Скачать Netinstall с mikrotik.com
2. Скачать актуальный RouterOS для своей модели
3. Подключить MikroTik кабелем к ПК
4. Зажать кнопку Reset при подаче питания (держать 5–10 сек)
5. Устройство перейдёт в режим Netinstall
6. В Netinstall выбрать устройство → Install
7. Дождаться завершения установки
После Netinstall — чистая RouterOS без каких-либо
следов взлома и с дефолтными настройками.
После восстановления — применить весь чеклист харденинга
Чистая установка даст дефолтную конфигурацию. Сразу же применить все шаги из этой статьи (разделы 3–11) прежде чем снова подключать WAN.
14. FAQ: 12 горячих вопросов о безопасности MikroTik
Q 01 Нужно ли отключать Winbox совсем или достаточно ограничить по IP?
A Ограничение по IP — достаточный минимум для большинства сред. Если управление происходит только из LAN — ограничьте Winbox адресом 192.168.x.0/24 и смените порт. Если нужен удалённый доступ — реализуйте его только через VPN, а Winbox слушает только на LAN.
Q 02 RouterOS 6 или 7 — что выбрать с точки зрения безопасности?
A RouterOS 7.x активно развивается, получает более частые обновления безопасности и новую функциональность. В RouterOS 6 реализована устаревшая версия ядра, которую невозможно изменить — что осложняет закрытие уязвимостей на уровне ядра. Для новых установок — RouterOS 7. Для существующих — мигрировать при возможности.
Q 03 Как часто нужно проверять наличие обновлений?
A Минимум раз в месяц. При выходе критических патчей (CVSS 8+) — немедленно. Подпишитесь на MikroTik Forum announcements или RSS-ленту релизов на mikrotik.com/download.
Q 04 Что делать с устройствами, которые нельзя обновить (нет интернет-доступа из LAN)?
A Скачать пакет обновления вручную с mikrotik.com (выбрать модель и версию), загрузить через Winbox в Files → Upload, затем System → Packages → Check for Updates покажет локальный пакет.
Q 05 Нужен ли antivirus на MikroTik?
A RouterOS — специализированная RTOS, не Windows. Антивирус для неё не существует и не нужен. Безопасность обеспечивается актуальной версией RouterOS, правильным firewall и минимизацией открытых сервисов.
Q 06 Обнаружил SOCKS-прокси включённым — роутер взломан?
A Высокая вероятность. Некоторые ботнеты не изменяют пароль, а только добавляют дополнительные настройки или скрипты — включая SOCKS-прокси для использования роутера как промежуточного узла. Если вы не включали прокси — это явный индикатор компрометации. Немедленно начать процедуру восстановления.
Q 07 Как защитить MikroTik, если он должен быть доступен из интернета для управления?
A Только через VPN: поднять IPsec, WireGuard или OpenVPN-туннель, управление — исключительно из VPN-адресного пространства. Прямой доступ к Winbox, WebFig или SSH из интернета без VPN — неприемлем для продакшн-устройств.
Q 08 Насколько безопасен WireGuard на RouterOS?
A WireGuard появился в RouterOS 7.1 и является более современной и криптографически надёжной альтернативой IPsec при меньшей сложности конфигурации. Для VPN-туннелей управления — хороший выбор.
Q 09 Как проверить, не используется ли мой MikroTik как C2-сервер ботнета?
A Признаки: необычный исходящий трафик к посторонним IP, SOCKS-прокси включён, странные scheduler-задачи, неизвестные скрипты, изменение DNS-серверов. Проверить исходящие соединения: `/ip firewall connection print` и `/ip dns set servers` — не должно быть посторонних DNS.
Q 10 Нужно ли отключать UPnP?
A Да. UPnP позволяет устройствам в сети самостоятельно открывать порты на роутере. Это удобно для игр и P2P, но создаёт дыры в безопасности. `/ip upnp print` — проверить статус; `/ip upnp set enabled=no` — отключить.
Q 11 Что такое Secure Boot на MikroTik и нужен ли он?
A RouterOS поддерживает верификацию целостности прошивки на новых RouterBOARD. При настройке Netinstall с правильными ключами это защищает от подмены прошивки при физическом доступе к устройству. Актуально для критичных объектов.
Q 12 Как правильно сделать резервную копию конфигурации?
A Два формата: `/system backup save name=backup` — бинарный, содержит пароли, восстанавливается только на той же модели. `/export file=config` — текстовый .rsc, читаем, без паролей, переносим между устройствами. Хранить оба — в безопасном месте вне устройства.
15. Чек-лист: харденинг MikroTik за один сеанс
Перед началом: резервная копия
- ☐ `/system backup save name=pre-hardening` — бинарный бэкап
- ☐ `/export file=pre-hardening-config` — текстовый экспорт
- ☐ Скачать оба файла с роутера на локальный ПК
Обновление
- ☐ `/system package update check-for-updates` → обновить до актуальной версии
- ☐ `/system routerboard upgrade` → обновить прошивку платы
- ☐ Перезагрузить: `/system reboot`
Аутентификация
- ☐ Сменить пароль admin на надёжный (12+ символов)
- ☐ Создать нового пользователя с нестандартным именем, удалить admin
- ☐ Ограничить пользователей по IP: `allowed-address=`
- ☐ Добавить SSH-ключ, отключить парольную аутентификацию SSH
Сервисы
- ☐ `/ip service print` → отключить Telnet, FTP, API (если не нужны)
- ☐ Отключить HTTP (`www`), оставить только `www-ssl`
- ☐ Ограничить Winbox и SSH по IP или отключить
- ☐ Сменить порты SSH и Winbox на нестандартные
- ☐ `/ip upnp set enabled=no`
- ☐ `/ip proxy set enabled=no`
- ☐ `/ip socks set enabled=no`
- ☐ `/tool bandwidth-server set enabled=no`
IPv6
- ☐ `/ipv6/settings/set accept-router-advertisements=no`
- ☐ Отключить IPv6 если не используется
Firewall
- ☐ Правило drop для всего входящего трафика в chain=input (последнее)
- ☐ Разрешить управление только из доверенных подсетей
- ☐ Добавить правила защиты от брутфорса SSH
Диагностика компрометации
- ☐ `/system identity print` — нет "Hacked"?
- ☐ `/user print` — только свои пользователи?
- ☐ `/system scheduler print` — нет посторонних задач?
- ☐ `/system script print` — нет незнакомых скриптов?
- ☐ `/ip socks print` — disabled=yes?
- ☐ `/log print where message~"login failure"` — нет взлома?
Логирование
- ☐ Включить логирование firewall и critical
- ☐ Настроить syslog-сервер (опционально)
- ☐ Email-уведомления о критических событиях (опционально)
16. Заключение и теги
MikroTik — мощный и гибкий инструмент, который при правильной настройке обеспечивает надёжную безопасность. При дефолтной конфигурации — одна из наиболее легко скомпрометируемых точек в корпоративной инфраструктуре.
Роутеры MikroTik весьма популярны, но в них отсутствует целый ряд механизмов безопасности. При этом администраторы продолжают управлять ими через дефолтную учётную запись, открывая интерфейсы управления для удалённого доступа.
Три приоритетных действия для тех, у кого нет времени прочитать всё: обновить RouterOS до последней стабильной версии, сменить пароль admin и ограничить доступ к сервисам управления по IP. Эти три шага закрывают большинство реальных векторов атаки.
Для тех, кто готов пройти полный путь — чек-лист из раздела 15 покрывает все аспекты от обновления до диагностики компрометации. Харденинг занимает 1–2 часа и даёт устройство, которое принципиально сложнее атаковать, чем типичный MikroTik в интернете.
> 🔒 Безопасность MikroTik — это не разовая настройка. Это процесс: следить за CVE, регулярно обновлять, проверять логи.