Брутфорс и как я с ним борюсь при помощи МикроТик

Posted by

Замечание! Информация устарела. Усовершенствованный подход можно посмотреть тут:  Mikrotik. Защищаем RDP от брутфорса

Замучили меня брутфорсеры…. В секунду идёт по 3-4 попытки подбора паролей к Терминальному серверу.

И тут!!! Вдруг!!! Я вспомнил, что у меня же МикроТик стоит!!!!

А тут вот хорошая идея есть: https://wiki.mikrotik.com/wiki/Bruteforce_login_preve..

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

/ip firewall filter
add action=drop chain=forward comment=»Drop RDP brute forcers» dst-port=3389 \
protocol=tcp src-address-list=rdp_blacklist

add action=add-src-to-address-list address-list=rdp_blacklist \
address-list-timeout=1h chain=forward comment=»If there were 6 attempts to\
\_connect, we block for 1 hour. (Two new packages per connection attempt)» \
connection-state=new dst-port=3389 protocol=tcp src-address-list=\
rdp_stage6

add action=add-src-to-address-list address-list=rdp_stage6 \
address-list-timeout=1m chain=forward comment=»Sixth connection attempt» \
connection-state=new dst-port=3389 protocol=tcp src-address-list=\
rdp_stage5

add action=add-src-to-address-list address-list=rdp_stage5 \
address-list-timeout=1m chain=forward comment=»Fifth connection attempt» \
connection-state=new dst-port=3389 protocol=tcp src-address-list=\
rdp_stage4

add action=add-src-to-address-list address-list=rdp_stage4 \
address-list-timeout=1m chain=forward comment=»Fourth connection attempt» \
connection-state=new dst-port=3389 protocol=tcp src-address-list=\
rdp_stage3

add action=add-src-to-address-list address-list=rdp_stage3 \
address-list-timeout=1m chain=forward comment=»Third connection attempt» \
connection-state=new dst-port=3389 protocol=tcp src-address-list=\
rdp_stage2

add action=add-src-to-address-list address-list=rdp_stage2 \
address-list-timeout=1m chain=forward comment=»Second connection attempt» \
connection-state=new dst-port=3389 protocol=tcp src-address-list=\
rdp_stage1

add action=add-src-to-address-list address-list=rdp_stage1 \
address-list-timeout=1m chain=forward comment=»First connection attempt» \
connection-state=new dst-port=3389 protocol=tcp

А потом подумал, и сделал вариант покороче:

/ip firewall filter

add action=jump chain=forward comment=\
«Go into the chain for detecting Bruteforcers» connection-state=new \
dst-port=3389 jump-target=BruteForcersDetect protocol=tcp

add action=accept chain=BruteForcersDetect comment=\
«Accept 10 new connections that occurred within 1 minute» dst-limit=\
1/1m,9,dst-address/1m

add action=drop chain=BruteForcersDetect comment=»Drop Bruteforcers» \
src-address-list=BruteForcers

add action=add-src-to-address-list address-list=BruteForcers \
address-list-timeout=15m chain=BruteForcersDetect comment=\
«Adding an address to the list of Bruteforcers»

add action=return chain=BruteForcersDetect comment=»End of chain and return.»

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

Ура!!!

 

PS.

!!! В новости есть несколько  ошибок и недочётов, но общее направление «куда копать» указано верно !!!

Leave a Reply