- MikroTik hAP AC: обеспечение безопасности
- Преамбула
- Настройка SSH-аутентификации
- Планомерный отказ от Winbox
- Конфигурация системных служб
- Службы IP
- Отключение служб MAC
- Отключение Neighbor Discovery
- Отключения сервера полосы пропускания
- Файрвол
- ICMP
- Фильтрация входящих соединений
- Фильтрация переадресованных соединений
- Разрешение переадресованного трафика из локальной сети
- Запрет всего неразрешенного
- Итог
- Настройка сетевой безопасности на роутерах Mikrotik
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:
Планомерный отказ от 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. Вспомните, как часто выпускают обновления прошивок другие производители домашних роутеров.
Настройка сетевой безопасности на роутерах Mikrotik
Когда-то нашёл на просторах интернета правила фаервола (firewall) роутера микротик для защиты от сканирования портов и ддос атаки. Спустя пользования долгого времени данные правила отлично себя показали.
Не буду как говорится тянуть кота за . =) Визуально правила выглядят так:
Ниже на скриншоте видно, что правила прекрасно работают.
Первый набор правил для защиты от ддос (DDoS) атаки:
/ip settings set tcp-syncookies=yes
/ip firewall filter
add action=add-src-to-address-list address-list=ddos-blacklist \ address-list-timeout=30m chain=input comment=\ «DDoS — Limit incoming connections, add IP to Blacklist» \ connection-limit=100,32 in-interface=ether1 protocol=tcp
add action=tarpit chain=input comment=\ «DDoS — capture and hold connections, try to slow the attacker » \ connection-limit=3,32 protocol=tcp src-address-list=ddos-blacklist
add action=jump chain=forward comment=»DDoS — SYN Flood protect» \ connection-state=new jump-target=SYN-Protect protocol=tcp tcp-flags=syn
add action=jump chain=input connection-state=new in-interface=ether1 \ jump-target=SYN-Protect protocol=tcp tcp-flags=syn
add action=return chain=SYN-Protect connection-state=new limit=200,5:packet \ protocol=tcp tcp-flags=syn
add action=drop chain=SYN-Protect connection-state=new protocol=tcp \ tcp-flags=syn
И второй набор правил для защиты от сканирования портов:
/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=»Port scanners to list » disabled=no
add chain=input protocol=tcp tcp-flags=fin,!syn,!rst,!psh,!ack,!urg action=add-src-to-address-list address-list=»port scanners» address-list-timeout=2w comment=»NMAP FIN Stealth scan»
add chain=input protocol=tcp tcp-flags=fin,syn action=add-src-to-address-list address-list=»port scanners» address-list-timeout=2w comment=»SYN/FIN scan»
add chain=input protocol=tcp tcp-flags=syn,rst action=add-src-to-address-list address-list=»port scanners» address-list-timeout=2w comment=»SYN/RST scan»
add chain=input protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack action=add-src-to-address-list address-list=»port scanners» address-list-timeout=2w comment=»FIN/PSH/URG scan»
add chain=input protocol=tcp tcp-flags=fin,syn,rst,psh,ack,urg action=add-src-to-address-list address-list=»port scanners» address-list-timeout=2w comment=»ALL/ALL scan»
add chain=input protocol=tcp tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg action=add-src-to-address-list address-list=»port scanners» address-list-timeout=2w comment=»NMAP NULL scan»
add chain=input src-address-list=»port scanners» action=drop comment=»dropping port scanners» disabled=no
Не забудьте данные правила поднять в самый вверх по приоритету.