Закрываем порты на Mikrotik
Итак, начнем с простого. Поскольку микротик имеет на борту свой собственный DNS сервер, то 53 порт смотрит у него наружу и просит его использовать. Чем грозит открытый 53 порт? Падением скорости вашего интернет-соединения. В моей практике был случай, когда в качестве роутера стоял Mikrotik RB951Ui. Провайдер давал 80 мегабит канал, а фактическая скорость у клиента не превышала 2-3 мегабита. Клиент ругался с провайдером, приезжали монтажники, проверяли линию, но все тщетно. Когда я приехал, то сделал следующее.
Подключаемся к нашему пациенту по Winbox и открываем раздел IP->Firewall->Filter Rules. На скриншоте ниже у меня уже добавлены необходимые правила для обработки трафика на 53 порту.

Что бы сделать так же, добавляем первое правило.
- Chain – input
- Protocol – 17(udp)
- Dst.port – 53
- In.interface – ваш интерфейс, куда включен шнурок провайдера. В моем случае это pppoe-соединение Ростелекома.
- Action – add src to address list
- Address List – DNS_FLOOD (название может быть любым)
И второе правило.
- Chain – input
- Protocol – 17(udp)
- Dst.port – 53
- In.Interface – ваш интерфейс, куда включен провайдер
- Action – drop
Отключаем стандартные порты
Обычные пользователи не обращают на них внимания, но я рекомендую всем либо выключить к ним доступ, либо настроить правила фильтрации. Самое простое, как закрыть порты:
Заходим IP-Services и видим список портов. Я всегда закрываю все, кроме Winbox потому что мне нет в них необходимости. Можно просто выключить, а можно изменить номер порта на тот, который вам нравится, но стоит быть внимательными, не советую менять порты 443, 80. Это служебные порты и их изменение может привести к потере доступа в Интернет. У меня выглядит вот так:

Закрываем любой порт
Для того, что бы закрыть любой порт для подключения из внешней сети достаточно одного правила, которое по своей сути очень простое. В нем мы указываем тип трафика – снаружи, номер порта или диапазон портов, на каком интерфейсе слушать и что с этим трафиком делать. Для примера давайте закроем порт 8080.
IP->Firewall->Filter Rules->New Firewall rule (синий плюсик)
- Chain – input
- Protocol – tcp
- Dst.port – 8080
- In.Interface – ваш интерфейс
- Action – drop
Все! Вот так просто! Порт закрыт. Но будьте предельно аккуратны, не стоит беспорядочно закрывать все. В mikrotike с завода идет принцип запрещено все, что не разрешено. Поэтому сильно заморачиваться нет необходимости.
В следующий раз напишу, как закрыться от брутфорса и флуда, если нет возможности закрыть порт целиком.
Как ЗАКРЫТЬ порты на роутере
Есть роутер dlink 2640u, весьма себе приятная 4-х портовая железка с wi-fi. За nat’ом поднял ftp, порт пробросил, сделал nmap с другой машины, чтобы посмотреть открыл ли он порт. Результаты меня мягко говоря удивили:
Not shown: 988 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
80/tcp open http
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
445/tcp filtered microsoft-ds
1720/tcp filtered H.323/Q.931
1863/tcp open msnp
4550/tcp open unknown
5190/tcp open aol
5431/tcp open park-agent
первые четыре порта — стандартные роутеровские сервисы. Но я их сразу отключил, коннектится к ним он не дает — какого черта они висят? Следующие пять — непонятная ересь, непонятно кака там взявшаяся. 4550 — ftp, дальше тоже непонятно что.
Собственно вопрос — как, не имея но router’e netstat отключить всё это безобразие?
P.S.
top выдает, что ftpd, telnet и httpd не запущены, остальные сервисы тоже.
Защита MikroTik (базовая настройка безопасности устройств)
Базовая настройка защиты роутера MikroTik: настройка устройства, настройка сетевого экрана, защита от сканирования портов, защита от подбора пароля.
В статье даны примеры команд в терминале MikroTik. Если при вставке команды в терминал, происходит автоматическая вставка команд (при выполнении вы получаете ошибку bad command name или expected end of command), нажмите сочетание Ctrl+V, чтобы отключить эту возможность.
Содержание
Пользователи
Создайте нового пользователя с уникальным именем и удалите встроенную учетную запись системного пользователя по умолчанию — admin.
Не используйте простые имена пользователя, пароль должен соответствовать требованиям безопасности.
Если доступ к устройству имеют несколько пользователей, вы можете более подробно задать права выбранному пользователю. Создайте новую группу и определите права пользователей этой группы.
Сервисы
Отключить неиспользуемые сервисы
Отключаем сервисы MikroTik, которые не планируем использовать.
- 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).
При изменении порта, следите чтобы не назначить Winbox порт используемый другой службой, список — здесь.

Обновление
В оборудовании MikroTik (как и в оборудовании других сетевых вендоров) периодически находят уязвимости — своевременное выполнение обновлений необходимая мера для обеспечения безопасности устройства.
Если обновление версии будет найдено, выполните обновление устройства.
Скрипт Проверка обновления RouterOS, пришлет уведомление о выходе новой версии прошивки.
Интерфейсы
Объединим внутренние (доверенные) и внешние (недоверенные) интерфейсы в списки, для удобства дальнейшего управления.
Список «Внутренние интерфейсы»
Помещаем в этот список интерфейсы локальной сети, VPN подключения и т.д.
Список «Внешние интерфейсы»
Помещаем в этот список внешние интерфейсы (интернет и т.д.).

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

Межсетевой экран
Настраиваем ограничения доступа к роутеру и устройствам сети с помощью межсетевого экрана MikroTik.
⚠️ Перед добавлением ограничивающих правил — включите Безопасный режим MikroTik!
Разрешить установленные и связанные соединения
Правило «Trusted» — разрешаем уже установленные и связанные подключения, для снижения нагрузки на центральный процессор роутера.
Помещаем правило первым в списке Filter Rules (поместите правило ориентируясь на его номер в комментарии).
Отбросить недействительные пакеты
Правило «Drop Invalid Packet» — отбрасывает недействительные пакеты.
Помещаем правило после правила Trusted, в списке Filter Rules (поместите правило ориентируясь на его номер в комментарии).
Разрешить ICMP
Правило «ICMP» — разрешает ICMP трафик на устройство.
Поместите правило ориентируясь на его номер в комментарии.
Черный список
Создать список
Создаем список BlackList, в который будем помещать IP адреса, которым по какой-то причине запрещен доступ к MikroTik или защищаемым устройствам.
Создать правило
Создадим правило «BlackList» отклоняющее запросы от IP адресов из списка BlackList.
Для экономии ресурсов центрального процессора, запрещающее правило разместим в таблице Prerouting.
⚠️ Правила размещенные в Prerouting выполняются до разделения трафика на цепочки Input и Forward!
Поместите правило по его номеру в комментарии.

На скриншоте видно дополнительные правила:
Блокировка сканеров портов
Правило превентивной блокировки — блокируем ботов/пользователей сканирующих порты устройств в интернете, для поиска уязвимостей. Составим список не используемых портов нашим роутером, внесем в 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 часов:
Разместите правило, ориентируясь на его номер в комментарии.

За 10 часов в BlackList находится около 500 IP адресов выполняющих попытки сканировать «уязвимые порты» роутера MikroTik.
Разрешим порт Winbox
Правило «Winbox» — разрешаем подключение на порт Winbox (в примере — 30122).
Поместите правило ориентируясь на его номер в комментарии.
Сбрасываем неразрешенные соединения
Правило «Drop all» — отбросим все соединения, которые не были разрешены раньше и не входят в список доверенных (внутренних) интерфейсов (InternalInterfaces).

Поместите правило на последнюю позицию в правилах Firewall Filter Rules.
Блокируем Bruteforce
Правило «Bruteforce» — поместим IP адрес устройства в BlackList, при повторной неудачной попытке авторизации на устройстве.
При неудачной попытке авторизации MikroTik отправляет ответ с текстом «invalid user name or password» запросившему устройству.
Помещаем IP адрес устройства в BlackList, на 70 минут.

Защита MikroTik — базовая настройка безопасности, обсуждалось в этой статье. Я надеюсь, что теперь вы смогли настроить сервисы роутера и правила файрволла, улучшив защиту роутера MikroTik и устройств локальной сети. Однако, если вы столкнетесь с каким-то проблемами при настройке, не стесняйтесь написать в комментариях. Я постараюсь помочь.
Комментарии 24
А как сделать, что бы после перезагрузки микрота Blacklist оставался. А не стирался.
В правиле «/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.» »
нужно добавить условие In.Interface List — ExternalInterfaces — иначе будет в блэк лист добавлять и устройства внутри сети
Верно, заблокирует. Но зачем внутреннему пользователю доступ к сервисам, которых нет по факту на устройстве? Внутренний «мамкин хакер» (например со сканером портов) попадет так же под раздачу.
«Правило «Bruteforce» — поместим IP адрес устройства в BlackList, при повторной неудачной попытке авторизации на устройстве. » подскажите как сделать, чтобы блокировка была например с 5 неправильной попытки и есть ли смысл в увеличении счетчика?
Варианты защиты MikroTik Fail2Ban для нескольких попыток доступа написаны здесь: https://mhelp.pro/ru/mikrotik-fail2ban-zashchita-ot-ataki-bruteforce/#web
Про смысл нескольких попыток, не вижу необходимости ставить более 3 (ведь даже после первой попытки, вы как системный администратор уже поймете что введен неверный пароль и более внимательно отнесетесь к следующей попытке). Если оставить одну попытку вы в целом сделаете BruteForce бессмысленным и нереально долгим, с одной попыткой ввода пароля например один раз в 10-20 минут.
Здравствуйте. Воспользовался вашей статьей для защиты от Bruteforce.
Непонятно следующее в разделе «Блокируем Bruteforce»:
Где указывается повторная попытка? Мой роутер сразу заносит в черных список после первого ввода неверного пароля.
Так же мой роутер заносит в черный список только если стучатся через winbox. Попытки подбора пароля через браузер продолжают проходить. Где посмотреть корректность настройки?
Для защиты от подбора пароля через браузер нужно использовать другие правила, для Web доступа они прописаны здесь: https://mhelp.pro/ru/mikrotik-fail2ban-zashchita-ot-ataki-bruteforce/#web
Добрый день. Столкнулся с проблемой и незнаю в какую сторону копа. В сети с моим микротиком находятся еще два (другие модели), и один из них «занял» все адреса моей подсети. И теперь получается если я подключаю оборудование в сеть пишет что адрес занят. Подскажите что не так я настроил?
https://i116.fastpic.org/big/2021/1103/af/a072bf850d419a471d024fc10bf97baf.png
В разделе «Разрешить ICMP» опечатка:
Protocol=icmp; Action: Action=drop
исправить на action=accept
Большое спасибо Евгений! Поправил.
Как оградиться от влазивающей соседки. Доступ к роутеру и ноуту есть. Не таскать же их с собой. Пароли менять боится — докажу что не сосед лезет. Вот только восстановил сеть. Начались выбрасывания из сети
И кстати, её IP я не вижу. Даже в настройках роутера
Едрён-батон, хоть бы слово понял. Это что? Куда прописывать? Ребята, вы ж для чайников пишете. Третья сотня водки зазря ушла. Эхххх. Не быть мне под защитой.
Что именно непонятно? Попробую помочь.
В квадратных скобках указана последовательность нажатия кнопок в окне 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 порт (как и многих других) отдельным правилом, но перед написанием статьи у меня больше недели велись логи обращения к портам устройства.
Сравнив количество обращений к портам, были выбраны именно указанные в статье порты.
Я не отрицаю, что в практике сетевого администратора может быть и другой опыт, когда поток запросов на этот порт превысит совокупное обращение к другим портам, в этом случае, для снижения нагрузки на роутер, можно вынести отдельное правило.
Если я правильно понимаю, то вы запрещаете «TCP порты ловушки», но там отсутствует порт 53 (а там еще UDP).
На сколько я знаю, для микротика по нагрузке одинаково, сделаете вы 10 одинаковых правил с разными портами или сделаете одно правило с 10 портами через запятую.
Закрытие портов на Tp-Link
Обычная картинка, у других роутеров гораздо больше откоытых портов.
22 port — порт протокола SSH, если ты не планируешь использовать роутер в роли ssh-сервера, то поищи в web-интерфейсе "галочку" и сними. Порт закроется.
53 port — Domain UDP протокол, по которому идут запросы к ДНС серверам. Его сложнее закрыть. Но вряд-ли нужно. Ведь если к тебе не будет приходить информация от ДНС серверов, то тупА ИнтернеТа НИ БудИт. Можно посылать запросы к ДНС серверам по протоколу TCP . Наверное только глухой не слышал о DOH. Настраивай DOH и отключай порт 53.
443 port — по этому порту ты получаешь доступ в web-интерфейсу роутера. Но как ты будешь управлять своим роутером.
Придётся выбирать, либо порт 22, либо порт 443.