MikroTik hAP AC: обеспечение безопасности
В этой части рассмотрена безопасность роутера MikroTik hAP AC. Почему «из коробки» микротики более уязвимы, чем другие устройства. Основные системные службы и их настройка для повышения безопасности. SSH-аутентификация по ключу, работа с командной строкой, настройка правил межсетевого экрана.
Преамбула
MikroTik в полушуточной манере сравнивают с легендарными Cisco — за классно реализованную командную строку. Оборудование компании уже используют в корпоративных инфраструктурах и дата-центрах по всему миру.
Внимание к RouterOS начали проявлять и исследователи систем безопасности: специалисты постоянно ищут (и находят) уязвимости. В марте 2017 года в публикациях Wikileaks всплыл описанный ЦРУ эксплойт1 для встроенного HTTPD-сервера.
Возможность осуществления множества атак, использующих подобные уязвимости, связана с неправильной (или недостаточной) настройкой оборудования. Компания регулярно обновляет специальный раздел документации2, посвященный безопасности. Многое из описанного ниже — точная копия рекомендаций MikroTik. Если коротко: приемлемая безопасность достигается отключением всех неиспользуемых функций и ограничением доступа ко всем используемым.
Предполагается, что вы выполнили все инструкции из первой части3, и ваш роутер доступен в локальной сети по IP-адресу 192.168.0.254
.
Настройка SSH-аутентификации
Загрузите SSH-ключ на роутер, используя встроенный в Winbox файловый менеджер. (При необходимости сгенерируйте новую пару4.) Из главного меню перейдите в раздел Files, нажмите кнопку Upload, выберите файл публичной части ключа на локальном компьютере. По окончании загрузки он появится в корне файловой системы роутера.
Перейдите в раздел System — Users, во вкладке SSH Keys нажмите кнопку Import SSH Key. Укажите имя пользователя—владельца ключа, в поле Key File выберите только что загруженный файл. (После импорта файл будет автоматически удален с диска.)
Теперь вы можете подключиться к роутеру через SSH:
ssh username@192.168.254
Планомерный отказ от Winbox
Все это время вы пользовались замечательной программой Winbox. Однако, всему хорошему когда-нибудь приходит конец. Если собираетесь использовать устройства MikroTik на серьезном уровне, стоит отказаться от Winbox уже сейчас, отдав предпочтение SSH.
Дальнейшие инструкции по-прежнему будут сопровождаться описанием (и скриншотами) настройки через Winbox, но все большее внимание будет уделяться командной строке.
Конфигурация системных служб
Службы IP
В разделе IP — Services представлен список системных служб роутера. Каждая включенная — потенциальная угроза безопасности.
- Отключите
ftp
(в 2018 году использовать этот протокол где бы то ни было — идея так себе). - Отключите
api
иapi-ssl
(до тех пор, пока не узнаете зачем они нужны). - Отключите
telnet
(естьssh
). www-ssl
отключен по умолчанию ввиду отсутствия сертификата.- Отключите также
www
, эта служба отвечает за работу веб-интерфейса, дублирующего программу Winbox.
/ip service disable telnet,ftp,www,api,api-ssl
Должно остаться две активных службы. Отредактируйте настройки каждой, установив значение параметра Available From равным адресному пространству локальной приватной сети (192.168.0.0/24
).
/ip service set ssh address=192.168.0.0/24
/ip service set winbox address=192.168.0.0/24
Когда будете готовы работать с роутером при помощи только командной строки (возможно, уже сейчас) — отключите службу winbox
.
/ip service disable winbox
Отключение служб MAC
В меню Tools — MAC Server, используя одноименные кнопки, ограничьте службы MAC Telnet Server, MAC WinBox Server и MAC Ping Server. Для первых двух установите значение параметра Allowed Interface List равным none
, для третьей — деактивируйте MAC Ping Server Enabled.
/tool mac-server set allowed-interface-list=none
/tool mac-server mac-winbox set allowed-interface-list=none
/tool mac-server ping set enabled=no
Помимо прочего, такая настройка сделает невозможным подключение к роутеру по его MAC-адресу, чем вы пользовались в предыдущей статье.
Отключение Neighbor Discovery
Раздел IP — Neighbors, кнопка Discovery Settings. Как и в предыдущем разделе, установите параметр Interface равным none
.
/ip neighbor discovery-settings set discover-interface-list=none
Отключения сервера полосы пропускания
Tools — BTest Server, деактивировать параметр Enabled.
/tool bandwidth-server set enabled=no
Файрвол
В RouterOS реализован серьезный файрвол, настройка которого в чем-то похожа на настройку Netfilter, а в чем-то даже удобнее.
Конфигурировать правила вы будете по принципу «запрещено все, что не разрешено». Сделать это вам придется с помощью командной строки. Можете воспользоваться SSH-подключением или вызвать окно встроенного терминала Winbox (New Terminal).
ICMP
Если есть необходимость в ICMP, добавьте правило, разрешающее прием соединений на внешнем интерфейсе wan1
:
/ip firewall filter add action=accept chain=input in-interface=wan1 limit=50/5s,2:packet protocol=icmp
Знатоки советуют использовать ограничение (параметр limit) количества пропускаемых пакетов в единицу времени.
Фильтрация входящих соединений
Разрешите прием установленных или связанных соединений:
/ip firewall filter add action=accept chain=input connection-state=established,related
Запретите обработку некорректных соединений:
/ip firewall filter add action=drop chain=input connection-state=invalid
Фильтрация переадресованных соединений
Добавьте правила, аналогичные описанным в предыдущем пункте, для переадресованных (предназначенных устройствам внутри локальной сети) соединений:
/ip firewall filter add action=accept chain=forward connection-state=established,related
/ip firewall filter add action=drop chain=forward connection-state=invalid
Разрешение переадресованного трафика из локальной сети
Чтобы пользователи локальной приватной сети (bridge-private
) могли пользоваться интернетом, разрешите пропускание их соединений на интерфейс провайдера (wan1
):
/ip firewall filter add action=accept chain=forward in-interface=bridge-private out-interface=wan1
Запрет всего неразрешенного
Теперь запретите любые прочие входящие соединения извне:
/ip firewall filter add action=drop chain=input in-interface=wan1
Итог
В текущем состоянии ваш роутер уже на голову выше остальных устройств, в том числе в вопросе безопасности. Еще немного уверенности добавляют регулярные обновления RouterOS. Вспомните, как часто выпускают обновления прошивок другие производители домашних роутеров.