Защита MikroTik (базовая настройка безопасности устройств)

Базовая настройка защиты роутера MikroTik: настройка устройства, настройка сетевого экрана, защита от сканирования портов, защита от подбора пароля.

🔔 В статье даны примеры команд в терминале MikroTik. Если при вставке команды в терминал, происходит автоматическая вставка команд (при выполнении вы получаете ошибку bad command name или expected end of command), нажмите сочетание Ctrl+V, чтобы отключить эту возможность.

Содержание

  1. Пользователи
  2. Сервисы
  3. Обновление
  4. Интерфейсы
  5. Соседи
  6. Межсетевой экран

Статья на других языках:
🇺🇸 — MikroTik Protection (basic device security setting)
🇪🇸 — Protección MikroTik (configuración básica de seguridad del dispositivo)
🇫🇷 — MikroTik Protection (paramètre de sécurité de base de l’appareil)
🇩🇪 — MikroTik-Schutz (grundlegende Geräte Sicherheitseinstellung)
🇳🇱 — MikroTik Protection (basisinstelling apparaatbeveiliging)

Пользователи

Создайте нового пользователя с уникальным именем и удалите встроенную учетную запись системного пользователя по умолчанию — admin.

[System] -> [Users]

Не используйте простые имена пользователя, пароль должен соответствовать требованиям безопасности.

Если доступ к устройству имеют несколько пользователей, вы можете более подробно задать права выбранному пользователю. Создайте новую группу и определите права пользователей этой группы.

[System] -> [Users] -> [Groups] -> [+]

Сервисы

Отключить неиспользуемые сервисы

Отключаем сервисы MikroTik, которые не планируем использовать.

[IP] -> [Services]
  • api, порт 8728 — если не используем API доступ, отключаем;
  • api-ssl, порт 8729 — если не используем API доступ с сертификатом, отключаем;
  • ftp, порт 21 — если не используем FTP доступ, отключаем;
  • ssh, порт 22 — если не используем SSH доступ, отключаем;
  • telnet, порт 23 — если не используем Telnet доступ, отключаем;
  • www, порт 80 — если не используем доступ через Web браузер (http), отключаем;
  • www-ssl, порт 443 — если не используем доступ через Web браузер (https), отключаем.

Изменить порт Winbox

Измените номер порта Winbox по умолчанию — 8291, на другой, свободный номер порта — Port (в примере порт 30122).

[IP] -> [Services] -> [winbox: port=Port]

При изменении порта, следите чтобы не назначить Winbox порт используемый другой службой, список — здесь.

MikroTik отключение неиспользуемых сервисов и изменение порта Winbox
MikroTik отключение неиспользуемых сервисов и изменение порта Winbox

Обновление

В оборудовании MikroTik (как и в оборудовании других сетевых вендоров) периодически находят уязвимости — своевременное выполнение обновлений необходимая мера для обеспечения безопасности устройства.

[System] -> [Packages] -> [Check for updates] -> [Check for updates]

Если обновление версии будет найдено, выполните обновление устройства.

🔗 Скрипт Проверка обновления RouterOS, пришлет уведомление о выходе новой версии прошивки.

Интерфейсы

Объединим внутренние (доверенные) и внешние (недоверенные) интерфейсы в списки, для удобства дальнейшего управления.

Список «Внутренние интерфейсы»

Помещаем в этот список интерфейсы локальной сети, VPN подключения и т.д.

[Interfaces] -> [Interfaces] -> [Interface List] -> [Lists] -> [+]  -> [Name=InternalInterfaces, Comment="Trusted network interfaces (internal, clients vpn, etc)."]

или:

/interface list add name=InternalInterfaces comment="Trusted network interfaces (internal, clients vpn, etc)."

Список «Внешние интерфейсы»

Помещаем в этот список внешние интерфейсы (интернет и т.д.).

[Interfaces] -> [Interfaces] -> [Interface List] -> [Lists] -> [+]  -> [Name=ExternalInterfaces, Comment="Untrusted network interfaces (internet, external etc)."]

или:

/interface list add name=ExternalInterfaces comment="Untrusted network interfaces (internet, external etc)."
Настройка списков интерфейсов MIkroTik
Укажем доверенные и не доверенные интерфейсы

Соседи

Настроим обнаружение устройства используя Neighbor Discovery только для внутренних интерфейсов или разрешенных интерфейсов.

Разрешаем обнаружение только с интерфейсов перечисленных в списке InternalInterfaces.

[IP] -> [Neighbor] -> [Discovery Settings] -> [interface=InternalInterfaces]

или:

/ip neighbor discovery-settings set discover-interface-list=InternalInterfaces
Настройка MikroTik Neighbor Discovery
Настройка MikroTik Neighbor Discovery

Межсетевой экран

Настраиваем ограничения доступа к роутеру и устройствам сети с помощью межсетевого экрана MikroTik.

⚠️ Перед добавлением ограничивающих правил — включите Безопасный режим MikroTik!

Разрешить установленные и связанные соединения

Правило «Trusted» — разрешаем уже установленные и связанные подключения, для снижения нагрузки на центральный процессор роутера.

[IP] -> [Firewall] -> [Filter Rules] -> [+] -> [General: Chain=input, Connection state=established,related; Action: Action=accept; Comment="Rule #0 "Trusted": allow established, related connections."]

или:

/ip firewall filter add action=accept chain=input connection-state=established,related comment="Rule #0 \"Trusted\": allow established, related connections."

Помещаем правило первым в списке Filter Rules (поместите правило ориентируясь на его номер в комментарии).

Отбросить недействительные пакеты

Правило «Drop Invalid Packet» — отбрасывает недействительные пакеты.

[IP] -> [Firewall] -> [Filter Rules] -> [+] -> [General: Chain=input, Connection state=invalid; Action: Action=drop; Comment="Chain: Input. Rule #1 "Drop Invalid Packet": drop packets connection state: invalid."]

или:

/ip firewall filter add chain=input action=drop connection-state=invalid comment="Chain: Input. Rule #1 \"Drop Invalid Packet\": drop packets connection state: invalid." 

Помещаем правило после правила Trusted, в списке Filter Rules (поместите правило ориентируясь на его номер в комментарии).

Разрешить ICMP

Правило «ICMP» — разрешает ICMP трафик на устройство.

[IP] -> [Firewall] -> [Filter Rules] -> [+] -> [General: Chain=input, Protocol=icmp; Action: Action=drop; Comment="Chain: Input. Rule #3 "ICMP": accept icmp packets."]

или:

/ip firewall filter add chain=input protocol=icmp action=accept comment="Chain: Input. Rule #3 \"ICMP\": accept icmp packets."

Поместите правило ориентируясь на его номер в комментарии.

Черный список

Создать список

Создаем список BlackList, в который будем помещать IP адреса, которым по какой-то причине запрещен доступ к MikroTik или защищаемым устройствам.

[IP] -> [Firewall] -> [Address Lists] -> [Name: BlackList, Comment="Deny access to the router and local network, from IP addresses from this list."]

или:

/ip firewall address-list add list=BlackList comment="Deny access to the router and local network, from IP addresses from this list."

Создать правило

Создадим правило «BlackList» отклоняющее запросы от IP адресов из списка BlackList.

Для экономии ресурсов центрального процессора, запрещающее правило разместим в таблице Prerouting.

[IP] -> [Firewall] -> [Raw] -> [+] -> [General: Chain=prerouting; Advanced: Src. Address List=BlackList ; Action: drop; Comment="Rule #10 "BlackList": reject the connection with a device from the Blacklist."]

или:

/ip firewall raw add chain=prerouting src-address-list=BlackList   action=drop comment="Rule #10 \"BlackList\": reject the connection with a device from the Blacklist." 

⚠️ Правила размещенные в Prerouting выполняются до разделения трафика на цепочки Input и Forward!

Поместите правило по его номеру в комментарии.

MikroTik Firewall RAW таблица
Правило Firewall — отбрасывать все пакеты с IP-адресов из BlackList

На скриншоте видно дополнительные правила:

Блокировка сканеров портов

Правило превентивной блокировки — блокируем ботов/пользователей сканирующих порты устройств в интернете, для поиска уязвимостей. Составим список не используемых портов нашим роутером, внесем в BlackList IP адреса устройств, кто пытается обратиться к указанным портам.

Для защиты от сканеров, которые целенаправленно ищут устройства MikroTik — добавим в список неиспользуемые порты (сервисы MikroTik) и стандартный порт Winbox 8291 (который мы сменили по рекомендации). Добавим популярные уязвимые порты роутеров (если злоумышленник проверяет на роутере данные порты, полностью заблокируем ему доступ).

Применять правило будем только для новых соединений.

TCP порты ловушки

  • 20 — FTP-DATA;
  • 21 — FTP (если не используете загрузку файлов на роутер через FTP);
  • 22 — SSH (если не используете управление роутером через SSH);
  • 23 — Telnet (если не используете Telnet подключение к роутеру);
  • 25 — SMTP;
  • 53 — DNS (если ваш роутер не является DNS сервером для клиентов из интернета);
  • 80 — HTTP (если не используете управление MikroTik через браузер);
  • 110 — POP3;
  • 161 — SNMP (если не используете удаленный мониторинг);
  • 443 — HTTPS (если не используете управление MikroTik через браузер);
  • 445 — MICROSOFT-DS;
  • 3306 — MS SQL;
  • 3128 — Squid;
  • 3333 — Network Caller ID server;
  • 3389 — Microsoft Terminal Server (RDP);
  • 7547 — TR-069 (если не используете протокол управления CWMP);
  • 8291 — Winbox (порт по умолчанию);
  • 8080 — 8082 — Web прокси (если не используете Web Proxy MikroTik).

Создать правило

Помещаем IP адрес недоверенного устройства в BlackList, на 10 часов:

/ip firewall filter add action=add-src-to-address-list address-list=BlackList address-list-timeout=10h chain=input protocol=tcp connection-state=new dst-port=20-25,80,110,161,443,445,3128,3306,3333,3389,7547,8291,8080-8082  comment="Rule #1 \"Block TCP port scanning\": add a device scanning an unused port to BlackList." 

Разместите правило, ориентируясь на его номер в комментарии.

Правило MikroTik Firewall - Блокировать сканеры портов
Блокировать сканеры портов

🚯 За 10 часов в BlackList находится около 500 IP адресов выполняющих попытки сканировать «уязвимые порты» роутера MikroTik.

Разрешим порт Winbox

Правило «Winbox» — разрешаем подключение на порт Winbox (в примере — 30122).

[IP] -> [Firewall] -> [Filter Rules] -> [+] -> [General: Chain=input, Protocol=tcp, Dst. Port=30122; Action: Action=accept; Comment="Chain: Input. Rule #10 "Winbox": accept Winbox port connections."]

или:

/ip firewall filter add chain=input protocol=tcp dst-port=30122 action=accept comment="Chain: Input. Rule #10 \"Winbox\": accept Winbox port connections."

Поместите правило ориентируясь на его номер в комментарии.

Сбрасываем неразрешенные соединения

Правило «Drop all» — отбросим все соединения, которые не были разрешены раньше и не входят в список доверенных (внутренних) интерфейсов (InternalInterfaces).

[IP] -> [Firewall] -> [Filter Rules] -> [+] -> [General: Chain=input, In. Interface List=[!]InternalInterfaces; Action: Action=drop; Comment="Chain: Input. Rule #15 "Drop All": drop_all packets that do not meet the early conditions, except from trusted interfaces."]

или:

/ip firewall filter add action=drop chain=input in-interface-list=!InternalInterfaces comment="Chain: Input. Rule #15 \"Drop All\": drop_all packets that do not meet the early conditions, except from trusted interfaces."
Таблица фильтров MikroTik Firewall

Поместите правило на последнюю позицию в правилах Firewall Filter Rules.

Блокируем Bruteforce

Правило «Bruteforce» — поместим IP адрес устройства в BlackList, при повторной неудачной попытке авторизации на устройстве.

При неудачной попытке авторизации MikroTik отправляет ответ с текстом «invalid user name or password» запросившему устройству.

Помещаем IP адрес устройства в BlackList, на 70 минут.

[IP] -> [Firewall] -> [Raw] -> [+] -> [General: Chain=output; Advanced: Content="invalid user name or password"; Action: Action=add-dst-to-address-list; Address List=BlackList, Timeout=01:10:00; Comment="Rule #15 "Bruteforce": add a device performing unsuccessful authorization to BlackList."]

или:

/ip firewall raw add chain=output content="invalid user name or password" action=add-dst-to-address-list address-list=BlackList address-list-timeout=1h10m comment="Rule #15 \"Bruteforce\": add a device performing unsuccessful authorization to BlackList."
Правило брандмауэра - блокировка Bruteforce
Правило блокировки подбора пароля

🟢 Защита MikroTik — базовая настройка безопасности, обсуждалось в этой статье. Я надеюсь, что теперь вы смогли настроить сервисы роутера и правила файрволла, улучшив защиту роутера MikroTik и устройств локальной сети. Однако, если вы столкнетесь с каким-то проблемами при настройке, не стесняйтесь написать в комментариях. Я постараюсь помочь.

Комментарии 14

  • Как оградиться от влазивающей соседки. Доступ к роутеру и ноуту есть. Не таскать же их с собой. Пароли менять боится — докажу что не сосед лезет. Вот только восстановил сеть. Начались выбрасывания из сети

  • Едрён-батон, хоть бы слово понял. Это что? Куда прописывать? Ребята, вы ж для чайников пишете. Третья сотня водки зазря ушла. Эхххх. Не быть мне под защитой.

    • Что именно непонятно? Попробую помочь.
      В квадратных скобках указана последовательность нажатия кнопок в окне Winbox.

      • Просто фраза, типа, «введите». Не понимаю куда вводить. Не в досе же в конце концов прописывать). Где то в настройках роутера. А там их тьма тьмущая. И все не русские. А в языке ангелов я, извините, профан.

        • У каждого пункта статьи указано два варианта выполнения:
          1. вариант нажимать на пункты меню Winbox, они подписаны в квадратных скобках;
          2. вариант «вводить» в терминал MikroTik (в окне управления Winbox, нажмите на кнопку New Terminal).

          Например в первом пункте Пользователи:
          Нажмите на кнопку [System], потом на кнопку [Users], в открывшемся окне нажмите на вкладку [Groups], потом на кнопку [+] и введите параметры нового пользователя.

          Но, если нет знаний по оборудованию MikroTik, я бы не рекомендовал самостоятельную настройку этого оборудования или использовать вариант QuckSet (Быстрая настройка) из меню Winbox (этот «матер настройки» в меру удобно и безопасно настроит устройство).
          Хотя если есть время и любопытство, то можно встать на тернистый путь настройки устройства с 0. 🙂 Но в комментариях это будет делать не так просто. 🙂

  • вот КМК полезные правила в RAW

    /ip firewall raw
    add action=drop chain=prerouting comment=»drop blocked list» dst-address-list=blocked_list
    add action=drop chain=prerouting comment=»drop bruteforces» src-address-list=bruteforce_blacklist
    add action=drop chain=prerouting comment=»drop from guest to local» dst-address-list=local_network src-address-list=guest_network
    add action=drop chain=prerouting comment=»drop DNS» dst-port=53 in-interface-list=list_all_wan protocol=tcp
    add action=drop chain=prerouting comment=»drop DNS» dst-port=53 in-interface-list=list_all_wan protocol=udp
    add action=drop chain=prerouting comment=»drop SNPP» dst-port=444 in-interface-list=list_all_wan protocol=tcp
    add action=drop chain=prerouting comment=»drop SNPP» dst-port=444 in-interface-list=list_all_wan protocol=udp
    add action=drop chain=prerouting comment=»drop SMB» dst-port=445 in-interface-list=list_all_wan protocol=tcp
    add action=drop chain=prerouting comment=»drop SMB» dst-port=445 in-interface-list=list_all_wan protocol=udp
    add action=drop chain=prerouting comment=»drop NetBIOS» dst-port=137,138,139 in-interface-list=list_all_wan protocol=udp

    • 1. Каждое правило которое будет добавлено в Firewall, является «преградой» для трафика, который проходит через ваш роутер. Обработка каждого правила затрачивает ресурсы CPU вашего роутера.
      При больших объемах трафика, при большом количестве правил, при большом объеме выполняемых скриптов и слабом CPU роутера — это может оказаться проблемой, которая проявляется неожиданно.
      Поэтому я стараюсь писать минимум правил и использовать объединение правил.

      2. По мне это большой избыток правил, которые заставят CPU вашего роутера заниматься пустой тратой ресурсов. Посмотрите счетчик правила и оцените, какое количество пакетов, от общего числа блокируется данным правилом и оцените полезную нагрузку (каждое из правил это преграда для всех пакетов обрабатываемых роутером). В статье, все это будет отбрасываться последним правилом.
      Так же рекомендую учесть «расположение роутера», большинство пользователей находится за NAT провайдера с «серым IP адресом», у них в целом отсутствует возможность прямого обращения извне и подобные правила будут создавать совершенно бесполезную нагрузку.
      Например тестовый роутер с «белым IP адресом» заблокировал 8000 попыток обращения к уязвимым портам, а роутер за NAT провайдера — 270 попыток, за 6 дней.
      Если количество обращений по данным портам — значительно, стоит выделить блокировку в отдельное правило, для снижения нагрузки на CPU роутера.

      • Если кто-то «хитрый» каким либо способом узнает вашу подсеть и пропишет у себя маршрут до вашей сети, то будучи в сети провайдера, попадет к вам в сеть. Хорошо бы запретить весь входящий трафик на wan не dst-nat
        add action=drop chain=forward comment=»drop forward new in \»list_all_wan\» !dstnat» connection-nat-state=!dstnat connection-state=new in-interface-list=list_all_wan

        • Задача статьи не стоит «Всеобъемлющее руководство по максимальной защите MikroTik на все случаи жизни».

        • Сомнительной полезности правило в случае, если в локалку проброшены какие-то порты

  • Правило конечно крутое

    /ip firewall filter add action=add-src-to-address-list address-list=BlackList address-list-timeout=10h chain=input protocol=tcp connection-state=new dst-port=20-25,80,110,161,443,445,3128,3306,3333,3389,7547,8291,8080-8082 comment=»Rule #1 \»Block TCP port scanning\»: add a device scanning an unused port to BlackList.»

    , но как быть с DNS ?

    • Я настраиваю Firewall по правилу «запрещено всё, что не разрешено» (и советую делать так же), хотя есть вариант настройки Firewall «разрешено всё, что не запрещено».
      В моём случае трафик на 53 порт, с внешних интерфейсов будет отброшен финальным правилом, так же как и любой другой не разрешенный предыдущими правилами.
      Я часто нахожу совет отклонения запросов на 53 порт (как и многих других) отдельным правилом, но перед написанием статьи у меня больше недели велись логи обращения к портам устройства.
      Сравнив количество обращений к портам, были выбраны именно указанные в статье порты.
      Я не отрицаю, что в практике сетевого администратора может быть и другой опыт, когда поток запросов на этот порт превысит совокупное обращение к другим портам, в этом случае, для снижения нагрузки на роутер, можно вынести отдельное правило в таблицу Prerouting (RAW).

      • Если я правильно понимаю, то вы запрещаете «TCP порты ловушки», но там отсутствует порт 53 (а там еще UDP).
        На сколько я знаю, для микротика по нагрузке одинаково, сделаете вы 10 одинаковых правил с разными портами или сделаете одно правило с 10 портами через запятую.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector