Jednoduchý způsob, jak ochránit váš Mikrotik před útoky

Chci se s komunitou podělit o jednoduchý a fungující způsob, jak pomocí Mikrotiku ochránit vaši síť a služby „vykukující“ zpoza ní před vnějšími útoky. Totiž jen tři pravidla pro uspořádání honeypotu na Mikrotiku.

Představme si tedy, že máme malou kancelář s externí IP adresou, za níž je RDP server pro zaměstnance, kteří mohou pracovat na dálku. Prvním pravidlem je samozřejmě změnit port 3389 na externím rozhraní na jiný. To však nebude trvat dlouho; po několika dnech začne protokol auditu terminálového serveru ukazovat několik neúspěšných autorizací za sekundu od neznámých klientů.

Jiná situace, za Mikrotikem máte schovanou hvězdičku, samozřejmě ne na portu 5060 udp a po pár dnech začíná i hledání hesla... ano, ano, já vím, fail2ban je naše všechno, ale stejně musíme pracovat na tom... nedávno jsem to například nainstaloval na ubuntu 18.04 a s překvapením jsem zjistil, že po vybalení fail2ban neobsahuje aktuální nastavení pro hvězdičku ze stejné krabice stejné distribuce ubuntu... a googlování rychlého nastavení protože hotové „recepty“ již nefungují, čísla vydání v průběhu let rostou a články s „recepty“ pro staré verze již nefungují a nové se téměř nikdy neobjevují... Ale to odbočuji...

Takže, co je to ve zkratce honeypot - je to honeypot, v našem případě jakýkoli oblíbený port na externí IP, jakýkoli požadavek na tento port od externího klienta pošle src adresu na blacklist. Všechno.

/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"

První pravidlo pro populární TCP porty 22, 3389, 8291 externího rozhraní ether4-wan posílá „host“ IP do seznamu „Honeypot Hacker“ (porty pro ssh, rdp a winbox jsou předem deaktivovány nebo změněny na jiné). Druhý dělá totéž na populárním UDP 5060.

Třetí pravidlo ve fázi před směrováním zahazuje pakety od „hostů“, jejichž adresa srs je obsažena v „Hacker Honeypot“.

Po dvou týdnech práce s mým domácím Mikrotikem se v seznamu „Honeypot Hacker“ objevilo asi jeden a půl tisíce IP adres těch, kteří rádi „drží za vemeno“ mé síťové zdroje (doma mám vlastní telefonii, poštu, nextcloud, rdp). Útoky hrubou silou ustaly, přišla blaženost.

V práci se ukázalo, že ne všechno je tak jednoduché, tam pokračují v prolamování rdp serveru hrubým vynucováním hesel.

Číslo portu zřejmě určil skener dávno před zapnutím honeypotu a během karantény není tak snadné překonfigurovat více než 100 uživatelů, z nichž 20 % je starších 65 let. V případě, že port nelze změnit, existuje malý funkční recept. Viděl jsem něco podobného na internetu, ale je s tím spojeno nějaké další přidání a jemné doladění:

Pravidla pro konfiguraci klepání portů

 /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

Během 4 minut může vzdálený klient provést pouze 12 nových „požadavků“ na server RDP. Jeden pokus o přihlášení je 1 až 4 „požadavky“. Při 12. „žádosti“ - zablokování na 15 minut. V mém případě útočníci nepřestali hackovat server, přizpůsobili se časovačům a nyní to dělají velmi pomalu, taková rychlost výběru snižuje efektivitu útoku na nulu. Zaměstnanci společnosti nepociťují z přijatých opatření prakticky žádné nepříjemnosti při práci.

Další malý trik
Toto pravidlo se zapíná podle plánu v 5:XNUMX a vypíná v XNUMX:XNUMX, kdy skuteční lidé definitivně spí a automatizovaní sběrači jsou stále vzhůru.

/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

Již při 8. připojení je útočníkova IP na týden na černé listině. Krása!

No, kromě výše uvedeného přidám odkaz na článek Wiki s funkčním nastavením pro ochranu Mikrotiku před síťovými skenery. wiki.mikrotik.com/wiki/Drop_port_scanners

Na mých zařízeních toto nastavení funguje společně s výše popsanými pravidly honeypotu a dobře je doplňuje.

UPD: Jak bylo navrženo v komentářích, pravidlo zahazování paketů bylo přesunuto do RAW, aby se snížilo zatížení routeru.

Zdroj: www.habr.com

Přidat komentář