Меню Закрыть

Начало работы с MikroTik

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

Начнем с ознакомления с тем, какая конфигурация будет применена в том или ином случае:

default
(из коробки)
blank
(при полном сбросе устройства)
пользователь admin без пароляпользователь admin без пароля
Neighbor Discovery выключен на ether1Neighbor Discovery на всех интерфейсах
MAC-server выключен на ether1MAC-server на всех интерфейсах
Firewall запрещает подключения с ether1Firewall выключен

Default конфигурация имеет данные настройки в связи с тем, что как правило, интерфейс ether1 смотрит в сеть провайдера (WAN). Поэтому первым делом необходимо должным образом настроить правила в firewall.

Firewall — это безопасность как маршрутизатора так и сети. Вообще, существует 2 политики безопасности:

  • общедозволительная — разрешено все, что не запрещено
  • разрешительная — все, что не разрешено, запрещено

Также для понимания механизмов защиты необходимо различать типы трафика:

  • input — трафик к устройству (разрешительный)
  • forward — проходящий трафик (общедозволительный)
  • output — трафик генерируемый устройством

Далее рассмотрим пример проброса порта из сети WAN в локальную сеть на адрес 192.168.88.100:

/ip firewall nat add chain=dstnat protocol=tcp dst-port=80 \
action=dst-nat to-address=192.168.88.100

Так как данный пакет будет являться forward-пакетом, описываться он должен в секции forward — данное правило будет перенаправлять все пакеты 80-го порта на ip-адрес 192.168.88.100.

Защита от взлома брутфорсом

Оперируя правилами в firewall, можно реализовать защиту от перебора паролей — информация взята на официальном wiki портале компании MikroTik (Bruteforce login prevention). Так как правила в таблице выполняются по порядку, сверху вниз, команды в терминале будут иметь следующий вид:

/ip firewall filter
add chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop \
comment="drop ssh brute forcers" disabled=no

add chain=input protocol=tcp dst-port=22 connection-state=new \
src-address-list=ssh_stage3 action=add-src-to-address-list address-list=ssh_blacklist \
address-list-timeout=10d comment="" disabled=no

add chain=input protocol=tcp dst-port=22 connection-state=new \
src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_stage3 \
address-list-timeout=1m comment="" disabled=no

add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_stage1 \
action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m comment="" disabled=no

add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list \
address-list=ssh_stage1 address-list-timeout=1m comment="" disabled=no

А теперь рассмотрим подробнее. Снизу вверх: последняя строчка добавляет ip-адрес клиента, который пытается подключиться по SSH, в адрес лист ssh_stage1 на 1 минуту, при подборе пароля клиент попробует подключиться вновь. И если не прошла 1 минута и он остается в ssh_stage1, то он попадает в новый адрес лист ssh_stage2. Как не трудно догадаться, при повторном подключении с ip-адресе, который находиться в ssh_stage3, клиент попадет в ssh_blacklist на 10 дней. В таком случае самое главное — использовать надежный пароль или же вообще подключаться через ключ.

Ограничение доступа

Очень часто требуется ограничить доступ к определенным ресурсам тем или иным пользователям сети. Рассмотрим данный вопрос на примере социальной сети «ВКонтакте». Необходимо понимать, что в большинстве случаев можно обойтись простым блокированием ip-адреса ресурса, но не в случае с данным ресурсом. Представим себе наиболее легкий приходящий на ум способ:

/ip firewall filter add chain=forward protocol=tcp \
src-address=192.168.88.100/24 dst-address=87.240.143.244 \
action=drop

В данном случае вспомним о масштабах vk.com и о том, что список ip-адресов привязанных к этому домену имеет вполне внушительный список. Поэтому это не решение проблемы. Тогда мы поступим иначе:

/ip firewall filter add chain=forward protocol=tcp \
src-address=192.168.88.100/24 content="vk.com" \
action=drop

При данном правиле доступ к ресурсу vk.com блокируется, но появляется проблема с отображением API элементов на сторонних сайтах (виджеты, блоки комментариев и прочее), поэтому немного его изменим:

/ip firewall filter add chain=forward protocol=tcp \
src-address=192.168.88.100/24 content="Host:vk.com" \
action=drop

После применения данного правила все заработает именно так как надо, но в нём есть небольшое упущение — долгий timeout. Дело в том, что нами был использован action=drop. Он ничего не сообщает отправителю, а просто «прибивает» пакет. Разумеется, такой вариант подразумевает разрыв соединения спустя определенный промежуток времени (как раз timeout). Поэтому целесообразнее использовать action=reject, который после сброса соединения сразу же сообщает об этом отправителю. Отредактируем правило:

/ip firewall filter add chain=forward protocol=tcp \
src-address=192.168.88.100/24 content="Host:vk.com" \
action=reject reject-with=tcp-reset

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

Немаловажным фактором безопасности устройства и сети в целом является учетная запись пользователя с правами группы «full».

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

/user add address=192.168.88.1/24,192.168.88.2/24,34.253.65.12/24 \
group=full name=username password=password

После данной команды учетную запись admin можно удалить либо отключить. Также не стоит забывать о группах пользователей. Конечно, если администратор сети один, то никаких проблем возникнуть не должно. Но гораздо проще в дальнейшем включить неактивные группы, чем случайно дать права не тому пользователю.

В настройке политики группы «read» по умолчанию включены параметры reboot и sensitive. Если не отключить данные политики, пользователи из этой группы смогут перезагрузить устройство или же просмотреть все пароли в системе, кроме паролей системных пользователей без ведома администратора.

Сервисы по умолчанию

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

Отдельно скажем о Neighbor Discovery и MAC-server. Необходимо проверить и отключить данные настройки на WAN и неиспользуемых LAN интерфейсах.

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

2 комментария

  1. Владимир

    поддерживают такие решения, как HAProxy, возможность перенаправления клиентов на разные IP-адреса, как это делает, например, Round robin DNS, отсутствует. Кроме того, низкая отказоустойчивость точек выбора соединения делает их уязвимыми для DDoS-атак в 2006 году предложили в своей работе «Valet Services: Improving Hidden Servers with a Personal Touch» новый вид узлов, которые будут размещаться перед точками выбора соединения и позволят разгрузить скрытые сервисы. В июле 2015 года началось открытое тестирование балансировщика

  2. Алла

    Sale Mikrotik LoRa products Mikrotik CRS (Cloud Router Switch) Mikrotik CCR (Cloud Core Router) Коммутаторы RouterBOARDS (indoor) Встроенные антены RouterBOARDS (OEM) Mikrotik Routers (комплекты для беспроводных сетей 5Ghz антены Адаптеры (miniPCI, PCI) Комлектующие Источники питания Mikrotik SFP модули Лицензии для RouterOS Mikrotik Техническая поддержка LTE 4G devices HikVision IP Камеры Kабели TAKEX security systems Специальные наборы Обучение Контактная информация Как приобрести Техническая поддержка Продукты программное обеспечение RouterOS

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