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

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.

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