Jednoduchý způsob, jak chránit svůj Mikrotik před útoky

Rád bych se s komunitou podělil o jednoduchý a efektivní způsob, jak pomocí Mikrotiku chránit svou síť a služby, které z ní vyčnívají, před externími útoky. A to pomocí pouhých tří pravidel zařídit na Mikrotiku honeypot.

Představme si, že máme malou kancelář, externí IP, za kterou stojí RDP server pro práci zaměstnanců na dálku. První pravidlo je samozřejmě změnit port 3389 na externím rozhraní na jiný. Ale to není na dlouho, po několika dnech začnou audítorské záznamy terminálového serveru vykazovat několik neúspěšných autorizačních pokusů za sekundu od neznámých klientů.

V jiné situaci máte za Mikrotikem skryté asterisk, samozřejmě ne na portu 5060 UDP, a po pár dnech také začíná prolomení hesel… ano, vím, že fail2ban je naše všechno, ale s ním se ještě budeme muset poprat… například jsem ho nedávno zprovoznil na ubuntu 18.04 a s úžasem zjistil, že out-of-the-box fail2ban neobsahuje aktuální nastavení pro asterisk z téže krabice toho samého ubuntu distribuce… a rychlé nastavení hotových „receptů“ už nelze vygooglit, čísla verzí s léty rostou, ale články s „recepty“ pro starší verze už nefungují a nové se téměř neobjevují… Ale nějak jsem se odchýlil od tématu…

Tak co je honeypot ve zkratce — to je návnada, v našem případě nějaký populární port na externím IP, každý požadavek na tento port od externího klienta odešle IP adresu do černé listiny. To je vše.

/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 na populárních TCP portech 22, 3389, 8291 externího rozhraní ether4-wan posílá IP „návštěvníka“ do seznamu „Honeypot Hacker“ (porty pro ssh, rdp a winbox jsou předem vypnuté nebo změněné na jiné). Druhé dělá totéž na populárním UDP 5060.

Třetí pravidlo na fázi preroutování blokuje pakety „návštěvníků“, jejichž srs-adresa se dostala do „Honeypot Hacker“.

Po dvou týdnech provozu mého domácího Mikrotiku zahrnul seznam „Honeypot Hacker“ přibližně patnáct set IP adres milovníků „držení za ucho“ mých síťových zdrojů (doma mám vlastní telefonii, mail, nextcloud, rdp). Brute-force útoky ustaly, přišlo blaženství.

Na pracovišti to však nebylo tak jednoduché, tam rdp server i nadále lámou pomocí prolomení hesel.

Zdá se, že port byl skenerem určen dávno před zapnutím honeypotu, a během karantény není snadné přeorientovat více než 100 uživatelů, z nichž 20 % je starších 65 let. Pokud není možné změnit port, existuje malý pracovní recept. To jsem našel na internetu, ale zde je to doplněné a jemně nastavené:

Pravidla pro nastavení 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

Za 4 minuty je vzdálenému klientovi dovoleno provést pouze 12 nových „dotazů“ na RDP serveru. Jeden pokus o přihlášení představuje 1 až 4 „dotazy“. Při 12. „dotazu“ – blokace na 15 minut. V mém případě útočníci nepřestali server hackovat, ale přizpůsobili se časům a nyní to dělají velmi pomalu, taková rychlost pokusů efektivitu útoku snižuje na nulu. Zaměstnanci podniku z přijatých opatření téměř žádné nepohodlí v práci nepociťují.

Ještě jeden malý trik
Toto pravidlo se aktivuje podle plánu ve 2 hodiny ráno a vypíná se v 5 hodin, kdy určitě spí živí lidé, zatímco automatizovaní skenovací nástroje zůstávají bdělí.

/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. spojení je IP adresa útočníka umístěna na černou listinu na týden. Krása!

A jako doplněk k výše uvedenému přidám odkaz na článek na Wiki, s funkčním nastavením ochrany Mikrotiku proti síťovým skenerům. wiki.mikrotik.com/wiki/Drop_port_scanners

Na mých zařízeních toto nastavení funguje spolu s výše uvedenými pravidly honeypotu, dobře je doplňuje.

UPD: Jak bylo naznačeno v komentářích, pravidlo pro odhoz paketů bylo přesunuto do RAW, aby se snížila zátěž na router.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster