Jeg vil dele en simpel og funktionel metode med fællesskabet til, hvordan man ved hjælp af Mikrotik kan beskytte sit netværk og de "synlige" tjenester imod eksterne angreb. Det handler om at organisere et honeypot på Mikrotik med tre enkle regler.
Lad os sige, at vi har et lille kontor, en ekstern IP bag hvilken der står en RDP-server til fjernarbejde for medarbejderne. Den første regel er selvfølgelig at ændre port 3389 på den eksterne grænseflade til en anden. Men det varer ikke længe, efter et par dage begynder loggen for terminalserveren at vise flere mislykkedes godkendelser i sekundet fra ukendte klienter.
En anden situation er, hvis du har en Asterisk skjult bag Mikrotik, naturligvis ikke på port 5060 UDP, og efter et par dage begynder passwordet også at blive forsøgt... ja, jeg ved, at fail2ban er vores alt, men det kræver stadig lidt arbejde at få det til at fungere... For eksempel har jeg for nylig installeret det på Ubuntu 18.04, og blev overrasket over, at fail2ban ikke indeholder aktuelle indstillinger til Asterisk fra den samme Ubuntu-distribution... Og at søge efter hurtige indstillinger i færdige "opskrifter" fungerer heller ikke længere, tallene i udgivelserne stiger med årene, men artiklerne med "opskrifter" til gamle versioner virker ikke længere, og der dukker næsten ikke nye op... Men jeg kom lidt væk fra emnet...
Så, hvad er et honeypot i to ord - det er en fælde, i vores tilfælde en populær port på den eksterne IP, enhver anmodning til denne port fra en ekstern klient sender kildeadressen til den sorte liste. Det er alt.
/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"
Den første regel på populære TCP-porter 22, 3389, 8291 på den eksterne grænseflade ether4-wan sender IP'en "gæsten" ind i listen "Honeypot Hacker" (portene til ssh, rdp og winbox er på forhånd deaktiveret eller ændret til andre). Den anden gør det samme på den populære UDP 5060.
Den tredje regel i prerouting-kæden droppede pakker fra "gæster", hvis kildeadresse er kommet ind i "Honeypot Hacker".
Efter to uger med mit hjemme-Mikrotik har listen "Honeypot Hacker" inkluderet omkring halvanden tusinde IP-adresser af dem, der elsker at "tjekke" mine netværksressourcer (hjemme har jeg min egen telefoni, e-mail, nextcloud, rdp). Brute-force angrebene stoppede, og der indtrådte en tilstand af lykke.
På arbejdet viste det sig ikke at være så enkelt, der fortsætter angrebene på RDP-serveren ved hjælp af passwordforsøg.
Tilsyneladende blev portnummeret identificeret af scanneren længe før honeypot'en blev aktiveret, og det er ikke så let at omkonfigurere mere end 100 brugere under en lockdown, hvoraf 20 % er over 65 år. Hvis porten ikke kan ændres, er der en lille fungerende opskrift. Jeg har set noget lignende på internettet, men der er en finjustering her:
Regler for opsætning af 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
En fjernklient har kun 4 minutter til at lave 12 nye 'forespørgsler' til RDP. server. Ét loginforsøg svarer til mellem 1 og 4 'forespørgsler'. Ved den 12. 'forespørgsel' - bliver der blokkeret i 15 minutter. I mit tilfælde stoppede angriberne ikke med at forsøge at hacke serveren, men tilpassede sig timerne og gør det nu meget langsomt, hvilket reducerer angrebseffektiviteten til nul. Medarbejderne i virksomheden oplever næsten ingen ulemper ved de trufne foranstaltninger.
Endnu et lille trick
Denne regel aktiveres på et fast tidspunkt kl. 01.00 og deaktiveres kl. 05.00, når de levende mennesker helt sikkert sover, mens automatiserede brute force-angreb stadig er vågne.
/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_stage8Allerede ved den ottende forbindelse sendes angriberens IP i sortliste i en uge. Smukt!
Som et ekstra punkt vil jeg tilføje et link til en Wiki-artikel med en fungerende opsætning af beskyttelse mod netværksscannere på Mikrotik.
På mine enheder fungerer denne opsætning sammen med de tidligere nævnte honeypot-regler, hvilket godt suppleres.
UPD: Som nævnt i kommentarerne er reglen for drop af pakker flyttet til RAW for at mindske belastningen på routeren.
Kilde: habr.com
