Как ограничить доступ к роутеру mikrotik

Обновлено: 03.07.2024

Настраиваем родительский контроль на роутерах Mikrotik

Сегодня интернет плотно проник во все сферы нашей жизни и превратился в столь же привычный и необходимый предмет, как электричество или водоснабжение. И это не преувеличение: работа, обучение, онлайн-сервисы - все это требует доступа в сеть, что не только открывает новые возможности, но порождает новые проблемы. Одна из них - защита детей от неподходящей для их возраста информации, а также контроль времени, проводимого ими в сети. При том, что решать данную задачу следует гибко, с учетом возраста и реальных потребностей детей, не ограничивая при этом возможности родителей.

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор - официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Большинство статей в сети интернет рассматривают отдельные инструменты или методики родительского контроля, в то время как это сложный и многогранный вопрос, особенно если есть несколько детей разного возраста. Действительно, ограничения для ученика начальной школы и подростка могут и должны быть разными. Мы не сторонники жесткого закручивания гаек, стремление оградить ребенка от всего чего только возможно также плохо, как и бесконтрольный его доступ ко всем ресурсам сети. Во всем нужен разумный баланс.

Также не будем забывать об устройствах общего доступа. Это может быть семейный компьютер, доступ к которому имеют все члены семьи, при этом часть времени он остается бесконтрольным, когда родители еще на работе, а дети уже пришли со школы. В эту категорию также можно добавить умные телевизоры, игровые и телевизионные приставки и т.д. и т.п. Для этой категории устройств доступ должен быть выборочным, применяя ограничительные меры на те периоды времени, когда родителей нет дома.

В данной статье мы рассмотрим комплекс мер, который основан на собственном опыте и отражает наше видение политики гибкого родительского контроля, который будет реализован на базе RouterOS.

Распределение устройств по группам

В основе любых ограничительных мер лежат списки объектов, к которым данные меры применяются. И чем более гибкие политики мы хотим создать, тем более точным должно быть разделение на группы. Да, можно создать единственную группу - Дети, но вряд ли вы сумеете настроить ограничения таким образом, чтобы они подходили и ребенку 7-8 лет и 14-15 летнему подростку. Поэтому далее будем предполагать, что у нас есть условный младшеклассник Иван, подросток Маша и некоторое количество устройств общего пользования, такие как умный телевизор или компьютер в зале.

Каждый из детей имеет собственные устройства и все эти устройства нам нужно учесть и распределить по группам, здесь нам поможет резервирование DHCP.

Перейдем в раздел DHCP Server - Leases и зарезервируем за каждым устройством сетевые настройки. Для этого выбираем нужное устройство в списке, открываем его свойства и нажимаем Make Static.

parental-control-mikrotik-001.jpg

После чего на закладке General станут доступны дополнительные настройки, нам нужно указать для каждого устройства свой список адресов. В нашем случае мы создадим свой список для каждого ребенка и еще один для устройств общего пользования. Внизу закладки найдите поле Address List и выберите нужный список, если он отсутствует, то просто укажите его название, он будет создан автоматически.

parental-control-mikrotik-002.jpg

В итоге у вас должен получиться набор динамических списков, каждый из которых содержит адреса нужной группы устройств:

parental-control-mikrotik-003.jpg

Не забывайте снабжать комментариями объекты, добавляемые в списки, это поможет сохранять удобочитаемость настроек и облегчит дальнейшее сопровождение.

Блокировка нежелательных ресурсов

Один из самых сложных и ответственных вопросов. Мы уже обсуждали вопрос блокировки на основе списков в наших статьях, но в данном случае это поможет мало. Одно дело - заблокировать наиболее популярные ресурсы-пожиратели времени в офисе и совсем иное - оградить детей от всего возможного объема нежелательной информации. Здесь нам на помощь придут специализированные DNS.

Первое, что приходит на ум, это Яндекс.DNS Семейный и аналогичные сервисы других DNS-провайдеров. Но, на наш взгляд, для детей младшего возраста такой фильтрации недостаточно, так как Яндекс Семейный фильтрует только явные материалы 18+, оставляя очень много неоднозначного контента за бортом.

Поэтому для наиболее полной фильтрации мы используем сервис SkyDNS, который представляет гораздо более специализированное коммерческое решение, тариф SkyDNS.Домашний обходится всего в 395 руб/год, что по силам любому семейному бюджету. Сервис имеет гибкие настройки и позволяет достаточно тонко управлять блокируемыми тематиками.

parental-control-mikrotik-004.jpg

Мы будем использовать оба DNS-сервиса, Яндекс для более взрослых детей, которых уже не требуется ограждать от всего и вся и SkyDNS для младших, которым пока требуется более безопасная выдача.

Перенаправлять запросы клиентских устройств на нужные нам DNS можно сделать различными способами, мы будем использовать перехват пакетов на роутере, что позволит одновременно организовать защиту от ручного изменения настроек на клиенте. Для этого перейдем в IP - Firewall - NAT и добавим новое правило. Закладка General : Chain - dstnat, Protocol - udp, Dst.Port - 53.

parental-control-mikrotik-005.jpg

На закладке Advanced в поле Src. Address List выбираем нужный нам список устройств.

parental-control-mikrotik-006.jpg

И на закладке Action укажем действие: Action - dst-nat, To Addresses - 193.58.251.251, где в качестве адреса укажем IP-адрес нужного нам сервиса DNS, в данном случае приведен адрес SkyDNS.

parental-control-mikrotik-007.jpg

Затем сделаем копию этого же правила для протокола tcp.

В консоли добавить правила можно командами:

Аналогичным образом добавляем перенаправление для других групп устройств к своим DNS-серверам. Отдельного разговора требует группа общих устройств, для них мы укажем дополнительное условие. Для этого перейдем на закладку Extra, развернем блок Time и в полях Time и Days укажем расписание, по которому будем применять ограничения. В указанное время все запросы будут идти к безопасным серверам, а в остальное - к основному DNS-серверу и фильтрация производиться не будет.

parental-control-mikrotik-008.jpg

Это же действие в терминале:

parental-control-mikrotik-009.jpg

При использовании общих устройств учитывайте такой момент, как локальный DNS-кеш и DNS-кеш браузера. Что может привести к тому, что блокировки не будут работать, несмотря на то что правило активно. Как правило, в большинстве случаев, достаточно перезапустить браузер, но это помогает не всегда. Поэтому имейте это ввиду при посещении ресурсов на общих устройствах.

Проверим работу фильтров в действии, начнем со SkyDNS, попробуем посетить сайт одного неоднозначного шоу:

parental-control-mikrotik-010.jpg

Отлично, все работает. Кроме фильтрации сайтов данный сервис принудительно включает безопасный режим для Youtube и эффективно контролирует содержимое его роликов. Сравним выдачу по одному и тому же запросу через SkyDNS и обычный DNS-сервер:

parental-control-mikrotik-011.jpg

Как видим, фильтр работает весьма эффективно, отсекая практически весь нежелательный контент, при этом возможность изменить параметры фильтров в браузере будут заблокированы, даже при наличии прав локального администратора. А что будет, если на нежелательный ролик кто-то пришлет ссылку? Ничего страшного:

parental-control-mikrotik-012.jpg

Разблокировать такие ролики локально также невозможно. Дополнительно можно включить безопасный поиск, когда все поисковый запросы будут перенаправляться на Безопасный поиск SkyDNS.

В общем, за два года использования данный сервис подтвердил свою эффективность и гибкость в использовании, по мере взросления ребенка часть фильтров можно отключать, предоставляя ему больше свободы в сети, не отказываясь при этом от контроля по тематикам ресурсов.

Яндекс.DNS Семейный подобной гибкостью похвастаться не может, он фильтрует преимущественно ресурсы, явно относящиеся к категории 18+. Неоднозначное шоу имея более низкий возрастной рейтинг (16+) будет спокойно доступно к просмотру.

parental-control-mikrotik-013.jpg

Тем не менее явные сайты категории "для взрослых" будут однозначно заблокированы.

parental-control-mikrotik-014.jpg

На наш взгляд, сервисы Яндекса хорошо подходят для более старших детей и использования на устройствах общего пользования, возможно даже на постоянной основе. Вместе с категорией 18+ блокируются явно нежелательные сайты: фишинг, мошенничество, варез и т.д., что неплохо подходит и для остальных членов семьи, особенно технически малограмотных.

Кроме Семейного у Яндекса есть безопасный Безопасный режим, который блокирует большинство небезопасных сайтов, но пропускает сайты 18+, его можно использовать, например, для старших членов семьи, которые не обладают достаточными навыками безопасного поведения в интернете.

Ограничение времени доступа в интернет при помощи функции Kid Control

Ограничение времени пребывания в сети - вторая по актуальности задача родительского контроля. В актуальных версиях RouterOS для этой цели есть специальный инструмент. Для его настройки перейдем в IP - Kid Control и на вкладке Kids добавим записи для каждого ребенка и группы устройств общего пользования, если доступ нужно ограничивать и к ним. В открывшемся окне добавляем промежутки времени для каждого дня недели в которые будет разрешена работа, таких промежутков может быть несколько.

parental-control-mikrotik-015.jpg

Затем к каждой записи ребенка нужно привязать устройства, принцип здесь аналогичен резервированию DHCP - точно также привязываем MAC-адрес. Для этого на закладке Devices создаем новую запись и указываем там нужный MAC, его можно скопировать из динамической записи, которая исчезнет после привязки устройства.

parental-control-mikrotik-016.jpg

Таким образом получим еще один список, содержащие записи детей и расписание доступа в сеть для них, заблокированная запись обозначается в списке флагом B.

parental-control-mikrotik-017.jpg

Блокировка устройств, связанных с записью, осуществляется при помощи динамически формируемых правил брандмауэра, которые запрещают прохождение транзитных пакетов от устройства и к нему.

parental-control-mikrotik-019.jpg

Кроме блокировок мы можем задавать ограничение скорости интернета, для этого придется в первую очередь заполнить время доступа, если этого не сделать, то будет считаться, что работа пользователя запрещена, затем выше, в полях Unlimited Rate для каждого дня недели указываем промежутки, когда возможен доступ без ограничения скорости, таких промежутков может быть несколько. И наконец в самом низу, в поле Rate Limit указываем ограничение скорости, в нашем случае 1 Мбит/с.

Следующий момент - ограничение скорости не работает при включенном Fasttrack, отключение которого может привести к высокой нагрузке на процессор, поэтому для слабых роутеров такой вариант скорее всего будет неприменим. Да и скажем честно, ограничение скорости - нетипичный сценарий для домашнего использования.

Также мы неоднократно наблюдали высокую нагрузку на CPU просто при включении ограничения времени доступа, что может сделать применение Kid Control на слабых устройствах невозможным. Но это не является серьезной проблемой, ограничение по времени можно без особых проблем реализовать обычными правилами брандмауэра.

Ограничение времени доступа в интернет при помощи брандмауэра

По сути, Kid Control не делает ничего нового или уникального, он является всего лишь высокоуровневым интерфейсом для управления правилами брандмауэра и очередями. А значит все это можно сделать руками и в некоторых случаях это будет еще гораздо проще.

Есть два сценария реализации поставленной задачи: либо мы указываем диапазоны времени когда доступ клиента разрешен и запрещаем его в остальное время, либо запрещаем определенный временной промежуток и разрешаем вне его пределов.

Для начала рассмотрим первый вариант. Допустим мы хотим разрешить доступ с 10:00 до 23:00 вы выходные и с 17:00 до 23:00 в рабочие дни. Переходим в IP - Firewall - Filter и создаем новое правило. На закладке General указываем цепочку для транзитного трафика: Chain - forward.

parental-control-mikrotik-020.jpg

На закладке Advanced в опции Src. Address List указываем список адресов устройств ребенка.

parental-control-mikrotik-021.jpg

На закладке Extra в разделе Time выбираем нужные дни и указываем требуемый временной диапазон (ниже указано расписание для выходных дней).

parental-control-mikrotik-022.jpg

После чего сохраняем правило. Затем делаем его копию и настраиваем расписание для рабочей недели. Если требуется задать несколько диапазонов, то создаем необходимое количество правил копированием, в каждом из которых меняем время действия правила на закладке Extra.

И завершаем наш набор правил запрещающим, для него мы заполняем закладки: General - указывая цепочку Chain - forward, Advanced - задав список адресов в Src. Address List и Action - reject.

В терминале это можно сделать командами:

Другой вариант предусматривает запрет только в определенный период времени, для этого мы создаем новое правило, как и в предыдущем примере заполняя закладки General, Advanced и Extra, после чего на закладке Action добавляем действие reject. Разрешающего правила в комплект с ним не нужно, так как политика по умолчанию разрешает все исходящие транзитные соединения.

В терминале выполните (для примера мы запретили доступ с 08:00 до 17:00):

parental-control-mikrotik-023.jpg

Подобные наборы правил фактически делают все тоже самое, что и Kid Control, но не создают при этом лишней нагрузки на устройство.

Как видим, роутеры Mikrotik предоставляют достаточно широкие возможности по родительскому контролю, которые, к тому же, можно настроить несколькими разными способами.

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор - официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.


На данный момент какой-то гад нагло пытается подобрать пароль к Mikrotik RouterBoard. Об этом свидетельствуют записи system error critical. Опции отображаются красным цветом. Так же из этой записи можно видеть и дату, когда пытались подключиться, время, IP адрес злодея и сервис, на который идет атака. В данном случае это via ssh, то есть SSH сервис.

Что мы можем предпринять для зашиты Mikrotik RouterBoard? Первым делом нужно определить, какие службы запущены на Mikrotik RouterBoard. Переходим в раздел Ip Services.


Рис. 2. Раздел Services.


В появившемся окне мы видим список запущенных сервисов. Name это название сервиса.

FTP – это ftp сервер, с помощью которого можно загружать файлы на сервер и скачивать их.

SSH – это сервер, с помощью которого можно подключиться к Mikrotik RouterBoard при помощи консольных клиентов (таких как putty) и управлять Mikrotik RouterBoard консольными командами.

WINBOX – это графический интерфейс для управления Mikrotik RouterBoard.

WWW – это Веб сервер, который дает возможность с помощью браузера подключится к Mikrotik RouterBoard.

Port – это порт, на котором сервисы ожидают подключения.

Available From – указывает, для какого ip адреса или подсети разрешен доступ. 0.0.0.0/0 разрешает доступ с любого IP адреса.

Available From можно изменить таким образом, чтобы доступ к Mikrotik RouterBoard был только из внутренней сети.


Рис. 4. Изменяем сеть для которой разрешен доступ.

Кликаем дважды левой клавишей мыши на интересующем нас сервисе. Заменяем 0.0.0.0/0 на нужную нам сеть (допустим 192.168.4.0/24). Теперь сервис доступен только для сети 192.168.4.0/24.


Рис. 5. Разрешенная сеть.

Также можно разрешить доступ только с компьютера администратора: кликаем на нужном сервисе и указываем IP адрес компьютера администратора.


Рис. 6. Разрешенный IP адрес.

Сервисы FTP и WWW можно вообще отключить, если они вами редко используются.

Выбираем сервис и жмём красный крестик.


Рис. 7. Оставшиеся активные сервисы.


Рис. 8. Результат проделанной работы.

Вот и всё. Как мы видим, после выполнения действий взломщик еще один раз успел попытаться подключится. После применения настроек его попытки закончились.

Евгений Рудченко специально для asp24

Если Вы нашли ошибку в тексте, то выделите ее мышкой и нажмите Ctrl + Enter или нажмите здесь.

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

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

Содержание

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

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

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

Сервисы

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

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

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

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

Обновление

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

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

Интерфейсы

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

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

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

Настройка списков интерфейсов MIkroTik

Соседи

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

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

Настройка MikroTik Neighbor Discovery

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

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

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

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

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

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

Разрешить ICMP

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

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

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

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

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

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

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

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

MikroTik Firewall RAW таблица

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

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

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

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

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

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

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

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

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

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

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

Таблица фильтров MikroTik Firewall

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

Блокируем Bruteforce

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

Правило брандмауэра - блокировка Bruteforce

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

Большое спасибо Евгений! Поправил.

И кстати, её IP я не вижу. Даже в настройках роутера

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

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

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

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

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

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

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

Как ограничить доступ к службам Mikrotik

Когда ваш роутер, в моем примере MikroTik RB4011iGS, получает внешний IP-адрес от провайдера, который вы настраиваете на WAN порту, то боты (Это такие роботизированные программы) завидев новое устройство с внешним адресом, сразу начинаю подбирать логин с паролем, чтобы получив к нему доступ начать рассылку спама или еще чего-нибудь. Данная практика касается абсолютно всех устройств. виртуальных машин, сайтов и многое другое, что имеет доступ в интернет, все это потенциальная цель для взлома и дальнейшего паразитического использования, поэтому вы как сетевой администратор или просто ответственный пользователь должны периодически просматривать события в журналах вашего устройства, чтобы идентифицировать попытки его компрометации.

Существует три метода позволяющие вам задать IP-фильтрацию, позволяющей вам ограничить доступ к службам роутера Mikrotik, только с определенных IP-адресов.

  • Использование утилиты WinBox / Telnet
  • Web-интерфейс

Как видим у нас есть три потенциальные точки проникновения на ваш роутер микротик. Как я и писал выше, зайдя на устройство, в разделе Log, я увидел вот такой подбор паролей по разным службам:

login failure for user ftp from 88.214.26.10 via ssh или
login failure for user root from 177.185.35.216 via telnet

Логи подбора пароля на mikrotik

Как видим идет постоянная подборка учетных данных, раз в три секунды, для самого роутера эти события имеют статус "system, error, critical" и их генерирование, плохо сказывается на работе оборудования, создавая лишнюю нагрузку.

Обязательно создайте другого пользователя с новым логином и удалите учетную запись Admin, это мы делали при начальных настройках, шанс того. что вас взломают уменьшится в десятки раз Самое главное правило любого сервиса, гласит, что работать должно минимально возможное количество служб, все остальное должно быть отключено, по возможности ограничьте доступ к службам, только необходимыми адресами, для кого он предназначается. Перефразировав, чем меньше фронт атаки, тем проще защищаться

Фильтрация и отключение служб через Services

Как я и писал выше, все что вы не используете вы должны отключить, в моем случае, мне для управления моим MikroTik RB4011iGS достаточно веб интерфейса, поэтому я отключу: ftp, ssh, telnet. Для этого слева есть столбец с кнопкой "D".

Отключение лишних служб на Mikrotik

В итоге на против нужной вам службы появился крестик и сама надпись стала прозрачной.

Подбор паролей для входа на Mikrotik-03

Пробуем проверить доступность порта из Германии, как видим 22 порт SSH закрыт, это хорошо, значит его больше не будут брутфорсить.

Проверка порта на MikroTik RB4011iGS

Если вы используете, например SSH, но хотите его оградить от перебора паролей, то вы можете пойти на хитрость и разрешить обращение к нему, только с определенной сети или IP-адреса. Для этого на включенной службе, щелкните два раза. В результате чего у вас откроется редактор правила фильтрации, где вам в поле "Port" необходимо указать по какому порту будет работать служба, для большей безопасности советую менять стандартные значения, на диапазон после 1024 и в поле "Avaliable From" указать сеть или IP-адрес, кому будет разрешено. Сохраняем правило.

MikroTik RB4011iGS фильтрация доступа к службе по ip

В итоге у меня получилось вот так, пробуем проверить с другого IP доступ до служб.

Подбор паролей для входа на Mikrotik-05

Самое интересное, что порт при SSH при проверке с внешнего сервера показывал статус "Open", что слегка обескураживало

Проверка телне порта на Mikrotik

Но если вы попытаетесь подключиться через клиента Putty или его аналоги, то увидите ошибку подключения "Network error: Software caused connection abort", что доказывает, что созданное правило фильтрации на уровне службы работает.

Ошибка подключения по ssh на Mikrotik

Пробовал настроить фильтрацию служб и через WinBox, но результат тот же

Настройка служб в WinBOx

Поэтапная блокировка IP откуда идет перебор паролей на Mikrotik

Предположим, что вы все же привыкли работать в терминале, но ограничиваться одним IP-адресом или подсеткой на уровне фильтрации на службе вы не хотите, тут у вас есть два выхода:

  • Во первых, вы можете отключить SSH и Telnet, оставив только веб-интерфейс, в котором есть тот же терминал. Попасть в него можно, выбрав на роутере Mikrotik соответствующую кнопку в правом, верхнем углу. Как видите тут есть все команды.

Терминал в веб-интерфейсе Mikrotik

  • Второе, это настроить правила фильтрации и бана через SSH/Терминал, на этом я и остановлюсь. Лично я напоминаю, что я всегда стараюсь изменять стандартные значения портов на нестандартные, для большей безопасности.

Создание правил:

Первым делом перейдем в раздел /ip firewall filter

/ip firewall filter

Когда кто-то первый раз обращается по SSH на порт 2233, то мы его идентифицируем для себя и помещаем к себе в список IP адресов под названием "ssh_round1" на 2 минуты

add chain=input protocol=tcp dst-port=2233 connection-state=new action=add-src-to-address-list address-list=ssh_round1 address-list-timeout=2m disabled=no

Далее наш роутер Mikrotik начинает наблюдать за новым IP-адресом, который был помещен в "ssh_round1". Если он еще раз в течении 2-х минут попытается произвести подключение на порт SSH 2233 (В моем случае), то мы его помещаем во второй список "ssh_round2", но уже на 2 минуты.

add chain=input protocol=tcp dst-port=2233 connection-state=new src-address-list=ssh_round1 action=add-src-to-address-list address-list=ssh_round2 address-list-timeout=2m disabled=no

Далее если кто-либо из второго списка "ssh_round2" вновь попытается подключиться по SSH 2233, то мы его в третий раз заносим в новый список "ssh_round3", но уже на минуту, так как это уже подозрительно.

add chain=input protocol=tcp dst-port=2233 connection-state=new src-address-list=ssh_round2 action=add-src-to-address-list address-list=ssh_round3 address-list-timeout=1m disabled=no

Если мы выявляем, что из третьего списка к нам опять обратился данный IP-адрес, то заносим его в черный лист запрета и баним на 7 дней, неделю не меньше, как говорил кролик из Винни Пуха.

add chain=input protocol=tcp dst-port=2233 connection-state=new src-address-list=ssh_round3 action=add-src-to-address-list address-list=ssh_blacklist address-list-timeout=7d disabled=no

Создание правил по ssh mikrotik

Если хотите, чтобы все кто попал в ваш блэклист были забанены на вечно, то для этого можно использовать правило:

add chain=input protocol=tcp dst-port=2233 src-address-list=ssh_blacklist action=drop comment="drop ssh brute forcers" disabled=no

А вот так выглядят наши созданные правила в WinBox, раздел "Firewall".

Список правил в Firewall Mikrotik

Следуя таким конструкциям, вы можете создавать подобные правила и для других служб при необходимости. Надеюсь, что было интересно и вы смогли более надежно защитить ваш роутер Mikrotik.


Подробный рассказ об известных на сегодняшний день багах в RouterOS ты можешь найти в статье «Опасный MikroTik. Разбираемся в уязвимостях популярных роутеров».

Обновления

Несмотря на страшные описания и действительно большую опасность, которую таят в себе уязвимости, стоит отдать должное разработчикам MikroTik: они в кратчайшие сроки выпускают патчи. Многие дыры закрываются еще до их утечки в паблик, оставшиеся — в течение дня-двух. Поэтому первое, на что нужно обратить внимание, — актуальность версии RouterOS на твоем девайсе. Автоматически система не обновляется, поэтому за появлением новых версий нужно следить вручную. В разделе Software на сайте MikroTik лежат актуальные версии операционной системы и отдельных пакетов. Простейший способ обновиться: System → Packages → Check For Updates → Download and Install.

Те же действия можно выполнить, набрав в консольной строке роутера следующую команду: /system package update install .

Обновление системы роутера

Обновление системы роутера

Реверс малвари

Доступны четыре ветки разработки: Long-term, Stable, Testing и Development. Для критичных систем рекомендуется ставить Long-term. Железка, которая может полежать пару минут в процессе обновления, достойна Stable, остальные ветки оставь для экспериментов на домашнем роутере. Перед обновлением внимательно читай Changelog. Иногда полностью перерабатываются некоторые части ОС, после чего они не способны работать со старой конфигурацией (так было, например, с bridge в 6.41).

Если ты счастливый владелец нескольких роутеров MikroTik, помни, что массовый апгрейд стандартными средствами невозможен, но можно воспользоваться The Dude или самописными скриптами.

Packages

Следующее, за что можно взяться для повышения безопасности, — отключить ненужную функциональность. Не используешь IPv6 — отключай, не нужен Wi-Fi — отключи весь модуль, отвечающий за него (все в том же меню System → Packages). Обрати внимание, что полностью удалить из системы можно только дополнительные пакеты, то есть те, что не входят в routeros-platformname.

Службы

Все угрозы для MikroTik работают, только если админ заранее не позаботился о безопасности. При элементарных настройках служб и файрвола роутер проработает годы без обновлений. В меню IP → Services отключи ненужные службы. Рекомендую открывать только SSH и Winbox с определенных адресов, остальное — disable. Того же самого эффекта можно добиться командой /ip service disable ftp .

Список работающих сервисов

Список работающих сервисов

Проверяем, поднят ли в системе proxy

Проверяем, поднят ли в системе proxy

RouterOS имеет работающий по протоколу MNDP механизм обнаружения соседей. Знать соседей в своей сети — отличная идея, но вот светить моделью роутера и версией софта в окружающее пространство вряд ли хорошо с точки зрения безопасности.

Лучше не показывать соседям модель роутера и версию софта

Лучше не показывать соседям модель роутера и версию софта

Функция обнаружения соседей, как и многие другие фичи в RouterOS, использует в работе списки интерфейсов. В дефолтной конфигурации уже есть списки LAN, WAN, dynamic, all и none, но можно создать и свои списки со сложной структурой. Допускаются вложенные списки (include) и исключения (exclude). Настраиваются они в меню Interface → Interface Lists. Сначала создаем сам список (кнопка Lists), затем в основном меню добавляем в него интерфейсы. Команда для работы со списками выглядит так: /interface list .

Список интерфейсов

Список интерфейсов

В список dynamic входят динамические интерфейсы, такие как VPN-интерфейсы, PPPoE. None означает «ни одного», all — «все». В дефолтной конфигурации «домашних» роутеров в списке WAN будет ether1 , в LAN — от ether2 до ether5 , все Wireless-интерфейсы и bridge .

Как известно, подключиться к RouterOS можно не только по IP-адресу, но и по MAC. Также работает ping по MAC-адресу. За работу этих служб отвечает Tools → MAC Server. Он тоже использует в настройках списки интерфейсов. Стоит выделить отдельную группу интерфейсов под управление, а затем разрешить обнаружение соседей и MAC Server только ей.

Не отключай MAC Winbox и MAC Telnet совсем: однажды наступит момент, когда ты сломаешь себе доступ по Winbox и нужно будет воспользоваться подключением по MAC, поэтому лучше держать такой бэкдор для себя. К тому же MAC Telnet полезен, когда в сети появляется новая железка, у которой еще нет IP-адреса. Тогда ее удобно настраивать из консоли соседнего роутера.

На сайте производителя представлен полный список доступных сервисов. Можно пройтись по нему и проверить, не включено ли у тебя что-то лишнее.

Дефолтная конфигурация RouterOS с описанными выше дополнениями повысит безопасность роутера. Вообще, разработчики постарались сделать Default Configuration максимально универсальной и учли многие нюансы безопасности. Дальше мы рассмотрим дополнительный харденинг RouterOS.

Пользователи и группы

Если ИТ-отдел в твоей компании большой, в нем наверняка есть разделение ролей и обязанностей. К примеру, сотруднику техподдержки ни к чему права на создание VPN-соединений или просмотр пароля Wi-Fi, в то время как сетевики, естественно, должны иметь к ним доступ. RouterOS имеет достаточно гибкий механизм распределения прав. Права назначаются в группах, затем в нужную группу добавляется юзер. Управление группами доступно в меню System → Users, а также с помощью команды /user group .

Управление группами

Управление группами

Рассмотрим права групп подробнее:

  • telnet, ssh, ftp, winbox, web, api, romon, dude, tikapp — понятны по названию. Разрешают юзеру подключаться по указанным протоколам;
  • local — открывает доступ к роутеру через консоль. При отключении также заберет право открывать терминал внутри Winbox;
  • reboot — право на перезагрузку;
  • read, write — права на чтение или запись;
  • sniff — права на исполнение встроенного аналога tcpdump (tools → sniffer);
  • test — запуск инструментов траблшутинга (ping, traceroute, bandwidth-test, wireless scan, snooper);
  • password — право менять собственный пароль;
  • policy — право управлять учетными записями и группами.

Чувствительные данные

На группе настроек sensitive остановимся чуть подробнее. В RouterOS определены так называемые чувствительные данные. К ним относятся ключи Wi-Fi, IPSec, SNMP, пароли VPN-интерфейсов и серверов, пароли протоколов маршрутизации и другая информация, влияющая на безопасность.

В меню окна Winbox в разделе Settings есть флажок Hide Sensitive. Когда он включен, эта чувствительная информация закрыта звездочками и в терминале ее тоже не видно. Эдакая защита от разглашения паролей. С отключенной опцией Sensitive в настройках группы этот чекбокс не снимается, то есть право Sensitive разрешает пользователю видеть введенные пароли.

Право Sensitive разрешает пользователю видеть введенные пароли

Право Sensitive разрешает пользователю видеть введенные пароли

Port Knocking

Чуть выше мы говорили об ограничении доступа к управляющим службам роутера только с определенных адресов. Это очень важно: протокол Winbox далек от идеала и есть вероятность, что в нем еще будут находить дыры. Но часто приходится подсоединяться к роутеру из гостиниц или кафе, и невозможно предусмотреть все адреса, с которых подключишься.

Среди админов распространена техника Port Knocking. Изначально порт закрыт для всех. Но стоит снаружи выполнить какую-то последовательность действий, как для твоего IP открываются все порты для управления. Этот набор действий может быть очень сложным, и подобрать его нереально. Рассмотрим пример:

  • изначально все порты управления закрыты для всех, кроме списка разрешенных;
  • если на порт роутера 1234 попадает TCP-сегмент, затем два на порт 4321 и один на порт 5678, то адрес источника заносится в список разрешенных на сутки.

Реализовать эту последовательность действий поможет следующий скрипт.

Правила 3–6 ( action=add-src-to-address-list ) выполняют описанную выше логику. Первое правило разрешает доступ к управлению роутером только адресам из списка mgmt_allow , который заполняется на этапах 3–6. Второе правило запрещает доступ всем. Первые два правила вынесены наверх для того, чтобы избежать ненужного прохождения менеджмента трафика по четырем правилам с логикой и тем самым снизить нагрузку на CPU.

Но провернуть подобную операцию с Windows не так просто: из стандартного набора программ выпилили Telnet, а качать сторонний софт не всегда возможно. Зато любая ОС позволяет менять размер ICMP-пакета при пинге. Этим мы и воспользуемся. Изменим условия:

  • изначально все порты управления закрыты для всех, кроме списка разрешенных;
  • если на роутер попадает ICMP Request размером 345 байт, затем два размером 543 и один 678 байт, то адрес источника заносится в список разрешенных на сутки.

Для этого всего лишь поменяем предыдущие правила:

  1. Установим прокол ICMP.
  2. На вкладке Advanced зададим размер Packet Size.

Wireless

RouterOS поддерживает белые и черные списки Wi-Fi. Для этого есть список Wireless Access List. Просто добавь туда устройства, которые не имеют права подключаться к сети, а потом сними флажки Authentication и Forwarding. Еще для этих целей можно использовать команду /interface wireless access-list add .

Настройка черного списка Wi-Fi

Настройка черного списка Wi-Fi

Описанный выше случай будет работать как Blacklist. Чтобы преобразовать его в Whitelist, нужно поставить указанные флажки и изменить тип работы интерфейса Wireless с помощью команды /interface wireless set 0 default-authentication=no .

Настройка белого списка

Настройка белого списка

Флажок Authentication отвечает за аутентификацию клиентов. Если он установлен для определенного интерфейса, аутентификация разрешена всем, кроме тех устройств, которые перечислены в списке доступа без флажка. Если на интерфейсе флажок не установлен, то подключиться к сети могут лишь те, кто присутствует в списке доступа с флажком.

Настройка Forwarding отвечает за передачу данных между клиентами одной подсети. Обычно ее не стоит трогать, но, если ты строишь, к примеру, hotspot-сеть, клиенты которой будут ходить только во внешние сети (то есть внутреннее взаимодействие им не нужно), отключи данную опцию — это улучшит качество связи.

С помощью Wireless Access List можно настроить сложную логику работы клиентов: по уровню сигнала, времени суток, ограничить скорость каждого клиента или загнать его в определенный VLAN без дополнительных телодвижений. Очень рекомендую познакомиться с этим инструментом поближе.

А еще MikroTik умеет делать SSID в виде эмодзи, например так: . Для этого нужно перевести символы в Unicode с помощью инструмента вроде такого и вставить полученную строку в SSID.

Заключение

Мы рассмотрели минимум действий, которые помогут роутеру стать безопаснее, а админу спать спокойнее. Но у RouterOS под капотом еще очень много возможностей, и если не включать мозг при их настройке, то никакие статьи не уберегут тебя от взлома. Вообще, мозг — отличный инструмент. Им нужно пользоваться регулярно.

Читайте также: