Управление режимами Device Mode в MikroTik RouterOS 7: настройка и безопасность
Классический подход к безопасности роутера, основанный на сложных паролях и правилах брандмауэра сегодня перестал быть надежным. В случае успешной эксплуатации уязвимости злоумышленник приобретает полный контроль над устройством. Режимы Device Mode призваны ограничить потенциально опасные возможности роутера на системном уровне, а изменить их невозможно без физического доступа к устройству. Как это работает - подробно расскажем в нашей статье.
Онлайн-курс по MikroTik
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на
углубленном курсе по администрированию MikroTik.
Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента.
В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Реклама ИП Скоромнов Д.А. ИНН 331403723315
Современная модель сетевых угроз основана на широком применении ИИ и эксплуатации обнаруженных уязвимостей, что делает классические подходы к обеспечении безопасности ненадежными. Теперь даже правильно настроенное устройство, с надежным паролем может оказаться уязвимым.
Получение злоумышленником аккаунта администратора дает ему полный доступ ко всем возможностям устройства, с помощью которых он может использовать роутер как плацдарм для атак или часть ботнета, тем более что RouterOS позволяет очень многое.
А так как мы не можем гарантировать защиту устройства от компрометации, то следует максимально минимизировать последствия. Именно эту цель преследовали разработчики включив начиная с RouterOS v7.17 режим Device Mode, который предустанавливается на заводе и отключает ряд потенциально опасных функций роутера. Снять эти ограничения невозможно без физического доступа к устройству.
Режимы Device Mode
На сегодняшний день существует четыре режима Device Mode, которые предустанавливаются на заводе в зависимости от класса устройства:
- Advanced - применяется по умолчанию на устройствах операторского и корпоративного уровня (линейки CCR и RB1100);
- Home - предустанавливается на домашние маршрутизаторы и устройства сегмента SOHO;
- Basic - базовый режим для всех остальных моделей;
- Rose - специализированный профиль для платформы RDS, аналогичен advanced, но включает поддержку контейнеров "из коробки".
Таблица поддерживаемых функций и возможностей по профилям показана ниже:
| Функция / Параметр | Меню / Опция CLI | Home | Basic | Advanced | ROSE |
|---|---|---|---|---|---|
| Bandwidth Test | /tool bandwidth-test | ❌ | ❌ | ✅ | ✅ |
| Containers | /container | ❌ | ❌ | ❌ | ✅ |
| /tool e-mail | ❌ | ✅ | ✅ | ✅ | |
| Fetch | /tool fetch | ❌ | ✅ | ✅ | ✅ |
| Hotspot | /ip hotspot | ❌ | ❌ | ✅ | ✅ |
| Install Any Version | install-any-version | ❌ | ❌ | ❌ | ❌ |
| IPsec | /ip ipsec | ✅ | ✅ | ✅ | ✅ |
| L2TP | /interface l2tp | ✅ | ✅ | ✅ | ✅ |
| Partitions | /partitions | ❌ | ❌ | ❌ | ❌ |
| PPTP | /interface pptp | ✅ | ✅ | ✅ | ✅ |
| Proxy | /ip proxy | ❌ | ❌ | ✅ | ✅ |
| RoMon | /tool romon | ❌ | ✅ | ✅ | ✅ |
| Routerboard Settings | /system routerboard | ❌ | ❌ | ❌ | ❌ |
| Scheduler | scheduler | ❌ | ✅ | ✅ | ✅ |
| SMB | /ip smb | ✅ | ✅ | ✅ | ✅ |
| Sniffer | /tool sniffer | ❌ | ✅ | ✅ | ✅ |
| SOCKS Proxy | /ip socks | ❌ | ❌ | ✅ | ✅ |
| Traffic Generator | /tool traffic-gen | ❌ | ❌ | ❌ | ❌ |
| ZeroTier | /zerotier | ❌ | ❌ | ✅ | ✅ |
Обратите внимание, что ряд наиболее критичных функций недоступен ни в одном профиле.
Все устройства выпущенные ранее имеют режим Enterprise, который при обновлении на RouterOS v7.17 и выше будет переключен в режим Advanced.
При попытке выполнить заблокированную команду в CLI вы получите сообщение:
1failure: not allowed by device-mode
Или аналогичное сообщение в графическом режиме:
Очень часто первым желанием бывает сразу переключить режим, но не будем спешить и ниже рассмотрим все возможности управления режимами работы устройства, которые дают нам разработчики.
Изменение режима Device Mode
Самый простой и очевидный способ - изменить режим Device Mode на желаемый. Однако тем самым вы снижаете безопасность устройства. Поэтому рекомендуем подходить к этому шагу осознанно и взвешенно.
Графических инструментов для управление Device Mode нет и все последующие действия мы будем выполнять в терминале. Для изменения режима выполните:
1/system/device-mode/update mode=advanced
После чего вы получите сообщение:
1update: turn off power or reboot by pressing reset or mode button in 5m to activate changes
В целях безопасности вы не можете сменить режим без физического доступа к устройству, для этого вам потребуется нажать на устройстве кнопку Reset или Mode, или выполнить холодный сброс вынув штекер питания в течение пяти минут после ввода команды.
Для виртуальных машин и CHR необходимо выполнить сброс или выключение с последующим включением из консоли гипервизора.
При необходимости интервал ожидания можно менять от 10 секунд до 1 суток через опцию activation-timeout:
1/system/device-mode/update mode=advanced activation-timeout=10m
Это полезно, если устройство находится в труднодоступном месте и доступ туда может занять более пяти минут.
Для защиты от скрытого изменения настроек, когда злоумышленник может по скрипту запускать команду и ждать физической перезагрузки устройства предусмотрен счетчик попыток, после третьей неудачной попытки любые действия по изменению режима или отдельных функций блокируются и выводится сообщение:
1update: too many unsuccessful attempts, turn off power or reboot by pressing reset or mode button in 5m to reset attempt-count
Для сброса счетчика вам точно так же нужно нажать кнопку или выполнить сброс по питанию и только после этого у вас появится возможность снова изменять режим работы устройства.
Включение отдельных функций Device Mode
Как мы уже говорили выше смена режима Device Mode действие достаточно радикальное и во многих случаях будет просто достаточно включить необходимые функции или выключить их в целях безопасности.
Доступны следующие функциональные модули: scheduler, socks, fetch, pptp, l2tp, bandwidth-test, traffic-gen, sniffer, ipsec, romon, proxy, hotspot, smb, email, zerotier, container, install-any-version, partitions, routerboard.
Например, находясь в режиме Home мы можем выключить уязвимый PPTP и включить ZeroTier, это можно выполнить одной командой:
1/system/device-mode/update zerotier=yes pptp=no
Посмотреть текущее состояние можно следующим образом:
1/system/device-mode/print

Здесь же показан счетчик attempt-count, который содержит количество неудачных попыток изменить режим устройства. Полезно поставить это значение на мониторинг. Также, в целях повышения безопасности, имеет смысл заранее выполнить три неудачных попытки, чтобы увеличить количество требуемых физических перезагрузок устройства с одной до двух.
Особенности переопределения настроек
Используя точечное управление функциями следует помнить, что при изменении режима устройства через опцию mode все функции будут сброшены до значений по умолчанию этого профиля, если не были дополнительно указаны в команде. Например:
1/system/device-mode/update mode=advanced zerotier=no pptp=no
Поэтому перед сменой режима на работающем роутере обязательно уточните текущее состояние функциональных модулей.
При импорте настроек или добавлении статической конфигурации для отключенного модуля настройки будут добавлены, но такая запись будет деактивирована и помечена комментарием:
1;;; inactivated, not allowed by device-mode
Подобный подход позволяет использовать одну и ту же шаблонную конфигурацию для всего парка устройств вне зависимости от их текущего режима и включенного набора функций.
Специальные механизмы безопасности
Опция install-any-version которая по умолчанию выключена во всех режимах Device Mode защищает устройство от отката прошивки. В поле allowed-versions указаны минимальные версии RouterOS на которые можно выполнить откат. Это исключает сценарии с понижением прошивки до заведомо уязвимого выпуска.
Список allowed-versions обновляется при установке свежих выпусков RouterOS и не откатывается назад при даунгрейде. Также не следует путать его со значением Minimum Version в System - RouterBOARD, которое указывает минимально возможную версию прошивки конкретного устройства.
Все изменения загрузчика, кроме обновления прошивки и опции Auto Upgrade также заблокированы, на устройствах с двойной загрузкой это также запрещает переключения SwOS/RouterOS. Для изменения такого поведения требуется включить опцию routerboard.
Статус компрометации устройства Flagged status
При каждом старте системы RouterOS выполняет аудит конфигурации и при обнаружении признаков несанкционированного доступа или вредоносного кода устройство переходит в статус "скомпрометировано" (flagged=yes):
- Подозрительные блоки конфигурации автоматически отключаются
- Устанавливается флаг компрометации flagged=yes
- Включается защищенный режим с жесткими функциональными ограничениями.
В защищенном режиме полностью отключается возможность использования диагностических утилит: bandwidth-test, traffic-generator, sniffer. Блокируется создание или включение уже существующих записей служб: system scheduler, socks, pptp, l2tp, ipsec, proxy, smb. Отключение или удаление существующих записей остается доступно.
При попытке выполнить запрещенное действие вы получите сообщение:
1failure: configuration flagged, check all router configuration for unauthorized changes and update device-mode
Для сброса режима компрометации можно использовать команду:
1/system/device-mode/update flagged=no
Которая также требует физического подтверждения на устройстве, но учтите, что она просто снимает флаг компрометации и выводит устройство из защищенного режима. Вы сами должны проанализировать конфигурацию устройства и убедиться, что в ней не осталось вредоносных элементов конфигурации или посторонних учетных записей.
Также обязательно смените все ключи и пароли, заново выпустите сертификаты и обновите версию RouterOS до последней.
При повторном переходе устройства в режим компрометации рекомендуется выполнить полную переустановку прошивки через Netinstall.
Онлайн-курс по MikroTik
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на
углубленном курсе по администрированию MikroTik.
Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента.
В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Реклама ИП Скоромнов Д.А. ИНН 331403723315
Помогла статья? Поддержи автора и новые статьи будут выходить чаще: