Найти в Дзене

Защищаем MikroTik от внешних атак

Доброго дня, уважаемые! Вижу по статистике, что вам интересна статья Включаем защиту от DDoS на MikroTik. В связи с этим хочу поделиться еще несколькими способами, которые помогают контролировать наш периметр в организации или дома. Кстати, недавно моя компания заказывала сторонний аудит, при котором аудиторы должны были максимально все узнать о нашей компании из внешних источников, просканировать все возможные порты, попытаться получить к ним доступ и тд и тп. По итогу ничего у них не получилось из-за простых правил, которые у меня работали на всех ключевых роутерах. Далее подробно опишу принцип работы и дам готовые скрипты. Устраивайтесь, постараюсь не занудствовать и все описывать максимально простым языком.

Я сетевой инженер в большой компании, пишу статьи про сетевое оборудование, сетевые технологии и околоАЙТИшные темы. Рассматриваю возможности разного оборудования, вместе с вами продолжаю изучать разный функционал и привожу конкретные примеры того, что сделано и как сделано. Это не призыв к действию и не точный мануал - в моих статьях бывают ошибки, которые я всегда готов обсудить в комментариях. Прошу следовать правилам платформы, не нарушать законодательство РФ, не оскорблять других людей и все будет норм!

Итак, начать стоит с того, что сеть у нас делится на "белую" и "серую". К белому сегменту относятся все адреса, которые доступны с любого компьютера, у которого есть выход в интернет - это различные веб-сайты, всякие банковские сервера для работы мобильных клиентов, электронная почта и хостинги, сервера мессенджеров и пр., и пр. К серому сегменту относятся адреса "192.168.0.0/16", "172.16.0.0/12", "100.64.0.0/10", "10.0.0.0/8" - эти диапазоны вы не найдете в сети интернет, их принято использовать внутри корпоративных сетей. Чуть подробнее я описывал это в этой статье. Не буду сейчас углубляться.

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

-2

Первый скрипт, который я рекомендую прописать на своем роутере - это SSH ловушка для порта 22,tcp. Смысл работы в следующем: если ваш текущий адрес находится в списке white_list, то роутер вас пустит в консоль. Если ваш текущий адрес (имеется ввиду, если вы из дома или другого офиса пытаетесь подключиться по ssh к роутеру в первом офисе) не состоит в списке white_list, то у вас будет 3 попытки, чтобы залогиниться. Кулдаун каждой попытки 1 час. Если пароль введен неверно 3 раза, то адрес отправляется в блок на неделю.

/ip firewall filter add action=drop chain=input comment="drop ssh brute forcers" src-address-list=BAN_connection
/ip firewall filter add action=add-src-to-address-list address-list=BAN_connection address-list-timeout=1w chain=input connection-state=new dst-port=22 protocol=tcp src-address-list=ssh_stage3
/ip firewall filter add action=add-src-to-address-list address-list=ssh_stage3 address-list-timeout=1h chain=input connection-state=new dst-port=22 protocol=tcp src-address-list=ssh_stage2
/ip firewall filter add action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1h chain=input connection-state=new dst-port=22 protocol=tcp src-address-list=ssh_stage1
/ip firewall filter add action=add-src-to-address-list address-list=ssh_stage1 address-list-timeout=1h chain=input connection-state=new dst-port=22 protocol=tcp src-address-list=!white_list
/ip firewall filter add action=accept chain=input dst-port=22 protocol=tcp

Вот несколько скринов работы данного скрипта.

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

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

Второй скрипт менее жесткий и сажает в бан на сутки за попытку просканить все открытые порты. Такой скрипт лучше сажать только на внешний интерфейс, который предварительно надо посадить в interface list "external".

Меню Interfaces -> Interface list -> Lists
Меню Interfaces -> Interface list -> Lists
-6
/ip firewall filter add action=add-src-to-address-list address-list=PortScanSrc address-list-timeout=1d chain=input comment=PortScanLog in-interface-list=external psd=21,3s,3,1
/ip firewall filter add action=reject chain=input in-interface-list=external reject-with=icmp-network-unreachable src-address-list=PortScanSrc

Данный скрипт обнаружив перебор портов от одного источника просто кинет его в бан на 24 часа.

-7
Какие-то адреса я добавил в перманентный бан
Какие-то адреса я добавил в перманентный бан

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

-9

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

-10

Спасибо и до следующих статей!