Jednoduchý spôsob, ako ochrániť váš Mikrotik pred útokmi

Chcem sa s komunitou podeliť o jednoduchý a fungujúci spôsob, ako pomocou Mikrotiku ochrániť vašu sieť a služby, ktoré spoza nej „vykúkajú“ pred vonkajšími útokmi. Totiž, len tri pravidlá na usporiadanie honeypotu na Mikrotiku.

Predstavme si teda, že máme malú kanceláriu s externou IP, za ktorou je server RDP, aby zamestnanci mohli pracovať na diaľku. Prvým pravidlom je samozrejme zmeniť port 3389 na externom rozhraní na iný. To však nebude trvať dlho; po niekoľkých dňoch začne protokol auditu terminálového servera ukazovať niekoľko neúspešných autorizácií za sekundu od neznámych klientov.

Iná situácia, za Mikrotikom máš skrytú hviezdičku, samozrejme nie na porte 5060 udp a po pár dňoch sa začne aj hľadanie hesla... áno, áno, viem, fail2ban je naše všetko, ale aj tak musíme pracovať na tom... nedávno som to napríklad nainštaloval na ubuntu 18.04 a bol som prekvapený, keď som zistil, že po vybalení fail2ban neobsahuje aktuálne nastavenia pre hviezdičku z rovnakého boxu tej istej distribúcie ubuntu... a googliť rýchle nastavenia pretože hotové „recepty“ už nefungujú, čísla vydaní rokmi rastú a články s „receptmi“ pre staré verzie už nefungujú a nové sa takmer nikdy neobjavia... Ale to odbočím...

Čo je teda v skratke honeypot - je to honeypot, v našom prípade akýkoľvek populárny port na externej IP, každá požiadavka na tento port od externého klienta pošle src adresu na blacklist. Všetky.

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

Prvé pravidlo na populárnych portoch TCP 22, 3389, 8291 externého rozhrania ether4-wan odošle „hosťovaciu“ IP do zoznamu „Honeypot Hacker“ (porty pre ssh, rdp a winbox sú vopred deaktivované alebo zmenené na iné). Druhý robí to isté na populárnom UDP 5060.

Tretie pravidlo vo fáze pred smerovaním zahodí pakety od „hostí“, ktorých adresa srs je zahrnutá v „Hackerovi Honeypot“.

Po dvoch týždňoch práce s mojím domácim Mikrotikom zoznam „Honeypot Hacker“ obsahoval asi jeden a pol tisíc IP adries tých, ktorí radi „držia za vemeno“ moje sieťové zdroje (doma mám vlastnú telefóniu, poštu, nextcloud, rdp).Útoky hrubou silou prestali, prišla blaženosť.

V práci sa ukázalo, že nie všetko je také jednoduché, tam pokračujú v lámaní rdp servera hrubým vynucovaním hesiel.

Číslo portu zrejme určil skener dávno pred zapnutím honeypotu a počas karantény nie je také jednoduché prekonfigurovať viac ako 100 používateľov, z ktorých 20 % má viac ako 65 rokov. V prípade, že port nemožno zmeniť, existuje malý pracovný recept. Videl som niečo podobné na internete, ale sú tu nejaké ďalšie doplnky a jemné ladenie:

Pravidlá pre konfiguráciu 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 minúty môže vzdialený klient vykonať iba 12 nových „požiadaviek“ na server RDP. Jeden pokus o prihlásenie predstavuje 1 až 4 „požiadavky“. Pri 12. „žiadosti“ - zablokovanie na 15 minút. V mojom prípade útočníci neprestali hackovať server, prispôsobili sa časovačom a teraz to robia veľmi pomaly, takáto rýchlosť výberu znižuje efektivitu útoku na nulu. Zamestnanci spoločnosti z prijatých opatrení nepociťujú v práci prakticky žiadne nepríjemnosti.

Ďalší malý trik
Toto pravidlo sa zapína podľa plánu o 5:XNUMX a vypína sa o XNUMX:XNUMX, keď skutoční ľudia určite spia a automatizovaní zberači sú naďalej hore.

/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

Už pri ôsmom pripojení je adresa IP útočníka na týždeň na čiernej listine. Krása!

Okrem vyššie uvedeného pridám odkaz na článok Wiki s funkčným nastavením na ochranu Mikrotiku pred sieťovými skenermi. wiki.mikrotik.com/wiki/Drop_port_scanners

Na mojich zariadeniach toto nastavenie funguje spolu s pravidlami honeypotu opísanými vyššie a dobre ich dopĺňa.

UPD: Ako sa uvádza v komentároch, pravidlo zahadzovania paketov bolo presunuté do formátu RAW, aby sa znížilo zaťaženie smerovača.

Zdroj: hab.com

Pridať komentár