03.05.2018 - Bruteforce login Mikrotik 
Сегодня поговорим о том, как отражать атаки перебора учетных данных (Bruteforce login) на примере Router Mikrotik и протокола удаленного доступа ssh. Данную технологию мы успешно внедряем в нашей практике ИТ-аутсорсинга так как это даеть еще один уровень защиты от взлома.
Если вы открываете log файл и видите нечто подобное, то вам будет интересно.
Кто-то очень сильно хочет попасть ко мне))
Для начала конечно стоит поменять стандартные сервисные порты на свои и отключить не нужные (для большей надежности).
Оставим ssh 22 порт специально стандартным, для того чтобы наш эксперимент вышел более информативным.
Итак, что мы сделаем, мы создадим 5 правил в Firewall
1)add chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop \
comment="drop ssh brute forcers" disabled=no
Это правило заблокирует все входящие соединения с ip которые находятся в адрес листе «ssh_blacklist»
2) 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=10h comment="" disabled=no
Это правило при новом соединении возьмет все ipиз адрес листа «ssh_stage3» и создаст динамический адрес лист «ssh_blacklist» добавив туда эти адреса. Остальные правила по аналогии со вторым только меняются названия адрес листов и «address-list-timeout» .
3) 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
4) 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
5) 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
Важно понимать, что создание и наполнения адрес листов будет иди от 5 до 2 правила, а уже первым блокировать ip с которых перебирают учетные данные на 10 часов. Поэтому они располагаются именно в таком порядке.
Обязательно во 2,3,4,5 правилах нужно указывать параметр «connection-state=new» он говорит, что применять это правило нужно только при новом подключении, а так как в Firewall правила проверяются на соответствия сверху вниз – нам и дает нужный эффект.
На практике это выглядит так.
Видим, что c ip 103.207.36.232 пытались подобрать пароль. Не трудно посчитать у ssh MaxAuthTries по дефолту равно 6, то есть попыток вести пароль на одну сессию, значит в течении минуты он подключался по ssh к моему роутеру 3 раза и в общем 18 раз ввел не правильный пароль и подключившись четвертый раз занёсся в «ssh_blacklist» на 10 часов (можно и на 10 суток это как душе угодно). А самое первое правило блокирует все входящие соединения на 22 порт из «ssh_blacklist».
Конечно есть вероятность что вы сами себя заблокируете – но думаю 18 раз ошибиться в течении минуты случайно почти не реально.
Всем спасибо, пользуйтесь ведь такое можно делать не только для SHH
P.S. Вот такая картина у меня за два часа работы фильтров.
Автор as@oneweb.pro | Просмотров 6584
Комментарии (0)
Есть что сказать? Пишите нам ->