Лёгкі спосаб абараніць свой Mikrotik ад нападаў

Жадаю падзяліцца з супольнасцю простым і працоўным спосабам, як пры дапамозе Mikrotik абараніць сваю сетку і «якія выглядваюць» з-за яго сэрвісы ад вонкавых нападаў. А менавіта ўсяго трыма правіламі арганізаваць на Мікратыцы honeypot.

Такім чынам, уявім, што ў нас невялікі офіс, вонкавы IP за якім стаіць RDP сервер, для працы супрацоўнікаў па выдаленні. Першае правіла гэта вядома змяніць порт 3389 на вонкавым інтэрфейсе на іншы. Але гэта ненадоўга, праз пару дзён часопіс аўдыту тэрмінальнага сервера пачне паказваць па некалькіх няўдалых аўтарызацый у секунду ад невядомых кліентаў.

Іншая сітуацыя, у Вас за Mikrotik схаваны asterisk, натуральна не на 5060 udp порце, і праз пару дзён таксама пачынаецца перабор пароляў… ды так, ведаю, fail2ban наша ўсё, але над ім яшчэ папыхцець прыйдзецца… вось я напрыклад нядаўна падняў яго на ubuntu 18.04 і са здзіўленнем выявіў, што са скрынкі fail2ban не ўтрымоўвае актуальных налад для asterisk з той-жа скрынкі таго-жа ubuntu дыстрыбутыва… а гугліць хуткія налады гатовых «рэцэптаў» ужо не атрымліваецца, лічбы ў рэлізаў з гадамі растуць, а артыкулы з рэцэптамі» для старых версій ужо не працуюць, а новых амаль не з'яўляецца… Але нешта я адцягнуўся…

Такім чынам, што такое honeypot у двух словах – гэта прынада, у нашым выпадку які-небудзь папулярны порт на вонкавым IP, любы запыт на гэты порт ад вонкавага кліента адпраўляе src адрас у чорны спіс. Усё.

/ip firewall filter
add action=add-src-to-address-list address-list="Honeypot Hacker" 
    address-list-timeout=30d0h0m chain=input comment="block honeypot ssh rdp winbox" 
    connection-state=new dst-port=22,3389,8291 in-interface=
    ether4-wan protocol=tcp
add action=add-src-to-address-list address-list="Honeypot Hacker" 
    address-list-timeout=30d0h0m chain=input comment=
    "block honeypot asterisk" connection-state=new dst-port=5060 
    in-interface=ether4-wan protocol=udp 
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=
    "Honeypot Hacker"

Першае правіла на папулярных TCP партах 22, 3389, 8291 вонкавага інтэрфейсу ether4-wan адпраўляе IP "госця" у спіс "Honeypot Hacker" (парты для ssh, rdp і winbox загадзя адключаныя або змененыя на іншыя). Другое робіць тое ж самае на папулярным UDP 5060.

Трэцяе правіла на стадыі прэроўтынгу драпае пакеты "гасцей" чый srs-address трапіў у "Honeypot Hacker".

Праз два тыдні працы майго хатняга Mikrotik спіс «Honeypot Hacker» уключыў у сябе каля паўтары тысячы IP адрасоў аматараў «патрымаць за вымя» мае сеткавыя рэсурсы (хаты свая тэлефанія, пошта, nextcloud, rdp) Brute-force напады спыніліся, наступіла шчасце.

На працы не ўсё так проста аказалася, там rdp сервер працягваюць ламаць пераборам пароляў.

Судзячы па ўсім нумар порта вызначылі сканарам за доўга да ўключэння honeypot, а падчас каранціну не вось так лёгка пераналадзіць больш 100 карыстачоў, з якіх 20% старэй 65 гадоў. У выпадку, калі порт мяняць нельга, ёсць невялікі працоўны рэцэпт. Падобнае ў інтэрнэце сустракаў, але тут прысутнічае дапіў і тонкая настройка:

Правілы для настройкі Port Knocking

 /ip firewall filter
add action=add-src-to-address-list address-list=rdp_blacklist 
    address-list-timeout=15m chain=forward comment=rdp_to_blacklist 
    connection-state=new dst-port=3389 protocol=tcp src-address-list=
    rdp_stage12
add action=add-src-to-address-list address-list=rdp_stage12 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage11
add action=add-src-to-address-list address-list=rdp_stage11 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage10
add action=add-src-to-address-list address-list=rdp_stage10 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage9
add action=add-src-to-address-list address-list=rdp_stage9 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage8
add action=add-src-to-address-list address-list=rdp_stage8 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage7 
    address-list-timeout=4m chain=forward 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=4m chain=forward 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=4m chain=forward 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=4m chain=forward 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=4m chain=forward 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=4m chain=forward 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=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp 
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=
rdp_blacklist

За 4 хвіліны выдаленаму кліенту дазваляецца зрабіць толькі 12 новых "запытаў" да RDP серверу. Адна спроба ўваходу - гэта ад 1 да 4 «запытаў». Пры 12-ым "запыце" - блакіроўка на 15 хвілін. У маім выпадку зламыснікі сервер узломваць не перасталі, падстроіліся пад таймеры і зараз робяць гэта вельмі павольна, такая хуткасць падбору зводзіць эфектыўнасць нападу да нуля. Супрацоўнікі прадпрыемства ад прынятых мераў ніякіх нязручнасцяў у працы практычна не адчуваюць.

Яшчэ адна маленькая хітрасць
Гэтае правіла ўключаецца па раскладзе ў гадзіну ночы і выключаецца ў 5, калі жывыя людзі сапраўды спяць, а аўтаматызаваныя падборшчыкі працягваюць не спаць.

/ip firewall filter 
add action=add-src-to-address-list address-list=rdp_blacklist 
    address-list-timeout=1w0d0h0m chain=forward comment=
    "night_rdp_blacklist" connection-state=new disabled=
    yes dst-port=3389 protocol=tcp src-address-list=rdp_stage8

Ужо на 8-ым па ліку злучэнні IP зламысніка адпраўляецца ў чорны спіс на тыдзень. Прыгажосць!

Ну і ў даважку да вышэйсказанага дадам спасылку на Wiki артыкул, з працоўнай наладай абароны Мікратыка ад сеткавых сканараў. wiki.mikrotik.com/wiki/Drop_port_scanners

На маіх прыладах гэтая налада працуе разам з вышэйапісанымі honeypot правіламі, нядрэнна іх дапаўняючы.

UPD: Як падказалі ў каментарах, правіла дропа пакетаў перамешчана ў RAW, для зніжэння нагрузкі на роўтар.

Крыніца: habr.com

Дадаць каментар