Разное

Mikrotik защита: Защищаем MikroTik. Хитрости безопасной настройки роутера — «Хакер»

Содержание

MikroTik: Часть 6 — Firewall защита доступа |

Продолжение предыдущих статей по организации единой локальной сети.
 
Содержание цикла статей:

  1. Создание домашней сети на базе устройств MikroTik: Часть 1
  2. Создание домашней сети на базе устройств MikroTik: Часть 2 — Настройка hAP ac
  3. Создание домашней сети на базе устройств MikroTik: Часть 3 — Настройка RB750gr3 hEX
  4. Создание домашней сети на базе устройств MikroTik: Часть 4 — Создание OpenVPN туннеля
  5. Создание домашней сети на базе устройств MikroTik: Часть 5 — Создание EoIP туннеля
  6. Создание домашней сети на базе устройств MikroTik: Часть 6 — Firewall защита доступа (Вы тут)
  7. Создание домашней сети на базе устройств MikroTik: Часть 7 — Firewall правильное перенаправление портов в сети с двумя шлюзами
  8. Создание домашней сети на базе устройств MikroTik: Часть 8 – Установка и настройка MikroTik DUDE Network Monitor

Будьте внимательны, в этой статье рассматривается только Firewall Filter. Если Вы видите, что у Вас нет интернета после настройки, скорее всего вы не прошли предыдущие шаги настройки роутера. В них есть пункт Firewall NAT, где производится специальная настройка позволяющая устройствам в сети выходить в интернет.

В прошлых частях мы с Вами настроили единую локальную сеть через EoIP туннель построенном поверх OpenVPN.

К каким результатам мы пришли:
У нас встает вопрос безопасности нашей локальной сети, ведь китайские боты не спят и постоянно сканируют доступное сетевое пространство на наличие дыр и уязвимостей.
Имея статический IP мы подвержены риску быть взломанными. Т.к. наш статический IP доступен в интернете, он может подвергаться различного рода «атакам из вне».
Поэтому нам нужно сделать так, чтобы только мы могли подключаться к нашим роутерам и другим сервисам в локальной сети.
В принципе жесткую защиту мы делать не будем. У нас ведь не корпоративная сеть, а домашняя. Данной статьей мы попробуем закрыть самые распространенные пробелы в защите нашего роутера и локальной сети в общем. Не будем допускать банальных ошибок.

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

За все операции обработки трафика в сетевых устройствах отвечает так называемый “Межсетевой экран” (Eng – Firewall)
Именно он определяет куда отправлять тот или иной пакет, как обрабатывать соединения и многое, многое другое…
Чтобы охватить весь спектр работы Firewall-а не хватит не только одной статьи, но и 10 или 20 статей точно. Настолько велики его возможности и вариации применения.
Кстати это касается не только MikroTik RouterOS, а принципа фильтрации трафика в общем в операционных системах (даже на Windows)!

Официальные данные на MikroTik Wiki: IP/Firewall/Filter [ENG]

Давайте взглянем, где находится этот самый Межсетевой экран в наших устройствах(ведь RouterOS одинакова на всем оборудовании MikroTik):
Он находится по пути IP -> Firewall
Путь до межсетевого экранаОкно для ввода правил фильтрации

Кратко пробежимся по основным вкладкам Firewall:
1 – Filter Rules – тут основные разрешающие и блокирующие правила.
2 – NAT – тут формируются перенаправления трафика.
3 – Mangle – тут происходит маркировка соединений и пакетов, отлов определенного вида трафика для дальнейшей его обработки.
Остальные вкладки пока рассматривать не будем, они нам не пригодятся.
4 – Raw – тут можно правилами отловить паразитный трафик и тем самым снизить нагрузку на CPU. Полезно для смягчения DOS атак.
5 – Service Ports – Для некоторых сетевых протоколов требуется прямое двустороннее соединение между конечными точками. Это не всегда возможно, поскольку трансляция сетевых адресов широко используется для подключения клиентов к сети. Это подменю позволяет настроить «помощники отслеживания соединений» для вышеупомянутых протоколов. Эти «помощники» используются для обеспечения правильного обхода NAT.
6 – Connections – тут отображаются все текущие соединения проходящие через маршрутизатор.
7 – Address List – тут списки адресов брандмауэра позволяют пользователю создавать списки IP-адресов, сгруппированных под общим именем. Затем фильтры брандмауэра, Mangle и NAT могут использовать эти списки адресов для сопоставления пакетов с ними.
8 – Layer7 Protocols – тут можно создавать шаблоны для поиска в потоках ICMP / TCP / UDP. L7 собирает первые 10 пакетов соединения или первые 2KB соединения и ищет шаблон в собранных данных.

Часть терминов может показаться непонятной, но в этом нет ничего страшного, мы будем работать только с первым пунктом Filter Rules. Хотя в нем тоже, очень много вариантов создания правил.
Сразу нужно оговориться, что полной безопасности Вам никто не обеспечит и это важно понимать! Но боятся не стоит, мы ведь не популярная корпорация за которой ведется промышленный шпионаж, нам достаточно превентивных мер ))))

Конфигурация по умолчанию:

На MikroTik Wiki представлена базовая конфигурация в таком виде: Basic universal firewall script [ENG]

Вы можете использовать её или нет )
Я делаю несколько по своему, возможно что-то тут не идеально, и Вы обладая большим опытом подскажите мне в комментариях, как сделать лучше ))

 
 
1. Перейдем к созданию правил в Firewall Filter Rules

Отступление: А ты засейвился? (Кнопка Safe Mode)

Все правила добавленные в таблицу применяются последовательно, сверху вниз. Будьте осторожны не добавляйте сразу правило, блокирующее все что только можно. Вы можете потерять доступ к роутеру и тогда придется его сбрасывать и перенастраивать заново.
Я рекомендую использовать магическую кнопку Safe Mode для таких целей. Если эта кнопка нажата и Вас отключит от роутера, настройки вернутся к моменту нажатия на эту кнопку. Очень полезная вещь, особенно если Вы работаете удаленно.
Magic Button =)

Правила добавляются по уже знакомой нам кнопке плюс…
Добавление правил

1.1. Перво наперво нам нужно разрешить уже установленные(Established) и связанные(Related) соединения и сбросить некорректные(Invalid) соединения для проходящих (маршрутизируемых) пакетов в цепочке Forward и предназначенных локальной системе в цепочке Input.
Так мы снизим нагрузку на маршрутизатор обработав эти данные сразу.
Зачем повторно обрабатывать эти соединения если они уже и так установлены или неизвестны. Экономим ресурсы процессора. Т.е. эти правила будут в самом начале нашей таблицы.

Добавление правил 1.1. через WinBox (Изображения)

Консольно:

/ip firewall filter
add action=accept chain=forward comment="1.1. Forward and Input Established and Related connections" connection-state=established,related
add action=drop chain=forward connection-state=invalid
add action=accept chain=input connection-state=established,related
add action=drop chain=input connection-state=invalid

Дополнительно: Защита локальной сети от атак из публичного интернета
Очень часто люди используют настройки по умолчанию на своих маршрутизаторах. Это также означает, что можно угадать, какой локальный адрес используется за маршрутизатором. Обычно это 192.168.88.0/24 для устройств, работающих на RouterOS. Это означает, что в общедоступной сети злоумышленник может создать простой маршрут, который говорит, что 192.168.88.0/24 находится за вашим общедоступным IP-адресом.
Таким образом злоумышленник может атаковать ваши локальные сетевые устройства.
Чтобы защитить вашу локальную подсеть от этих атак, можно использовать очень простое правило фильтра брандмауэра. Это правило отбрасывает все пакеты, которые предназначены для локальной сети, но не являются NAT

/ip firewall filter
add action=drop chain=forward connection-nat-state=!dstnat connection-state=new in-interface-list=Internet

 
 
1.2. Далее необходимо обеспечить защиту. Продолжим мы с Лимита входящих соединений.
Это даст нам некоторую защиту от DDoS атак.

Далее, большинство правил будут включать в себя параметр Списков интерфейсов In Interface List. Это замена для параметра In Interface.
Позволяет группировать интерфейсы и применять правила Firewall обращаясь сразу к нескольким интерфейсам.
Более подробно про данные списки можно почитать в отдельной статье: MikroTik RouterOS – Списки интерфейсов “Interface List”

Чтобы дальнейшие правила отработали корректно Вы должны внести WAN интерфейс в список Internet, а все локальные интерфейсы в список Local.
Сами списки также нужно создать. Имена списков Вы можете задавать свои не обязательно, как у меня.
Вся информация по тому, как это делать по ссылке выше в статье MikroTik RouterOS – Списки интерфейсов “Interface List”

Добавление правил 1.2. через WinBox (Изображения)

Консольно:

/ip firewall filter
add action=add-src-to-address-list address-list=ddos-blacklist address-list-timeout=1d chain=input comment="1.2. DDoS Protect - Connection Limit" connection-limit=100,32 in-interface-list=Internet protocol=tcp
add action=tarpit chain=input connection-limit=3,32 protocol=tcp src-address-list=ddos-blacklist

 
 
1.3. Следом идет защита от SYN флуда.
Что это такое можно почитать тут: https://ru.wikipedia.org/wiki/SYN-флуд или в более профильных изданиях.
Защищать мы будем, как проходящий трафик, так и входящий трафик. Путем создания отдельной цепочки SYN-Protect

Добавление правил 1.3. через WinBox (Изображения)

Консольно:

/ip firewall filter
add action=jump chain=forward comment="1.3. DDoS Protect - SYN Flood" connection-state=new jump-target=SYN-Protect protocol=tcp tcp-flags=syn
add action=jump chain=input connection-state=new in-interface-list=Internet jump-target=SYN-Protect protocol=tcp tcp-flags=syn
add action=return chain=SYN-Protect connection-state=new limit=200,5:packet protocol=tcp tcp-flags=syn
add action=drop chain=SYN-Protect connection-state=new protocol=tcp tcp-flags=syn

 
 
1.4. Защита от сканеров портов (PSD – Port Scan Detection).
На счет данного правила есть разные мнения, кто-то считает, что оно не нужно, кто-то, что нужно.
Я же предпочитаю немного себя подстраховать. Тем более, что благодаря данному правилу Address Lists заполняется какими-то забугорными IP адресами )

Добавление правил 1.4. через WinBox (Изображения)

Консольно:

/ip firewall filter
add action=drop chain=input comment="1.4. Protected - Ports Scanners" src-address-list="Port Scanners"
add action=add-src-to-address-list address-list="Port Scanners" address-list-timeout=none-dynamic chain=input in-interface-list=Internet protocol=tcp psd=21,3s,3,1

 
 
1.5. Защита WinBox порта от перебора.
Логика обработки тут следующая.
1. Когда мы подключаемся к роутеру на порт 8291, то мы имеет состояние соединения new, правило добавляет наш IP в список уровня 1
2. Если мы не авторизовались и отключились, а после снова пытаемся подключиться, то мы опять будем иметь состояние соединения new. При этом наш IP адрес уже будет в Списке 1
Соответственно наш IP попадет в список уровня 2 и т.д до тех пор пока нас не заблокирует Правило 13, и уже после этого Правило 12 не будет нам давать возможность новых подключений к роутеру по порту 8291.
3. А если мы авторизовались, то наше соединение перейдет из состояния new в состояние established и обработка соединения уже будет вестись самым верхним правилом 2, которое нам все разрешает.
По сути у злоумышленника может быть всего четыре возможности Авторизоваться у нас на роутере через порт WinBox

Добавление правил 1.5. через WinBox (Изображения)

Консольно:

/ip firewall filter
add action=drop chain=input comment="1.5. Protected - WinBox Access" src-address-list="Black List Winbox"
add action=add-src-to-address-list address-list="Black List Winbox" address-list-timeout=none-dynamic chain=input connection-state=new dst-port=8291 in-interface-list=Internet log=yes log-prefix="BLACK WINBOX" protocol=tcp src-address-list="Winbox Stage 3"
add action=add-src-to-address-list address-list="Winbox Stage 3" address-list-timeout=1m chain=input connection-state=new dst-port=8291 in-interface-list=Internet protocol=tcp src-address-list="Winbox Stage 2"
add action=add-src-to-address-list address-list="Winbox Stage 2" address-list-timeout=1m chain=input connection-state=new dst-port=8291 in-interface-list=Internet protocol=tcp src-address-list="Winbox Stage 1"
add action=add-src-to-address-list address-list="Winbox Stage 1" address-list-timeout=1m chain=input connection-state=new dst-port=8291 in-interface-list=Internet protocol=tcp
add action=accept chain=input dst-port=8291 in-interface-list=Internet protocol=tcp

 
 
1.6. Защита OpenVPN порта от перебора.
Данная защита делается абсолютно аналогично пункту 1.5.
Единственным отличием будут названия OpenVPN вместо WinBox и входящий TCP порт 1194
Поэтому просто повторяем действия
Консольно:

/ip firewall filter
add action=drop chain=input comment="1.6. Protected - OpenVPN Connections" src-address-list="Black List OpenVPN"
add action=add-src-to-address-list address-list="Black List OpenVPN" address-list-timeout=none-dynamic chain=input connection-state=new dst-port=1194 in-interface-list=Internet log=yes log-prefix="BLACK OVPN" protocol=tcp src-address-list="OpenVPN Stage 3"
add action=add-src-to-address-list address-list="OpenVPN Stage 3" address-list-timeout=1m chain=input connection-state=new dst-port=1194 in-interface-list=Internet protocol=tcp src-address-list="OpenVPN Stage 2"
add action=add-src-to-address-list address-list="OpenVPN Stage 2" address-list-timeout=1m chain=input connection-state=new dst-port=1194 in-interface-list=Internet protocol=tcp src-address-list="OpenVPN Stage 1"
add action=add-src-to-address-list address-list="OpenVPN Stage 1" address-list-timeout=1m chain=input connection-state=new dst-port=1194 in-interface-list=Internet protocol=tcp
add action=accept chain=input dst-port=1194 in-interface-list=Internet protocol=tcp

 
 
1.7. Разрешающее правило для прохождения любого трафика по VPN туннелям.

Добавление правил 1.7. через WinBox (Изображения)

Правило 24Правило 24
Консольно:

/ip firewall filter
add action=accept chain=input comment="1.7. Access OpenVPN Tunnel Data" in-interface-list=VPN

 
 
1.8. Разрешающее правило для прохождения только нормальных PING запросов.

Добавление правил 1.8. через WinBox (Изображения)

Правило 25Правило 25Правило 25
Консольно:

/ip firewall filter
add action=accept chain=input comment="1.8. Access Normal Ping" in-interface-list=Internet limit=50/5s,2:packet protocol=icmp

 
 
1.9. Запрещающее правило
Нормально закрытый Firewall должен обязательно обладать таким правилом. Иначе все бессмысленно.
Выше мы обрабатываем соединения и разрешаем только то, что нам необходимо. Все остальное блокируем.
Это намного правильней, чем Разрешить все и блокировать только нужное Вам. А всего, что нужно заблокировать Вы наверняка не знаете.

Добавление правил 1.9. через WinBox (Изображения)

Правило 26Правило 26
Консольно:

/ip firewall filter
add action=drop chain=input comment="1.9. Drop All Other" in-interface-list=Internet

 
 
2. Для ленивых
Если Вы дочитали до конца, значит у Вас пытливый ум и Вы хорошо представляете с чем столкнулись. Вы молодец.
Еще раз хотелось бы обозначить, что данная конфигурация не является идеальной. Я просто старался показать некоторые способы фильтрации трафика. Вам решать, использовать это у себя простым копипастом или подумать и сделать лучше! Но я уверен, что моё решение тоже не плохое =)

Все вышеизложенное в едином виде:
 
Консольно:

/ip firewall filter
add action=accept chain=forward comment="1.1. Forward and Input Established and Related connections" connection-state=established,related
add action=drop chain=forward connection-state=invalid
add action=drop chain=forward connection-nat-state=!dstnat connection-state=new in-interface-list=Internet
add action=accept chain=input connection-state=established,related
add action=drop chain=input connection-state=invalid
add action=add-src-to-address-list address-list=ddos-blacklist address-list-timeout=1d chain=input comment="1.2. DDoS Protect - Connection Limit" connection-limit=100,32 in-interface-list=Internet protocol=tcp
add action=tarpit chain=input connection-limit=3,32 protocol=tcp src-address-list=ddos-blacklist
add action=jump chain=forward comment="1.3. DDoS Protect - SYN Flood" connection-state=new jump-target=SYN-Protect protocol=tcp tcp-flags=syn
add action=jump chain=input connection-state=new in-interface-list=Internet jump-target=SYN-Protect protocol=tcp tcp-flags=syn
add action=return chain=SYN-Protect connection-state=new limit=200,5:packet protocol=tcp tcp-flags=syn
add action=drop chain=SYN-Protect connection-state=new protocol=tcp tcp-flags=syn
add action=drop chain=input comment="1.4. Protected - Ports Scanners" src-address-list="Port Scanners"
add action=add-src-to-address-list address-list="Port Scanners" address-list-timeout=none-dynamic chain=input in-interface-list=Internet protocol=tcp psd=21,3s,3,1
add action=drop chain=input comment="1.5. Protected - WinBox Access" src-address-list="Black List Winbox"
add action=add-src-to-address-list address-list="Black List Winbox" address-list-timeout=none-dynamic chain=input connection-state=new dst-port=8291 in-interface-list=Internet log=yes log-prefix="BLACK WINBOX" protocol=tcp src-address-list="Winbox Stage 3"
add action=add-src-to-address-list address-list="Winbox Stage 3" address-list-timeout=1m chain=input connection-state=new dst-port=8291 in-interface-list=Internet protocol=tcp src-address-list="Winbox Stage 2"
add action=add-src-to-address-list address-list="Winbox Stage 2" address-list-timeout=1m chain=input connection-state=new dst-port=8291 in-interface-list=Internet protocol=tcp src-address-list="Winbox Stage 1"
add action=add-src-to-address-list address-list="Winbox Stage 1" address-list-timeout=1m chain=input connection-state=new dst-port=8291 in-interface-list=Internet protocol=tcp
add action=accept chain=input dst-port=8291 in-interface-list=Internet protocol=tcp
add action=drop chain=input comment="1.6. Protected - OpenVPN Connections" src-address-list="Black List OpenVPN"
add action=add-src-to-address-list address-list="Black List OpenVPN" address-list-timeout=none-dynamic chain=input connection-state=new dst-port=1194 in-interface-list=Internet log=yes log-prefix="BLACK OVPN" protocol=tcp src-address-list="OpenVPN Stage 3"
add action=add-src-to-address-list address-list="OpenVPN Stage 3" address-list-timeout=1m chain=input connection-state=new dst-port=1194 in-interface-list=Internet protocol=tcp src-address-list="OpenVPN Stage 2"
add action=add-src-to-address-list address-list="OpenVPN Stage 2" address-list-timeout=1m chain=input connection-state=new dst-port=1194 in-interface-list=Internet protocol=tcp src-address-list="OpenVPN Stage 1"
add action=add-src-to-address-list address-list="OpenVPN Stage 1" address-list-timeout=1m chain=input connection-state=new dst-port=1194 in-interface-list=Internet protocol=tcp
add action=accept chain=input dst-port=1194 in-interface-list=Internet protocol=tcp
add action=accept chain=input comment="1.7. Access OpenVPN Tunnel Data" in-interface-list=VPN
add action=accept chain=input comment="1.8. Access Normal Ping" in-interface-list=Internet limit=50/5s,2:packet protocol=icmp
add action=drop chain=input comment="1.9. Drop All Other" in-interface-list=Internet

Бонус:
Работая с Firewall на родительском hEx роутере, обнаружил большой объем заблокированного трафика.
Решил посмотреть, в чем дело, включил логирование в правилах и обнаружил интересную ситуацию.
Оказалось, что местный провайдер не закрыл широковещательный трафик службы имен NetBIOS Name Service – UDP порт 137 (Остальные порты и информация: https://ru.wikipedia.org/wiki/NetBIOS)
И какой-то “Сосед” воткнул интернет кабель в простой ПК с Windows, тем самым создав тот самый паразитный трафик. Такие запросы с одного ПК могут занимать около 30 кбит/сек на вашем WAN порту.
Думаю можно себе представить если таких ПК в сети будет 100-150. Написали провайдеру, а пока он латает свои дыры, добавил правило блокировки. Только не в Firewall Filter, а в Firewall Raw.
Данная таблица полезна для уменьшения нагрузки на CPU и позволяет блокировать трафик на этапе Prerouting-а
Вот это правило:

/ip firewall raw
add action=drop chain=prerouting dst-port=137,138,139 in-interface-list=Internet protocol=udp

Бонус 2:

Правила для роутера за серым IP провайдера

Для роутера за серым IP провайдера я оставил только такие правила. Даже не смотря на то, что IP серый, доверять сети провайдера ни в коем случае не стоит.

/ip firewall filter
add action=fasttrack-connection chain=forward connection-state=established,related
add action=accept chain=forward comment="ALLOW - Established, Related and connections" connection-state=established,related
add action=accept chain=input connection-state=established,related
add action=drop chain=forward comment="DROP - Invalid connections" connection-state=invalid
add action=drop chain=input connection-state=invalid
add action=jump chain=input comment="DDoS - SYN flood protection" connection-state=new in-interface-list=WAN jump-target=SYN-Protect protocol=tcp tcp-flags=syn
add action=return chain=SYN-Protect limit=200,5:packet tcp-flags=""
add action=add-src-to-address-list address-list=ddos-blacklist address-list-timeout=1w3d chain=SYN-Protect log-prefix="DDoS: SYN-Protect" tcp-flags=""
add action=jump chain=input comment="DDoS - Main protection" connection-state=new in-interface-list=WAN jump-target=DDoS-Protect
add action=return chain=DDoS-Protect dst-limit=15,15,src-address/10s
add action=add-src-to-address-list address-list=ddos-blacklist address-list-timeout=1w3d chain=DDoS-Protect log-prefix="DDoS: MAIN-Protect"
add action=drop chain=input comment="DROP - Block all other input/forward connections on the WAN" in-interface-list=WAN
add action=drop chain=forward in-interface-list=WAN
/ip firewall raw
add action=drop chain=prerouting comment="DDoS - Drop blacklist IP" in-interface-list=WAN src-address-list=ddos-blacklist

 
 
Благодарю Вас за Ваше время.
Организацию удаленного доступа я вынес в следующую статью:
Создание домашней сети на базе устройств MikroTik: Часть 7 — Firewall правильное перенаправление портов в сети с двумя шлюзами

Всего хорошего на просторах Интернета 😉

Список всех статей в хронологическом порядке: История статей

Поддержка блога

Если Вам не безразлична судьба блога или Вы просто хотите отблагодарить Автора за его труд, смело переходите на страницу Поддержки, там описана вся информация, по тому, как это сделать проще простого =)

UPD 11.10.2018:
Статья обновлена исходя из опыта эксплуатации и дальнейшего перехода на работу со Списками интерфейсов
Для понимания, что это такое, изучите статью MikroTik RouterOS – Списки интерфейсов “Interface List”

UPD 12.08.2019:
В начало статьи добавлена заметка. Ряд читателей почему-то думает, что эта статья это вся настройка Firewall и удивляется, что нет интернета 🙂
Будьте внимательней!

UPD 05.10.2019:
Для тех кого интересует финальный результат и более лучшая защита, то рекомендую после прочтения данной статьи перейти к статье: MikroTik : RouterOS : Стучимся к себе домой. Firewall Filter PortKnocking

UPD: 31.03.2020:
Добавлен “Бонус 2” с правилами для роутера за серым IP провайдера

Настройка MikroTik — базовые принципы защиты периметра


Автор Андрей Смирнов На чтение 16 мин. Просмотров 5.3k. Опубликовано

Научиться настройке MikroTik можно на онлайн курсе по оборудованию этого производителя. Автор курса является сертифицированным тренером MikroTik. Подробней Вы можете прочитать в конце статьи.

Любому маршрутизатору Mikrotik, которые только что достали из коробки, необходима защита, также как и любому сетевому устройству Cisco, HP, Dlink или Juniper. Самые основные изменения конфигурации могут быть сделаны немедленно, что уменьшит возможный периметр для атаки устройства. Настройка MikroTik — безусловная необходимость при настройке безопасности сетевого периметра. Тогда как внедрение передовых методов (best practices), и более тонкая настройка сетевой подсистемы позволят маршрутизаторам проходить проверки соответствия отраслевым стандартам и формальные аудиты. Почти все изменения конфигурации, приведенные ниже, включены в список требований для сертификации по PCI-DSS и HIPAA, а также в контрольные показатели безопасности по спецификациям CIS и DISA STIG.

Настройки роутера MikroTik

ИспользуетсяОписание

ИнтерфейсIP адресация
ether1192.168.88.181/24ДаWAN
ether210.1.157.1/24ДаManagement
ether3192.168.0.1/24ДаLAN
ether4нетНетN/A
ether5нетНетN/A

Описанная выше типичная конфигурация филиала компании с внутренним сегментом, внешним периметром и зоной управления сети. В домашнем офисе с легкостью может использоваться RB-751, либо RB-951 или hAP. Для филиала их производительности часто бывает достаточно. Управляющая сеть не является строго необходимой в организациях без применения требований соответствия, но следование данной рекомендации является лучшим решением.

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

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

Защита интерфейсов

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

Пересчет интерфейсов

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

/interface print

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

Затем отключите все неактивные интерфейсы, чтобы они не могли использоваться для доступа к устройству. В нашем случае интерфейсы 1, 2 и 3 используются, и мы не используем интерфейсы 4 и 5:

/interface set 4,5 disabled=yes

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

Сканирование портов

Затем мы проверим роутер MikroTik утилитой для сканирования портов Nmap со стороны внешнего интерфейса WAN, чтобы получить первичный список открытых портов и сервисов. Это будет нашей отправной точкой. Команда для запуска сканирования маршрутизатора:

nmap -A -T4 -Pn -v 192.168.88.181

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

Открытые порты

Это открытые порты, обнаруженные во время сканирования утилитой Nmap:

Scanning 192.168.88.181 [1000 ports]

Discovered open port 21/tcp on 192.168.88.181

Discovered open port 53/tcp on 192.168.88.181

Discovered open port 23/tcp on 192.168.88.181

Discovered open port 80/tcp on 192.168.88.181

Discovered open port 22/tcp on 192.168.88.181

Discovered open port 2000/tcp on 192.168.88.181

Discovered open port 8291/tcp on 192.168.88.181

Знание основных портов и протоколов очень полезно при просмотре результатов сканирования, поэтому потратьте некоторое время на их изучение, если вы еще этого не сделали.

Обнаруженные сервисы

Ниже приведен список служб, запущенных на открытых портах, обнаруженных во время сканирования:

Host is up (0.012s latency).

Not shown: 993 closed ports

PORT     STATE SERVICE        VERSION

21/tcp   open  ftp            MikroTik router ftpd 6.37.1

22/tcp   open  ssh            MikroTik RouterOS sshd (protocol 2.0)

| ssh-hostkey:

|   1024 68:22:e5:37:be:d9:7f:76:e9:44:b8:7b:03:0b:07:66 (DSA)

|_  2048 5e:1c:a0:82:e7:a7:e8:bb:ba:a7:f4:0b:b6:b5:f5:eb (RSA)

23/tcp   open  telnet         Linux telnetd

53/tcp   open  domain         MikroTik RouterOS named or OpenDNS Updater

80/tcp   open  http           MikroTik router config httpd

| http-methods:

|_  Supported Methods: GET HEAD

| http-robots.txt: 1 disallowed entry

|_/

|_http-title: RouterOS router configuration page

2000/tcp open  bandwidth-test MikroTik bandwidth-test server

8291/tcp open  winbox         MikroTik WinBox

Service Info: OSs: Linux, RouterOS; Device: router; CPE: cpe:/o:mikrotik:routeros, cpe:/o:linux:linux_kernel

Результат сканирования

Nmap обнаружил ряд проблем, которые требуют к себе нашего внимания. Маршрутизатор работает с несколькими незашифрованными протоколами и службами, без которых на данный момент можно обойтись. Служба FTP также дает злоумышленнику возможность точно узнать версию прошивки RouterOS, на которой работает наш роутер MikroTik. Мы также видим результат использования учетных записей, заданных по умолчанию. Если этот маршрутизатор был подключен к Интернету точно так же, как сейчас, он почти наверняка будет заражен эксплойтом вскоре после выхода в Интернет.

Сервисы

Как и в большинстве работающих сетях, мы предполагаем, что маршрутизатор будет управляться только через SSH и Secure-mode Winbox. Оба сеанса SSH и Winbox (начиная с версии 3.14) поддерживают шифрование, поэтому нам не нужно беспокоиться о перехвате учетных данных при работе с оборудованием. Сначала мы рассмотрим запущенные службы на маршрутизаторе, а затем отключим все службы, кроме SSH и Winbox. Наконец, мы снова сканируем устройство с помощью Nmap, чтобы убедиться, что изменения вступили в силу.

Просмотр запущенных служб

Проверим службы, запущенные на маршрутизаторе:

/ip service print

Такие службы, как Telnet, FTP и WWW, по своей сути являются небезопасными и не должны использоваться в производственных средах с учетом таких безопасных альтернатив, как SSH и HTTPS.

Отключение небезопасных служб

С помощью следующих команд можно отключить службы Telnet, FTP, HTTP и SOCKS и сервер проверки пропускной способности, который включен по умолчанию, а также отключим обработку удаленных DNS-запросов, передаваемые через внешний интерфейс маршрутизатора:

/ip service disable [find name=telnet]

/ip service disable [find name=ftp]

/ip service disable [find name=www]

/ip service disable [find name=www-ssl]

/ip service disable [find name=api]

/ip service disable [find name=api-ssl]

/tool bandwidth-server set enabled=no

/ip dns set allow-remote-requests=no

/ip socks set enabled=no

Убедитесь, что основные службы были отключены (отображается «X» перед именем службы), выполнив следующие действия:

/ ip service print

Мы также отключим серверы MAC Telnet и MAC Winbox. Они используются, чтобы предоставить администраторам доступ к маршрутизатору без назначенного IP-адреса, но по умолчанию включаются и запускаются на ВСЕХ интерфейсах – даже интерфейсах WAN. Пользователь в вашей локальной сети может подключаться к устройству через одну из служб MAC, и этот доступ должен быть ограничен как из внутренних, так и из внешних сетей. Мы полностью отключим эти службы, и предлагается повторно включить их только на специализированных интерфейсах управления.

/ tool mac-server set [find] disabled = yes

/ tool mac-server mac-winbox set [find] disabled = yes

/ ping для сервера mac-server enabled = no

Убедитесь, что другие службы также были отключены (отображается «X» перед именем службы), выполнив следующие действия:

/ mac-server print

/ mac-server mac-server tool

/ ping print mac-server tool

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

/ tool romon set enabled = no

Усиление критозащиты

Более сильная криптография в Микротиках для сервиса SSH доступна начиная с версии прошивки RouterOS 6.30, поэтому мы включим ее. Клиенты SSH, такие как Putty, которые могут использовать более сильный криптографический алгоритм по-умолчанию и оставят более слабые алгоритмы неиспользованными. На данный момент нет возможности явно отключить более слабые криптоалгоритмы в Mikrotik для подключения по SSH. Усильте криптозащиту SSH принудительно с помощью следующей команды:

/ ip ssh set strong-crypto = yes

Маршрутизаторы должны управляться только через защищенные протоколы, и эти протоколы должны использовать надежные шифры

 

Для управления сетевыми устройствами должны быть использованы защищенные протоколы с проверенными криптографическими алгоритмами FIPS 140-2.

Межсетевой экран MikroTik (Firewall)

Несмотря на уже сделанные изменения в конфигурации оборудования, злоумышленник может попытаться войти в систему с учетными данными администратора Mikrotik по умолчанию через Интернет с помощью SSH или Winbox. И попытка входа может быть успешной. Мы отключим доступ к сервисам управления и конфигурации со стороны WAN, добавив некоторые правила в список межсетевого экрана (Firewall). А затем создадим список адресов брандмауэра для блокировки Bogons. Богоны — это сетевые адреса, которые не связаны ни с одним бизнесом через Интернет, и, как правило, они не существуют, если кто-то не пытается изменить трафик и заставить его выглядеть так, как если бы он появился из вашей собственной сети. Команда Cymru поддерживает действительно фантастический список богонов, которые вы должны блокировать чтобы усилить безопасность вашего устройства Микротик.

Вот базовый список адресов bogon mikrotik:

/ip firewall address-list

add address=192.168.0.0/16 list=Bogon

add address=10.0.0.0/8 list=Bogon

add address=172.16.0.0/12 list=Bogon

add address=127.0.0.0/8 list=Bogon

add address=0.0.0.0/8 list=Bogon

add address=169.254.0.0/16 list=Bogon

Добавим правила для межсетевого экрана MikroTik

/ip firewall filter

add chain=input comment="Accept Established / Related Input" connection-state=established,related

add chain=input comment="Allow Management Input" src-address=10.1.157.0/24

add action=drop chain=input comment="Drop Input" log=yes log-prefix="Input Drop"

add action=fasttrack-connection chain=forward comment="Fast Track Established / Related Forward" connection-state=established,related

add chain=forward comment="Accept Established / Related Forward" connection-state=established,related

add chain=forward comment="Allow client LAN traffic out WAN" out-interface=ether1-gateway src-address=192.168.0.0/24

add action=drop chain=forward comment="Drop Bogon Forward -> Ether1" in-interface=ether1-gateway log=yes log-prefix="Bogon Forward Drop" src-address-list=Bogon

add action=drop chain=forward comment="Drop All Forward"

Ведение журнала включено для пары правил: Drop Input и Drop Bogon Forward. Если кто-то пытается войти в систему, для расследования инцидентов мы хотим знать источник подключения.

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

Полномочия

Теперь, когда мы (относительно) защищены снаружи, обеспечим пару вещей внутри маршрутизатора.

Штатная учетная запись Администратора

Сначала давайте установим пароль для пользователя admin по умолчанию, а затем изменим имя администратора на что-то другое, кроме «admin». Также у сетевых устройств не должно быть паролей, заданных производителем по умолчанию.

Так же, как в случае с переименованием учетной записи администратора на серверах Windows, рекомендуется переименовать пользователя-администратора Mikrotik в нечто иное, чем известный по умолчанию (admin):

/user set 0 password=UnathorizedAccessProhibited

/user set 0 name=14bytes.ru.admin comment="Default account - BACKUP ONLY"


Дополнительные учетные записи

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

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

Создайте пользователя для каждого обращения к устройству администратора:

/user add name=eduard password=letonaulitse group=full comment="Eduard @ 14bytes"

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

Неблагоприятные учетные записи

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

Отключить учетную запись (можно повторно включить):

/user disable [find name=eduard]

Удалить аккаунт (нельзя восстановить):

/user remove [find name=eduard]

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

Исследование окружения

Еще одна лучшая практика — отключить обнаружение окружения. Что предотвратит от обнаружения вашего маршрутизатора Микротик другими устройствами, использующими протокол обнаружения компании MikroTik (NDP) или протокол обнаружения Cisco (CDP).

IPv4 Neighbor Discovery

Сначала мы отключим его по умолчанию для IPv4, поэтому, когда новые интерфейсы выйдут в сеть, они не будут участвовать в обнаружении соседями:

/ip neighbor discovery settings set default=no default-for-dynamic=no

Затем мы отключим его на каждом отдельном интерфейсе IPv4, который уже запущен, поскольку он по умолчанию включен на интерфейсах (даже WAN). Это особенно важно для организаций WISP, которые используют устройства Mikrotik в качестве CPE. Не отключая ND на стороне WAN, можно развернуть информацию об оборудовании одного клиента другому.

/ ip neighbor find set [find] discover = no

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

IPv6 Neighbor Discovery

Обнаружение окружением можно отключить и для IPv6:

/ ipv6 nd set [find] disabled = yes

Это может негативно сказаться на производительности вашей сети IPv6 – тестируйте перед внедрением в производство.

Фильтрация обратного пути

Мы также включим фильтрацию обратного пути Reverse Path Filtering (RPF), также известную как обратная маршрутизация пути. Эта функция снижает пакетный трафик, который кажется поддельным, то есть пакет, исходящий из заголовка подсети внутренней локальной сети, но с другим исходным IP-адресом, чем локальная сеть. Это очень часто встречается, когда рабочая станция заражена вирусом и теперь участвует в DDoS-атаке. Мы включим RPF в меню IP -> Settings:

/ip settings set rp-filter=strict

Было замечено, что функция фильтра обратного пути может вызывать проблемы, если маршрутизатор многопользовательский. К сожалению, реализация этой функции Mikrotik не позволяет включить фильтрацию обратного пути на определенных интерфейсах – только для всего устройства — поэтому следите за этим, если ваше устройство многопользовательское.

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

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

Баннер

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

/system note set note="14bytes Networks, LLC - Unauthorized Access Prohibited."

Теперь, когда администратор (или кто-либо еще) подключается к маршрутизатору удаленно через SSH или Telnet, этот баннер появится. Он также появится при открытии терминала в Winbox.

Синхронизация часов NTP

Мы также должны настроить на маршрутизаторе точное время путем синхронизации с сервером NTP, поэтому маршрутизатор (и, надеюсь, все остальные маршрутизаторы в организации) будет синхронизироваться с точными часами. Когда часы маршрутизатора неверны, любой анализ журналов или корреляция журналов становятся очень трудными, потому что меткам времени нельзя доверять. Установите для клиента NTP проект ru.pool.ntp.org:

/system ntp client set enabled=yes server-dns-names=ru.pool.ntp.org

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

Сетевые устройства должны использовать по меньшей мере два сервера NTP для синхронизации времени.

Настройка SNMP

Протокол SNMP позволяет осуществлять надежный мониторинг, но настройка SNMP, к сожалению, выходит за рамки данной статьи.

Резервные копии конфигурации

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

/export compact file = router_config_backup

Дополнительная конфигурация

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

  • Мониторинг устройств с помощью Syslog
  • Мониторинг сетевых потоков с помощью Netflow и IPFIX
  • Настройка изоляции беспроводных клиентов
  • Фильтрация P2P трафика
  • Сегментирование сетей с помощью VLAN

Выводы

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

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

Защита Mikrotik от взлома

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

Оборудование Mikrotik, само по себе, является превосходным инструментом для выполнения самых разных задач. К сожалению, в руках не компетентных специалистов и просто любителей, зачастую маршрутизаторы становятся частью ботнет-сети. Получив контроль над устройством, как правило, прописывались SOCKS прокси, майнинг-скрипт, правила в Firewall, а так же добавлялись скрипты в шедуллер. Разработчики оперативно исправили дыру, но многие владельцы Mikrotik не торопились обновляться, так как просто не знали о случившемся.

Но мир не без добрых людей. Пользователь портала «Хабр» под ником @LMonoceros, в свободное время искал доступные для взлома устройства и закрывал уязвимости, о чем написал статью на «Хабре», а так же дал рекомендации, как защитить свой Mikrotik.

Web-прокси и Socks

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

/ip proxy set enabled=no

/ip socks set enabled=no

После этого откройте раздел Files в меню и проверьте наличие файла webproxy/error.html. На самом деле это не страница с выводом ошибки, а скрипт, вызывающий майнер криптовалюты. Когда он работает, вы можете наблюдать активность здесь:

/ip proxy access print

/ip socks access print

Наличие Script

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

VPN

Для создания туннеля могут быть использованы pptp и l2tp протоколы. В разделе /ppp secret могут находиться профили для подключений. Если же их там нет, проверьте /radius, так как для авторизации могут быть использованы не только логин/пароль.

Для проверки достаточно выполнить в терминале /radius print. Если вывод пустой, значит все в порядке, в противном случае необходимо выполнить очистку:

/radius remove numbers=[/radius find ]

/ppp aaa set use-radius=no use-circuit-id-in-nas-port-id=no


/user aaa set use-radius=no

И если вы не используете VPN в повседневной жизни, просто выключите его:

/interface l2tp-server server set enabled=no

/interface pptp-server server set enabled=no


/interface sstp-server server set enabled=no

DNS static

Кроме всего прочего, после атаки, можно стать не только жертвой майнинга, но и попасть под фишинг. Что бы этого не произошло, посмотрите записи DNS:

/ip dns static

Если наблюдаете что-то похожее на это

Защита Mikrotik от взлома

Удалите содержимое таблицы:

/ip dns static remove numbers=[/ip dns static find]

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

Packet Sniffer

О использовании сниффера рассказали в «Лаборатории Касперского». Хакеры используют пакетный сниффер для перенаправления трафика на неизвестный узел. Что бы этого избежать, выполните следующие команды:

/tool sniffer stop

/tool sniffer set streaming-enabled=no filter-ip-protocol=»» filter-port=»» filter-interface=»» filter-stream=no

После всего выше описанного, обязательно измените пароль от оборудования и обновите до последней прошивки. Что бы избежать дальнейшего взлома, необходимо соблюсти некоторые правила. О части из них мы уже рассказывали в другой статье «Закрываем порты на Mikrotik».

Если вы подключаетесь к своему маршрутизатору только из локальной сети, тогда закройте доступ «из вне» таким правилом:

/ip firewall address-list add address=192.168.1.0/24 list=allow-ip

/ip firewall address-list add address=192.168.88.10/32 list=allow-ip


/ip firewall filter add action=accept chain=input comment=»Allow Address List» src-address-list=allow-ip

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

/ip firewall filter add action=add-src-to-address-list address-list=allow-ip address-list-timeout=1h chain=input packet-size=783 protocol=icmp

При этом стоит обратить внимание, что бы правило работало, при отправке ping необходимо указать размер на 28 байт меньше.

ping -l 755

После этого запрещаем доступ ко всем портам, которые не разрешены

/ip firewall filter add action=drop chain=input

На этом все. Выражаем благодарность пользователю «Хабра» @LMonoceros, за его проделанную работу.

Поделиться в социальных сетях:

Как защитить Mikrotik, безопасность Микротик.

В последнее время Микротик чаше других производителей на слуху в плане обнаруженных уязвимостей, которые так или иначе решаются частично обновлением bugfix прошивкой. Обновление прошивки вещи полезная, но не является гарантией, что вы полностью защищены от внешних, внутренних факторов.
На нашем канале на Youtube , мы сделали видеообзор о мерах, которые помогут вам защитить Mikrotik.

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

1. Меняем пароль на учетной записи admin на Mikrotik.

Не редко ,пользователи совсем забывают после завершения всех настроек поменять стандартный пароль от учетной записи admin на более сложный.
Переходим в меню System – Users.
По умолчанию мы должны увидеть только одну учетную запись admin, кликнув на которую мы можешь поменять пароль в открывшемся окне через кнопку Password.
Где в строках New Password и Confirm Password указываем новый пароль.

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

Итак, первый урок мы закончили, перейдем ко второму.

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

Перейдем в меню Микротик IP – Services.
Видим IP Service List – список из сервисов, которые частично по умолчанию включены.
Нам придется разобраться, что оставить включенным, что из этого списка ограничить для доступа только с определенного ip или определенной локальной сетки.
Для 90 процентов пользователей достаточно оставить активными Winbox и WWW (доступ через Web- браузер).
При двойном клике на выбранный сервис мы увидим окно для подробной настройки где в строке:
Port – можем изменить стандартный порт на любой другой свободный (если решите менять порт на другой, убедитесь, что он не используется как стандартный каким-либо сервисом или приложением).
Available From – указываем только те адреса, с которых будет открыт доступ к выбранному сервису Микротика. Вы можете указать как конкретный адрес, так и подсеть в формате 1.1.1.0/24, или несколько адресов через запятую.

3. Переходим к защите Микротик через Firewall.

В видеоролике мы рассказывали про атаку на DNS, которая проходит через 53 порт UDP. Атака ощущается низкой скоростью интернета и зачастую из-за высокой нагрузки воздаются определенные затруднениями с входом на Микротик. Если Микротик “тормозит” при подключении к нему через Winbox или WWW можете временно отключить кабель интернета и сделать данную настройку.

IP – Firewall – Filter Rules – “+”.

Вкладка General.
Chain: Input.
Protocol: UDP.
Dst. Port: 53.
In. Interface: Eth2 (порт, в который воткнут кабель провайдера).

Вкладка Action:
Action: drop.

Если у вас уже есть какие-нибудь другие правила в Filter Rules, то вновь созданное правило рекомендуется поставить выше всех.

4. Продолжаем работать с Firewall.

4.1. Закрываемся от “плохого” пинговальщика.
IP – Firewall – Filter Rules – “+”.
Вкладка General.
Chain: Input.
Protocol: icmp.
In. Interface: Eth2 (порт, в который воткнут кабель провайдера).

Вкладка Extra.
Limit: Rate 50/5.
Burst 2.
Mode packet.

Вкладка Action:
Action: accept.

4.2. Разрешаем уже установленные подключения. Пакет относится у уже установленному соединению, обрабатываемому в данный момент маршрутизатором.

add action=accept chain=input comment="Allow Established connections" connection-state=established,related
5. Отключаем SNMP на Микротик.

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

6.Scripts Mikrotik.

Злоумышленникам по последней информации часто интересен раздел Scripts, через который они могут использовать ваше оборудование, интернет канал в своих целях. Что бы проверить , что все в порядке, переходим в раздел System – Scripts.
Проверяем вкладку Scripts на отсутствие каких-либо непонятных вам записей, по умолчанию он чистый. Если вы что-то подозрительное обнаружили, можете смело удалить или же загуглить строчку, понять что выполняется данным скриптом и удалить.

7. Ну и не забывает устанавливать последние обновления с меткой bugfix, инструкцию можно посмотреть в нашей статье http://ithelp21.ru/kak-obnovity-oborudovanie-mikrotik/.

Как итог: Данные настройки не защитят на 100 процентов вас от каких-либо уязвимостей, но помогут не допустить 90 процентов всех действующих попыток сломать работу вашей сети, устройства.

Защита Mikrotik от подбора паролей, за минуту

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов рунета Pyatilistnik.org. В прошлый раз мы с вами произвели базовую настройку роутера Mikrotik, тем самым наладив работу малого офиса. Изучая журналы логов на оборудовании вы можете увидеть события «login failure for user via ssh, telnet, web«, означающие, что на роутер идет атака брутфорса, по подбору пароля по определенным портам. Это означает, что нам нужно защитить наше оборудование от таких попыток, чем мы и займемся ниже, самое приятно, что все это делается буквально за минуту.

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

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

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

  • Использование утилиты WinBox
  • SSH / 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Первым делом перейдем в раздел /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

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

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

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

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

Mikrotik firewall: защита от DDOS атак и SYN-flood.

Целью DDoS-атаки является вывод из строя маршрутизатора. Для выстраивания защиты от DDoS-атак необходимо понимать как они устроены. На данный момент наиболее известные типы DDoS-атак основаны на ICMP-flood, UDP-flood, HTTP-flood и SYN-flood и. Названия этих атак говорят о способе воздействия на сетевое устройство и какой протокол при этом используется.

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

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

Базовый принцип защиты роутера заключается в том, что мы должны блокировать всё кроме разрешенного — нормально закрытый firewall. Поэтому для цепочек input, после разрешенных правил, последним должно идти правило отбрасывающее любые пакеты. Подробно базовая настройка безопасности роутера mikrotik рассматривалась в этой статье.

Виды DDoS-атак

Рассмотрим более подробно виды DDoS-атак, чтобы понять каким образом настраивать firewall mikrotik.

ICMP-flood

ICMP-flood — отправка большего числа поддельных icmp-запросов (многим известно как ping). ICMP-пакеты не требуют подтверждения, в отличии от TCP и поэтому трудно отделить мусорный трафик от легитимного.

В случае использования правила «нормально закрытого firewall» никаких дополнительных действий предпринимать не надо — весь icmp-трафик будет отклонен, если он отдельно не разрешен. Чтобы позволить «пинговать» роутер с определенных адресов нужно создать разрешающее правило.

UDP-flood

UDP-flood схож с icmp-flood в том плане, что его пакеты так же не требуют подтверждения и отсутствует контроль над процессом обмена данными.

Бороться с udp-flood можно так же как и с icmp-flood путем полной блокировки трафика, если это допустимо в ваших условиях. Стоит отдельно отметить, что протокол UDP часто используется в VoIP телефонии. Если вы используете подключение к АТС из интернета, то это необходимо учесть и разрешить подключения на необходимые порты, обычно это порт 5060.

SYN-flood

При атаке типа SYN-flood используется TCP-протокол и его принцип установления сеанса связи. Атакующий посылает поддельные syn запросы на установления соединения. Наш маршрутизатор одобрительно отвечает, но атакующий хост не устанавливает соединение и продолжает слать syn-запросы. Таким образом таблицу памяти соединений начинают заполнять полуоткрытые соединения, что начинает вызывать отказ в обслуживании соединений.

Мы не можем просто блокировать TCP-соединения как это было с icmp и udp т.к это основной сетевой протокол. Но мы можем выявлять и блокировать случаи, когда соединения слишком много.

Обнаружение DDoS и защита от атак.

Для настройки firewall Mikrotik на обнаружение и защиты от DDOS-атак взята за основу статья на официальном Wiki Mikrotik.

Для того, чтобы выявить DDoS атаку нам необходимо захватывать все новые соединения и перенаправлять их в отдельную цепочку chain=detect-ddos.

/ip firewall filter
add chain=forward connection-state=new action=jump jump-target=detect-ddos

Далее создаем новую цепочку chain=ddos, в которой для каждой пары хостов «SrcIP:DstIP» разрешаем определенное количество соединений. Для избежания блокирования важных хостов, например DNS-сервер с адресом 192.168.0.1, можно добавить правило, которое будет возвращать соединения с сервером в стандартную цепочку.

/ip firewall filter
add chain=detect-ddos dst-limit=32,42,src-and-dst-addresses/1s action=return
add chain=detect-ddos src-address=192.168.0.1 action=return

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

Здесь стоит обратить внимание на параметр dst-limit. Первое значение rate, второе burst. Для burst задано значение 42 и интервал в 1 секунду — это значит, что в течении первой секунды количество соединений может быть увеличено до 42. Значение burst не должно быть меньше rate, потому-что в этом случае правило будет пропускать в первую секунду меньшее количество соединений и по истечении секунды сработает Rate.

Если говорить простым языком, то Burst это одноразовое разрешение на превышение скорости. А превышение скорости не может быть меньше той скорости, которую вы установили как норму — Rate.

Сейчас нам надо обработать те соединения, которые превысили заданные лимиты — их мы добавим в address-list ‘ddoser’ (атакующий) и ‘ddosed’ (атакуемый). Тайм-аут жизни списка 10 минут или определите сами для себя.

/ip firewall filter
add chain=detect-ddos action=add-dst-to-address-list address-list=ddosed address-list-timeout=10m
add chain=detect-ddos action=add-src-to-address-list address-list=ddoser address-list-timeout=10m

Теперь мы можем блокировать хосты ведущие DDoS атаку на основе созданных списков. Сбрасывать пакеты можно в стандартной цепочке firewall таким образом:

/ip firewall filter
add chain=forward connection-state=new src-address-list=ddoser dst-address-list=ddosed action=drop

Либо создать правило в Raw, чтобы отбрасывать пакеты до их маршрутизации и снизить нагрузку на процессор.

/ip firewall raw
add action=drop chain=prerouting dst-address-list=ddosed src-address-list=ddoser

Защита от SYN-flood.

Для защиты конкретно от SYN-flood атак правила настраиваются примерно таким же образом, но нужно будет указать protocol=tcp и tcpflag=syn. То есть правило для переброса в цепочку ddos для дальнейшей обработки будет выглядеть примерно так:

/ip firewall filter
add chain=forward protocol=tcp tcp-flags=syn connection-state=new action=jump jump-target=detect-ddos

P.S. По-моему тема защиты Mikrotik от DDoS недостаточно подробно рассмотрена в рунете на данный момент. Поэтому жду вопросов, предложений и комментариев от вас.

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

базовая безопасность, nat и address list

В сегодняшней статье уделим внимание базовой настройке Firewall на Mikrotik, Address List и блокировке соцсетей. Т.к. RouterOS основан на ядре linux, то нам предоставлен практически весь функционал сетевого ядра, да к тому же еще и в графике. Настройка будет продемонстрирована с помощью Winbox.

Firewall – инструмент, благодаря которому мы можем ограничить нежелательный трафик. Под «нежелательный» я имею ввиду тот, который нам не нужен в первую очередь с точки зрения администрирования, а уже потом от зловредный. Для начала нужно рассказать про 3 стандартные цепочки:

  • Input – трафик входящий в роутер, т.е. тот, что адресован непосредственно для него. Пример: роутер имеет несколько адресов, согласно схеме сети ниже. Если мы отправим ping запрос на любой из этих них, то ответит нам именно он.
  • Output – трафик исходящий от роутера или же создаваемый им. Отвечая на те самый ping запросы.
  • Forward – транзитный трафик, тот, что не предназначен для устройства.

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

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

Если вы хотите углубить свои знания по работе с роутерами MikroTik, то наша команда рекомендует пройти курсы которые сделаны на основе MikroTik Certified Network Associate и расширены автором на основе опыта . Подробно читайте ниже.

Схема сети

Наша схема, будет до безобразия проста, но на основе нее будет продемонстрирована защита от атаки внутри сети провайдера и запрета соцсетей.

Итого имеем следующую конфигурацию:

  • 168.10.14/24 – адрес роутера в сети провайдера;
  • 168.100.2 – провайдер предоставляет доступ в интернет через L2TP, это адрес в туннеле;
  • 168.20.1/24 – адрес в локальной сети с DHCP сервером для VPC-1 и VPC-1;
  • RouterOS 6.46.

Базовая настройка Firewall

Смотря на схему, следует понять, какой тип трафика нужен в данной сети. Т.к. она простая, то достаточно разрешить входящий трафика управления (Winbox, SSH, WWW) и DNS с локальной сети, т.к. нам не нужно чтобы роутер резолвил имена для товарищей из интернет и не только.

Рекомендую менять стандартные порты управления и отключать не используемые службы, есть большая вероятность, что начнут брутфорсить ваш девайс. Это можно сделать в IP – Services.

Настройка цепочки input. Не стреляем себе в ногу и жмем на Safe Mode прежде, чем что-либо делать!

Из примера выше мы изменили стандартные порты для SSH, Winbox и WWW. Все они работают по TCP. Создадим соответствующие правила в фильтре. IP – Firewall – Filter.

Интерпретируем правило: если есть новое соединение с любого адреса на роутер по протоколу TCP на порт 2222 или 58291 — разрешить. Обязательно комментируем правило в списке правил.Почему именно новое соединение? Ответ узнаем дальше.

Далее разрешим input на 80 порт с ЛВС.

Если новое соединение с 192.168.20.0/24 по TCP на 80 порт – разрешить.Далее нужно разрешить DNS. Он может работать как по TCP, так и по UDP, наш случай это UDP, т.к. запросы на разрешение имен идут именно по UDP.

Обратите внимание, что мы разрешаем весь трафик по UDP:53 с 192.168.20.0/24, это связанно с тем, что данный протокол не поддерживает установку соединения и подтверждение получения каждого пакета, поэтому ставить Connection State – New бессмысленно.Создаем следующее правило.

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

Попробуем подключиться к устройству по нестандартным портам Winbox не отпуская Safe Mode.

На скриншоте видно, что сработал счетчик самого верхнего правила. Далее можно отпускать безопасный режим и закрывать старую сессию Winbox. Почему сработало правило только на 1 пакет? При подключении по TCP:58291 роутер понял, что это новое соединение, т.к. ничего не помешало подключению (подошел логин пароль, нет запрещающих правил и др.) соединение превратилось в устоявшееся.

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

Запретим invalid.

Внимание. Будьте осторожны с ним, т.к. на практике могут возникнуть нюансы, если у вас не стандартный setup.

Давайте взглянем на список созданных правил.

Читая комментарии, можно примерно понять, что настроено. Используйте их, если конечно не хотите усложнять жизнь себе и другим.

Защита локальной сети от атак из сети провайдера

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

Поместим его выше разрешающего правила пересылки.

Блокировка соц сетей на Mikrotik с помощью Address List и Firewall

RouterOS есть функционал Address List. Он может содержать подсеть, конкретный адрес или доменное имя. Ниже я покажу как заблокировать vk.com. Есть условие, заблокировать доступ с 192.168.20.254 и 192.168.20.253. Открываем IP – Firewall – Address List. Создадим новые листы.Первый лист, будет содержать ip, с которых запрещено ходить на vk.com.

Вторым, vk.com. Задаем доменные имена.

После создания, роутер отрезолвит имя на тех серверах, что указаны в DNS и добавит в адрес лист. Далее простым правилом цепочки forward запрещаем пересылку из одного листа в другой. Чтобы пользователь не ждал долго, а получал отбойник что соединение разорвано укажем некоторые уточнения. Если новый транзитный TCP.

И пересылка происходит из одного листа в другой.

То говорим, что соединение было сброшено.

Не забываем поместить его выше разрешающего правила пересылки.

Теперь вы можете добавлять адреса и имена в листы, правило фаервола автоматически будет применять к ним действия. Самое главное в блокировке по доменному имени, чтобы DNS сервером для клиентов в вашей сети был Mikrotik. Если вы зададите DNS вручную на машине, допустим 8.8.8.8, то vk.com может изменить один из адресов и правило не сработает. Так же смотрите на TTL в кэше, его следует изменить на меньшее.

Может возникнуть вопрос, а не грузят ли ЦП эти ваши Address List? Ответ – Нет! Они работают аппаратно на специальных чипах (асиках), и тысячи листов с тысячами IP не будут грузить ЦП и устройство в целом.На этом все, желаю удачи!

89 вопросов по настройке MikroTik

Вы хорошо разбираетесь в Микротиках? Или впервые недавно столкнулись с этим оборудованием и не знаете, с какой стороны к нему подступиться? В обоих случаях вы найдете для себя полезную информацию в курсе «Настройка оборудования MikroTik». 162 видеоурока, большая лабораторная работа и 89 вопросов, на каждый из которых вы будете знать ответ. Подробности и доступ к началу курса бесплатно тут.

Защита от DDoS-атак — RouterOS — MikroTik

Атака типа отказа в обслуживании (DoS) или распределенного отказа в обслуживании (DDoS) — это злонамеренная попытка нарушить нормальный трафик целевого сервера, службы или сети путем подавления цели или окружающей ее инфраструктуры потоком Интернет-трафик. Существует несколько типов DDoS-атак, например HTTP-флуд, SYN-флуд, усиление DNS и т. Д.

Строки конфигурации

Список адресов брандмауэра

 / ip
добавить список = ддос-атакующие
добавить список = ddos-target
/ ip фильтр межсетевого экрана
добавить действие = цепочка возврата = detect-ddos dst-limit = 32,32, src-and-dst-addresses / 10s
добавить действие = добавить-dst-в-список-адресов список-адресов = ddos-target список-адресов-тайм-аут = 10 м цепочка = обнаружить-ddos
add action = add-src-to-address-list список-адресов = ddos-атакующие список-адресов-тайм-аут = 10 м цепочка = обнаружение-ddos
/ ip firewall raw
add action = drop chain = prerouting dst-address-list = ddos-target src-address-list = ddos-attackers 

Объяснение конфигурации

Сначала мы будем отправлять каждое новое соединение в определенную цепочку межсетевого экрана, где мы будем обнаруживать DDoS:

 / ip / firewall / filter / add chain = состояние прямого соединения = новое действие = цель перехода = detect-ddos 

Во вновь созданной цепочке мы добавим следующее правило с параметром «dst-limit».Этот параметр записывается в следующем формате: dst-limit = count [/ time], burst, mode [/ expire] . Мы сопоставим 32 пакета с пакетом из 32 пакетов в зависимости от потока адресов назначения и источника, который обновляется каждые 10 секунд. Правило будет работать до тех пор, пока не будет превышена заданная скорость.

 / ip / firewall / filter / add chain = detect-ddos dst-limit = 32,32, src-and-dst-addresses / 10s action = return 

Пока что весь легитимный трафик должен проходить через «action = return», но в случае DoS / DDoS буфер «dst-limit» будет выполнен и правило не будет «ловить» новый трафик.Вот следующие правила, которые будут касаться атаки. Начнем с создания списка злоумышленников и жертв, который мы сбросим:

 IP / брандмауэр / список-адресов / список добавления = ддос-атакующие
IP / брандмауэр / список-адресов / добавить список = ddos-цели
ip / firewall / raw / add chain = действие перед маршрутизацией = drop src-address-list = ddos-attackers dst-address-list = dddos-target 

В разделе фильтра брандмауэра мы добавим злоумышленников в «ddos-attackers» и жертв в список «ddos-target» список:

 / IP / межсетевой экран / фильтр /
добавить действие = добавить-dst-в-список-адресов список-адресов = ddos-target список-адресов-тайм-аут = 10 м цепочка = обнаружить-ddos
add action = add-src-to-address-list список-адресов = ddos-attackers список-адресов-тайм-аут = 10 м цепочка = обнаружение-ddos 

SYN Flood

SYN Flood — это форма DoS-атаки, при которой злоумышленник отправляет последовательность SYN-запросов к целевой системе, пытаясь использовать достаточно ресурсов сервера, чтобы система не отвечала на законный трафик.К счастью, в RouterOS есть особенность для такой атаки:

 / ip / settings / set tcp-syncookies = да 

Эта функция работает с отправкой обратно пакетов ACK, которые содержат небольшой криптографический хэш, который отвечающий клиент отправит эхом в качестве части своего пакета SYN-ACK. Если ядро ​​не видит этот файл cookie в ответном пакете, оно сочтет, что соединение является фиктивным, и разорвет его.

SYN-ACK Flood

SYN-ACK Flood — это метод атаки, который включает отправку целевому серверу поддельного пакета SYN-ACK с высокой скоростью.Серверу требуются значительные ресурсы для обработки таких пакетов вне очереди (не в соответствии с обычным механизмом трехстороннего подтверждения SYN, SYN-ACK, ACK TCP), он может быть настолько занят обработкой атакующего трафика, что не может справиться законный трафик и, следовательно, злоумышленники достигают состояния DoS / DDoS. В RouterOS мы можем настроить аналогичные правила из ранее упомянутого примера, но более конкретно для SYN-ACK flood:

 / ip / firewall / filter add action = return chain = detect-ddos dst-limit = 32,32, src-and-dst-addresses / 10s protocol = tcp tcp-flags = syn, ack 

.

Mikrotik |

Микротик |

!

, vcctv.ru

— (межсетевой экран). .

… =):

(DDoS):

/ ip settings set tcp-syncookies = yes
/ ip firewall filter
add action = add-src-to-address-list address-list = ddos-blacklist \ address-list-timeout = 30m цепочка = input comment = \ «DDoS — Ограничить входящие соединения, добавить IP в черный список» \ connection-limit = 100,32 in-interface = ether1 protocol = tcp
add action = tarpit chain = input comment = \ «DDoS — захватить и удерживать соединения, попробуйте замедлить злоумышленника «\ connection-limit = 3,32 protocol = tcp src-address-list = ddos-blacklist
add action = jump chain = forward comment =» DDoS — SYN Flood protection «\ connection-state = new jump-target = SYN-Protect protocol = tcp tcp-flags = syn
add action = jump chain = input-connection-state = new in-interface = ether1 \ jump-target = SYN-Protect protocol = tcp tcp-flags = syn
добавить действие = вернуть цепочку = SYN-Protect состояние-соединения = новый лимит = 200,5: пакет \ протокол = tcp tcp-flags = syn
добавить действие = отбросить цепочку = SYN-защитить состояние соединения = новый протокол = tcp \ tcp-flags = синхросигнал

:

/ ip firewall filter
add chain = input protocol = tcp psd = 21,3s, 3,1 action = add-src-to-address-list address-list = «сканеры портов» список-адресов-тайм-аут = 2w comment = «Сканеры портов в список» отключено = нет
add chain = input protocol = tcp tcp-flags = fin,! syn,! rst,! psh,! ack,! urg action = add-src-to-address-list address-list = «сканеры портов» address-list-timeout = 2w comment = «NMAP FIN Stealth scan»
add chain = input protocol = tcp tcp-flags = fin, syn action = add-src-to-address-list address -list = «сканеры портов» address-list-timeout = 2w comment = «SYN / FIN сканирование»
add chain = input protocol = tcp tcp-flags = syn, rst action = add-src-to-address-list address- list = «сканеры портов» address-list-timeout = 2w comment = «SYN / RST сканирование»
add chain = input protocol = tcp tcp-flags = fin, psh, urg,! syn,! rst,! ack action = add -src-to-address-list список-адресов = «сканеры портов» список-адресов-тайм-аут = 2w comment = «сканирование FIN / PSH / URG»
add chain = input protocol = tcp tcp-flags = fin, syn, rst , psh, ack, urg action = add-src-to-a ddress-list address-list = «сканеры портов» address-list-timeout = 2w comment = «ALL / ALL scan»
add chain = input protocol = tcp tcp-flags =! fin,! syn,! rst,! psh, ! ack,! urg action = add-src-to-address-list address-list = «сканеры портов» address-list-timeout = 2w comment = «сканирование NULL NMAP»
add chain = input src-address-list = » сканеры портов «action = drop comment =» отключение сканеров портов «отключено = нет

.

. !

.

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

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