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 представлен список системных служб роутера. Каждая включенная — потенциальная угроза безопасности.

  1. Отключите ftp (в 2018 году использовать этот протокол где бы то ни было — идея так себе).
  2. Отключите api и api-ssl (до тех пор, пока не узнаете зачем они нужны).
  3. Отключите telnet (есть ssh).
  4. www-ssl отключен по умолчанию ввиду отсутствия сертификата.
  5. Отключите также 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. Вспомните, как часто выпускают обновления прошивок другие производители домашних роутеров.