Мой MikroTik – моя цифровая крепость (часть 1)
1. Введение
В комментариях опубликованной ранее статьи один из пользователей спросил: «А можно добавить раздел про то, как нужно защитить свой, микротик чтобы управление им не ушло на сторону?». Один из пользователей написал на это следующее: «Универсальных принципов для любого сетевого устройства два – администрирование только с внутреннего интерфейса (снаружи закрыто все) и регулярно обновлять прошивку» (сохранена авторская орфография). А мы сразу поняли, что одним коротким ответом здесь не обойтись, и этот вопрос заслуживает полноценного отдельного рассмотрения с учётом широких возможностей операционной системы RouterOS, а также сопрягаемых с ней opensource решений, комплексно завершающих проблемный вопрос информационной безопасности. Кроме непосредственно настройки безопасности доступа до маршрутизатора, необходимо использовать его как полноценный барьер для разноуровневых атак, которые могут быть нацелены на защищаемую сеть. Технологий реализации этого достаточно много, поэтому разделим применяемые возможности на логические уровни и представим предметные рекомендации по администрированию сетей на базе оборудования MikroTik.
2. Общие рекомендации
Первое, что мы всегда делаем с железкой — это обновляем прошивку:
Далее смотрим, сколько создано пользователей, лишних удаляем. Ставим пароли, соответствующие политике информационной безопасности компании, если такая есть, если нет, тогда просто посильнее:
Если паранойя зашкаливает, тогда используем SSH вход без ввода пароля (и пользователя admin можно заменить на другого). Сгенерим пару RSA ключей, размер укажем 4096 бит, что уж мелочиться:
На выходе будет закрытый ключ test_user:
И открытый ключ test_user.pub:
Привяжем открытый ключ к пользователю RouterOS:
Добавляем хардкор, запретив логиниться по паролю:
Важно отметить, что если есть пользователь, для которого не импортирован публичный ключ, то, несмотря на вышепоказанную настройку, RouterOS сохраняет возможность логиниться под ним с помощью пароля. С учётными записями разобрались, далее выключаем серверы различных протоколов управления, в том числе небезопасные, разумеется, есть ли они вам не нужны:
Можно поменять прослушиваемый порт для SSH сервера. Особенно на значение, не входящее в сканируемые по умолчанию nmap-ом, но мы в этом защиты не видим, скорее маскировка:
Сканируем роутер и видим, что всё работает корректно. Сервер SSH будет недоступен, пока на роутер не пройдут попытки установления соединения на 28 порт, затем в течение 30 секунд на 29 порт, затем в течение 30 секунд на 30 порт. Если последовательность обращений верна и временные лимиты соблюдены, то IP адрес источника сможет в течение 30 секунд установить SSH сессию, а иначе drop:
Необходимо отметить, что если вы укажете порты стука примерно в таком порядке: 21, 80, 443, а прослушиваемый SSH порт перенесете на значение 8080 (все четыре входят в список по умолчанию для сканирования nmap), то ваш секретный порт 8080 определится при первом же сканировании. Если вы действительно хотите использовать технологию port knocking, то выбирайте порты в порядке уменьшения, а сами значения портов на «не сканируемые» nmap-ом: ни в режиме top 100, ни в режиме top 1000. Кроме этого, можно ограничить IP адреса, с которых доступны протоколы управления, на диапазон доверенных:
Таким образом, несмотря на то, что 22 порт готов принимать TCP соединение, однако с не доверенных IP адресов оно будет сброшено SSH сервером:
Как общие рекомендации, лучше не использовать протоколы, не имеющие шифрования для передачи защищаемой информации. Если такой возможности нет, тогда старайтесь пускать трафик по шифрованным VPN туннелям. Но лучше даже внутри таких соединений использовать безопасные протоколы, ведь VPN сеть может уходить далеко за пределы периметра, контролируемого вами. Если есть возможность, не используйте протоколы pap, http (в том числе при реализации API), ftp, smtp и т.д. Всегда используйте их безопасные аналоги: chap, mschap2, https, smtps.
Делайте регулярные резервные копии конфигураций ваших устройств. В RouterOS есть два типа backup: бинарный *.backup
и текстовый конфигурационный файл *.rsc
Первый рекомендуется откатывать только на полностью идентичных устройствах, и не подлежит редактированию (при откате восстанавливается точный образ операционной системы). Второй же, наоборот, можно вручную контролируемо построчно обрабатывать (до получения необходимо результата), однако он может содержать чувствительную информацию (если не делать /export hide-sensitive), поэтому рекомендуем обезопасить хранение такого рода backup файлов. Ставить ли регулярный backup в планировщик заданий, или нет, тут уже каждый решает сам. Главное — не запутаться во всех резервных копиях и не передавать их на удалённый сервер по открытому интернет каналу посредством ftp.
3. Защита L1
Писать правила про установку сетевого оборудования в серверных помещениях, в защищённых телекоммуникационных ящиках, сейфах и т.д. мы не будем, это не тема статьи. Для защиты L1 на оборудовании MikroTik будет достаточно программно отключить не используемые сетевые интерфейсы:
Сюда же пойдёт организация безопасности беспроводных соединений. В идеале, конечно, следует настроить WPA2-Enterprise (подробно о настройке RADIUS сервера мы напишем во второй части статьи), так как реальных угроз безопасности таких сетей пока не известно:
Если такой вариант вам не подходит, тогда используйте WPA2-PSK со словарно неподбираемым паролем, который держите в тайне от третьих лиц, и отключённый PMKID:
Ещё можно запретить подключаться к точке доступа с низким уровнем сигнала, т.е. физически удалённым пользователям, которые, можно предположить, находятся за контролируемым периметром и не легитимны:
На этом свои рекомендации по поводу L1 безопасности остановим и перейдём к более интересным вещам.
4. Защита L2
Для начала ограничим работающие сервисы уровня L2:
Первый скрипт позволяет осуществлять mac-ping только для внутренней сети. Второй ограничивает L2 подключение посредством службы Winbox:
RouterOS поддерживает работу таких протоколов, как CDP, LLDP и MNDP. Чтобы не осуществлять широковещательную рассылку пакетов указанных протоколов во все стороны, ограничиваем их работу:
Чтобы со стороны провайдера не догадывались, что у вас стоит роутер MikroTik, можно сменить MAC адрес WAN интерфейса, но это скорее баловство:
Если в вашем L2 сегменте появится второй или более незаконный DHCP сервер, то это может здорово навредить работе всей сети. Так в примере видно, что работают две указанные службы (192.168.1.1 и 192.168.3.1), раздавая по факту разные сетевые настройки:
Для защиты от такого рода атак (ведь хакер может назначить и своё устройство в качестве шлюза) существует технология «DHCP snooping». После её активации бридж пропускает DHCP пакеты только в доверенную сторону:
Защита оконечных устройств выходит за рамки данной статьи, но декларируем, что многие антивирусы справляются с этой задачей, детектируя манипуляции с ARP пакетами. На скрине видно, что действиями выше мы организовали MITM для хоста 192.168.1.3 и перехватили его HTTP запросы:
В следующем примере показаны ложные записи ARP таблицы маршрутизатора, а ведь так намеренно можно заполнить весь имеющейся пул и втупить работу легитимного DHCP сервера:
Для защиты от таких действий в RouterOS необходимо, первым делом, настроить DHCP сервер, что позволит активировать функцию заполнения ARP таблицы, либо в результате его работы, либо в ручном режиме:
После этого настраиваем бридж, переводя маршрутизатор в режим только ответа на ARP запросы (если у вас работает hotspot, то от этой идеи придётся отказаться, так как он перестанет нормально функционировать), таким образом, сторонние манипуляции будут бессильны:
Дополнительно следует выключить режим обучения портов MAC адресам:
Если ваш маршрутизатор гоняет пакеты для логически разделённых сетей, в том числе с точки зрения безопасности, то их следует разнести по различным VLAN. Важно понимать, что если через ваше устройство проходят несколько VLAN, то в случае несанкционированного доступа к роутеру или коммутатору, могут быть скомпрометированы устройства во всех этих подсетях. Здесь всё понятно. Дополнительно можно указать устройству проверять tag трафика и дропать пакеты, у которых VLAN ID не найден в его таблице VLAN:
5. Заключение
На этой админской ноте прервём наши рассуждения, которые отображают подходы, применяемые нами в построении реальных сетей и обеспечении их информационной безопасности. Никакие ноухау статья не раскрывает, но в определённой мере систематизирует имеющиеся возможности и показывает их практическое применение. Дальше будет интереснее…
Mikrotik RoS, полезные мелочи
Что такое Quick Set?
Quick Set — это мастер автоматической конфигурации, который помогает быстро, не погружаясь в глубины тонкой настройки RoS, настроить роутер и начать им пользоваться. В зависимости от устройства, вам могут быть доступны несколько шаблонов:
Безопасность
Конфигурация по умолчанию уже не дает подключаться к роутеру из внешней сети, но основывается защита только на пакетном фильтре. Не забываем, про установку пароля на пользователя admin. Поэтому, в дополнение к фильтрации и паролю, я делаю следующие:
Доступность на внешних интерфейсах
Отключаю не нужные в домашней сети (и не во всех не домашних сетях) сервисы, а оставшиеся ограничиваю областью действия, указывая адреса, с которых можно к этим сервисам подключится.
Следующим шагом, будет ограничение на обнаружение роутера с помощью поиска соседей. Для этого, у вас должен быть список интерфейсов, где данный протокол может работать, настроим его:
Добавим в список discovery интерфейсы, на которых мы хотим, чтобы протокол Neighbors Discovey работал.
Теперь настроим работу протокола, указав список discovery в его настройках:
В простой, домашней конфигурации, в списке discovery могут быть интерфейсы, на которых может работать протокол доступа по MAC адресу, для ситуаций, когда IP не доступен, поэтому настроим и эту функцию:
Теперь, роутер станет «невидимым» на внешних интерфейсах, что скроет информацию о нем (не всю конечно), от потенциальных сканеров, и даже, лишит плохих парней легкой возможности получить управление над роутером.
Защита от DDoS
Теперь, добавим немного простых правил в пакетный фильтр:
И поместим их после правила defcon для протокола icmp.
Результатом будет бан на сутки для тех, кто пытается открыть более 15 новых соединений в секунду. Много или мало 15 соединений, вопрос спорный, тут уже сами подбирайте число, я выбрал 50 для корпоративного применения, и таких банит у меня 1-2 в сутки. Вторая группа правил гораздо жестче, блокирует попытки соединений на порт ssh(22) и winbox(8291), 3-и попытки за минуту, и отдыхай сутки ;). Если вам необходимо выставить DNS сервер в интернет, то подобным правилом можно отсекать попытки DNS Amplification Attacks, но решение не идеальное, и ложно-положительных срабатываний бывает много.
RFC 1918
RFC 1918 описывает выделение адресных пространств для глобально не маршрутизируемых сетей. Поэтому, имеет смысл блокировать трафик от\к таким сетям, на интерфейсе, который смотрит к провайдеру, за исключением ситуаций, когда провайдер выдает вам «серый» адрес.
Поместите эти правила ближе к началу и не забудьте, добавить в список WAN интерфейс, смотрящий в сторону провайдера.
А вот набор маршутов в «черную дыру»
Этот набор маршрутов направит весь трафик до сетей RFC 1918 в «черную дыру», однако, если будут маршруты с меньшей метрикой, то такой трафик пойдет через эти маршруты. Полезно для гарантии того, что приватный трафик не просочится во внешнюю сеть.
За совет благодарим achekalin
Довольно спорная технология, которая позволяет приложениям попросить роутер пробросить порты через NAT, однако, протокол работает без всякой авторизации и контроля, этого просто нет в стандарте, и часто является точкой снижающей безопасность. Настраивайте на свое усмотрение:
SIP Conntrack
Кроме всего прочего, стоит отключить модуль conntrack SIP, который может вызывать неадекватную работу VoIP, большинство современных SIP клиентов и серверов отлично обходятся без его помощи, а SIP TLS делает его окончательно бесполезным.
IPv6 туннели
Если вы не используете IPv6 или не хотите что-бы рабочие машины с Windows поднимали IPv6 туннели без спроса, тогда заблокируйте следующий трафик:
За совет опять благодарим achekalin
Динамические и вложенные списки интерфейсов
Эта функция появилась совсем недавно (с версии 6.41), и она очень удобная. Однако, есть особенность: глубина вложенности. Невозможно вложить вложенный список во вложенный список. Если вы так сделаете (фича такая) вам не сообщат о проблеме, просто такой список работать по факту не будет.
В городской среде, когда эфир крайне зашумлен, имеет смысл отказаться от каналов в 40MGhz, это увеличивает удельную мощность сигнала на канале, так как 40MGHz канал по сути, это два канала по 20MGHz.
Bridge & ARP
Если у вас роутер раздает интернет и дает клиентам настройки по DHCP, имеет смысл установить настройку arp=reply-only, а в DHCP Server включить add-arp=yes
Такая настройка помешает выставить IP адрес вручную, так как роутер согласится работать только с той парой MAC-IP, которую выдавал сам.
С целью ответа на этот вопрос, мы и написали эту статью. Было решено свести весь опыт настроек в одну статью и полностью закрыть эту потребность. Вам больше не нужно будет искать исчерпывающих материалов по этому вопросу. Всё находится здесь, в этой статье.
Особенности функционала
Одна из важных особенностей роутера, это возможность подключить его к электропитанию не только от стандартного адаптера, но и с помощью poe адаптера.
Маршрутизаторы Mikrotik не имеют внешнего порта. Какой порт выделить и сделать внешним решает только пользователь. Это опять же выгодно отличает его от роутеров других фирм, где уже есть выделенный внешний порт.
Роутер хорош ещё тем, что его сеть работает без перебоев. Достаточно настроить сеть один раз и всё, она будет постоянно работать стабильно.
Отдельно стоит сказать об операционной системе роутера. Называется она Router OS, заточена под Linux и поддерживает практически весь его сетевой интерфейс. Система предназначена для построения маршрутизаторов, станций vpn серверов, файерволов и других устройств управления сетями. Операционка способна решать множество задач, которые связаны с сетью.
Эта ОС существует так же как x86 дистрибутив, что позволяет превратить свой персональный компьютер в большой маршрутизатор, в котором будут присутствовать возможности vpn сервера, файервола и Qos точки доступа.
Поддерживает огромное количество протоколов и сервисов, среди которых:
Если брать во внимание беспроводные чипсеты, то здесь Mikrotik поддерживает такие, которые идут с основой решений на Atheros и Prism. Router OS даёт графический интерфейс, это нужно для маршрутизации и управления QoS, а также для настроек файервола.
Способы настройки
Мы рассмотрим все известные способы. Вы получите исчерпывающую информацию по этому вопросу. Рассмотрим даже настройку по Telnet, которую тяжело найти в интернете, а ведь люди её часто ищут и теряются, когда не могут найти.
Это общие настройки, которые подойдут для любых роутеров компании Микротик, включая роутеры «hap lite» и «952ui 2hnd». На этом предисловия более чем достаточно. Начинаем настраивать.
Настройка с помощью Winbox
Эта утилита открывает перед пользователем окно конфигурации Mikrotik. Здесь у пользователя есть выбор, либо оставить всё как есть, либо изменить.
При запуске, открывается окно с вводом. Там нужно ввести IP-адрес роутера и логин и нажать «Connect».

Если нет IP-адреса, то это не беда, роутер Микротик может делать подключение к сети с помощью MAC-адреса. Что для этого нужно?
Чуть ниже находим вкладку «Neighbors»;

Программа выполнит анализ соединений и покажет MAC-адрес роутера;
Нажимаем на адрес и потом на «Connect».
Теперь мы можем производить настройку маршрутизатора. Для более быстрой настройки, рекомендуется не трогать заводские настройки и просто нажать «OK».

Переходим к быстрым настройкам роутера. Для этого нам нужно выполнить следующее:

В «Quick Set» все данные по сетям собраны в отдельные разделы. Ниже, мы подробней ознакомимся с ними.
Беспроводная сеть
Располагается в левой части вкладки «Quick Set». В ней требуется:

Интернет
Располагается вверху с правой стороны вкладки «Quick Set».
Там даётся на выбор 3 варианта интернета. Пройдёмся подробно по каждому.



Ничего сложного нет. Просто всё нужно делать, как указано здесь и не нужно ничего изобретать. А мы идём дальше.
Локальная сеть
Располагается там же, в окне «Quick Set». В этой вкладке можно сделать настройку IP-адреса роутера Mikrotik и провести настройку DHCP-сервера.

Не забудьте поставить галочку возле NAT, это позволит интернету работать нормально, без всяких сбоев. Закончив с настройками в «Quick Set», нажимаем на «Apply». После этого нужно перезагрузить компьютер. Тогда настройки вступят в силу. С этим вам всё понятно. Нужно всё делать по шагам, как написано выше. Переходим к следующему пункту.
Установка пароля администратора
Нужно вручную установить пароль на Микротик. Для этого нам нужно:




Вы сделали установку пароля администратора. Теперь переходим к ручной настройке роутера.
Ручная настройка
Казалось бы, что всё автоматизировано и не нужно особых усилий. Но бывают ситуации, когда нужно настроить роутер вручную. Это конечно всё сложно и непросто, но это позволит настроить роутер индивидуально под свои нужды.
Удаляем заводскую конфигурацию
Ручную настройку можно провести, только удалив заводскую конфигурацию. Для этого нам нужно выбрать «Remove Configuration» в окне, которое появляется при первом запуске.

Если такое окно не появилось, то роутером кто-то пользовался. Не нужно переживать. В таком случае удаляем заводскую конфигурацию так:


После этого Микротик перезагрузится и будет готов к работе.
Переименование сетевых интерфейсов
У роутеров Mikrotik есть небольшой минус с названием портов. Они все одинаково называются и можно запутаться. Именно для этого существует этот раздел.
Названия портов можно посмотреть в разделе «Interfaces Winbox».

Как видно из изображения, везде функцию порта WAN выполняет ether 1. Это не проблема, порты можно переименовать. Делается это так:


Так можно делать со всеми портами. Их можно переименовать или оставить так как есть. Переходим к настройке интернета.
Настройка интернета
Здесь есть несколько вариантов настройки. Начнём по порядку.
DHCP
Для доступа к нему, ищем раздел «IP» и переходим там в «DHCP Client»

Появляется окно. Нажимаем в нём на «+», это даёт нам возможность создать нового клиента. Потом нажимаем «OK».

Пройдёмся подробней по этой вкладке.
Подключение со статическим IP
При необходимости воспользоваться этим типом подключения, нужно узнать у провайдера все требующиеся настройки. Что мы делаем, когда нам уже всё известно:



Всё, на этом настройка подключения статического IP завершена.
Соединение, требующее авторизации
Бывает такое, что провайдер может использовать соединение L2TP или PPPoE. Для того чтобы выставить настройки, нам нужно зайти во вкладку «PPP». Там нам нужно выполнить следующие действия:



Соединения L2TP и PPTP настраиваются аналогично. Отличие только в наличии в этой вкладке поля «Connect To». Туда вводится адрес VPN-сервера.
Если провайдер использует привязку по MAC-адресу
Бывают случаи, когда нужно изменить MAC-адрес на требуемый провайдером. Для этого нам нужно выбрать «New Terminal» и нажать в открывшемся окне «Enter».
.png)
В терминале вводим следующую команду: /interface ethernet set WAN mac-address=00:00:00:00:00:00
Переходим в «Interfaces» и открываем свойства WAN. Там смотрим, изменится ли MAC-адрес.

Его можно будет использовать только после настройки локальной сети.
Настраиваем беспроводную сеть
Для этого, нам нужно зайти во вкладку «Wireless».

Переходим на вкладку профиля безопасности и нажимаем на «+». Появляется окно, в которое вводим пароль для wi-fi и ставим нужные способы шифрования.

В свойствах находим вкладку «Wireless». Там делается вся настройка.

Выставите параметры, как на скриншоте.
Локальная сеть
Для её настройки делаем следующие шаги:



На этом, мы заканчиваем настройку через программу Winbox. Следуйте всем шагам в инструкции и сможете нормально настроить свой роутер.
Настройка с помощью WebFig
Рассмотрим настройку wi-fi роутера через эту утилиту более подробно. Прежде всего, нам нужно зайти на веб интерфейс Микротика. Для этого вводим в браузере «https://192.168.88.1». Заходим в настройки через введение логина и пароля. В месте ввода логина пишем «admin», а поле с вводом пароля оставляем пустым. После ввода нажимаем на кнопку «Login».

Находим сверху вкладку «WebFig»

Заходим в неё и слева выбираем раздел «Wireless». Посередине откроется список подключений. Выбираем там «wlan1».

В выбранных настройках нас интересуют настройки под пунктом «Wireless».

В SSID указываем название сети wi-fi.
Мы почти закончили настройку wi-fi. Остаётся перейти в раздел «Security Profiles» и нажать там на «default».

Откроется окно, где в «Mode» нужно выбрать графу «dynamic keys», возле «Authentication Type» выбираем галочкой «WPA2 PSK». В «WPA2 Pre-Shared Key» вводится пароль от wi-fi сети.

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






На этом настройка локальной сети закончена. Идём дальше.
Настройка интернет соединения
Это последняя настройка роутера Микротик, через «WebFig». Что мы делаем?
В завершение, мы создаём пользователя для входа в роутер Микротик и отключаем стандартного пользователя «admin».
Всё, на этом настройка wi-fi роутера через «WebFig» закончена.
Настройка с помощью Telnet
Что такое Telnet?
Это сетевой протокол. Его задача заключается в реализации текстового терминального интерфейса по сетям. Позволяет создавать взаимодействие между терминальными устройствами и процессами.
Используется в связке Терминал-Терминал и Процесс-Процесс. Некоторые клиентские утилиты так же имеют название «Telnet». Выполняет функции протокола уровня модели OSI.
Настройка этим способом будет делаться через подключение к MAC Telnet Server`у. В Telnet сервере на интерфейсе уже включён по умолчанию «ether1» и не нужно делать дополнительных действий.
Какие наши действия?
Открываем приложение «Терминал». Оно находится в подменю «Утилиты», которое находится в «Приложения»;
По сути, это та же командная строка как в Виндовс. Все нижеследующие команды вводятся в ней.
Делаем подключение к серверу: /tool mac-telnet 00:0c:10:e5:6с:79
И так же помните, что для настройки через Telnet, вы должны использовать либо утилиту Winbox, либо Telnet клиент.
Если у вас случай, когда вы не знаете MAC-адрес, то можно его определить вот так:
Если вы работаете через Winbox, то нажмите там на многоточие. По умолчанию, логин: admin, пароль: пустой.
После определения MAC, делаем проверку настроек IP-адреса.
Настройка IP-адреса
Далее, добавляем адрес шлюза:
Проводим настройку дополнительных маршрутов:
На этом всё. Теперь Микротик полностью настроен через Telnet.
Если нужно будет определить, на каких интерфейсах находится MAC-Server, то делаем это следующим образом:
Мы выполнили полную настройку роутера через Telnet. Делайте всё по инструкции, которая указана выше и вы максимально быстро настроите свой роутер.
Заключение
Мы прошли по всем шагам настроек. Увидели все способы настроек и сделали полный разбор шагов.
Вам нужно просто взять то, что есть в статье и делать всё строго по шагам. Не нужно ничего придумывать и экспериментировать, прочитали и повторили у себя. Надеемся, что статья была для вас полезной. Удачной вам настройки и спокойной работы с роутером!




.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)




