Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Это конечно все хорошо, но меня, как пользователя микротика, интересует один вопрос: какое количество filter-rules микротик может обработать без напряга? После какого числа он начнет напрягаться? 10 тысяч, 100 тысяч, 10 миллионов записей?
Ну и второй вопрос… Можно ли как-нибудь заставить микротик (желательно именно его) добавлять в блэклист (допустимо добавление даже на час), в случае если с определенного IP прилетает очень много коннектов (брутфорсят SSH) за короткий промежуток времени?
add action=add-src-to-address-list address-list=BLACKLIST chain=forward connection-limit=100,32 dst-port=22 in-interface=Internet protocol=tcp address-list-timeout=1h comment="Limit SSH connections" tcp-flags=syn
add action=drop chain=forward comment="Drop SSH connections for blacklisted hosts" dst-port=22 in-interface=Internet protocol=tcp src-address-list=BLACKLIST
/ip firewall filter
add action=drop chain=input comment="drop ssh brute forcers" disabled=no \
dst-port=22 protocol=tcp src-address-list=ssh_blacklist
add action=add-src-to-address-list address-list=ssh_blacklist \
address-list-timeout=1w3d chain=input comment="" connection-state=new \
disabled=no dst-port=22 protocol=tcp src-address-list=ssh_stage3
add action=add-src-to-address-list address-list=ssh_stage3 \
address-list-timeout=1m chain=input comment="" connection-state=new \
disabled=no dst-port=22 protocol=tcp src-address-list=ssh_stage2
add action=add-src-to-address-list address-list=ssh_stage2 \
address-list-timeout=1m chain=input comment="" connection-state=new \
disabled=no dst-port=22 protocol=tcp src-address-list=ssh_stage1
add action=add-src-to-address-list address-list=ssh_stage1 \
address-list-timeout=1m chain=input comment="" connection-state=new \
disabled=no dst-port=22 protocol=tcp
Это зависит от конфигурации Вашего роутера, объёма ОЗУ, ЦПУ, количества пропускаемого трафика, типов используемых фильтров, погоды за бортом, влажности, и т.д. и т.п.
Теоретически следующие правила должны это сделать, практически — надо тестировать.
Первое правило добавляет IP адреса в список BLACKLIST есть количество коннектов равно, либо превышает 100, второе правило блокирует коннекты для IP адресов находящихся в списке BLACKLIST. Повторюсь схема теоретическая, нужно тестирование.
На текущий момент у меня мало правил, всего парочка дропов, а штук 10 правил в цепочке dstnat.
Пока-что нагрузка в среднем 1-5% на проц. Я не представляю как я буду разруливать не то что 100 тысяч, я не представляю как я буду разруливать 100-200 правил (я все-таки программист, а не админ).
Перманентный бан злоумышленников при помощи Fail2Ban + MikroTik