Ik wil een eenvoudige en werkende manier delen met de gemeenschap om met behulp van Mikrotik mijn netwerk en de 'opduikende' services ervan te beschermen tegen externe aanvallen. Namelijk, met slechts drie regels een honeypot op Mikrotik op te zetten.
Stel je voor dat we een klein kantoor hebben, met een externe IP achter een RDP-server voor de remote werkende medewerkers. De eerste regel is natuurlijk om poort 3389 op de externe interface naar een andere poort te veranderen. Maar dit is van korte duur; na een paar dagen begint het auditlogboek van de terminalserver te tonen dat er meerdere mislukte autorisaties per seconde zijn van onbekende klanten.
Een andere situatie is dat je een asterisk achter Mikrotik hebt, natuurlijk niet op poort 5060 udp, en na een paar dagen begint men ook daar wachtwoorden te gaan raden... Ja, ik weet het, fail2ban is alles voor ons, maar daar moet je ook nog wat aan sleutelen... bijvoorbeeld heb ik het onlangs op Ubuntu 18.04 opgezet en met verbazing ontdekt dat fail2ban out-of-the-box geen actuele instellingen voor asterisk bevat van dezelfde Ubuntu-distributie... en het is al moeilijk om snelle instellingen van kant-en-klare 'recepten' te googelen; de cijfers van releases stijgen jaarlijks, maar artikelen met 'recepten' voor oude versies werken al niet meer en er verschijnen bijna geen nieuwe... Maar ik wijk af...
Dus, wat is een honeypot in twee woorden ā dit is een lokaas, in ons geval een populaire poort op een extern IP, elk verzoek naar deze poort van een externe klant voegt het src-adres toe aan de zwarte lijst. Dat is alles.
/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"
De eerste regel op populaire TCP-poorten 22, 3389, 8291 van de externe interface ether4-wan stuurt het IP van de 'gast' naar de lijst 'Honeypot Hacker' (poorten voor ssh, rdp en winbox zijn van tevoren uitgeschakeld of veranderd). De tweede doet hetzelfde voor de populaire UDP poort 5060.
De derde regel op het preroetingsniveau blockt de pakketten van 'gasten' wiens srs-adres op de 'Honeypot Hacker' lijst staat.
Na twee weken werking van mijn thuis-Mikrotik bevatte de lijst 'Honeypot Hacker' ongeveer anderhalve duizend IP-adressen van degenen die graag 'aan de bel trekken' met mijn netwerkbronnen (thuis heb ik mijn eigen telefonie, e-mail, nextcloud, rdp). Brute-force aanvallen zijn gestopt, en er is een staat van zegen gekomen.
Op het werk is het niet zo eenvoudig, daar blijft men de rdp-server aanvallen met wachtwoordgissingen.
Blijkbaar is het poortnummer door de scanner lange tijd voor het inschakelen van de honeypot vastgesteld, en tijdens de lockdown is het niet zo eenvoudig om meer dan 100 gebruikers opnieuw in te stellen, van wie 20% ouder is dan 65 jaar. In het geval dat de poort niet kan worden gewijzigd, is er een kleine werkbare oplossing. Ik heb iets dergelijks op internet gezien, maar hier is een aanpassing en fijne afstemming aanwezig:
Regels voor het instellen van 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
Binnen 4 minuten mag een externe klant slechts 12 nieuwe 'verzoeken' indienen bij RDP server. EƩn inlogpoging is van 1 tot 4 'verzoeken'. Bij het 12e 'verzoek' volgt een blokkade van 15 minuten. In mijn geval zijn de aanvallers niet gestopt met het hacken van de server, ze hebben zich aangepast aan de timers en doen dit nu heel langzaam, zo'n snelheid maakt de effectiviteit van de aanval nul. Medewerkers van het bedrijf ondervinden vrijwel geen ongemakken in hun werk door de genomen maatregelen.
Nog een klein trucje
Deze regel wordt volgens een schema geactiveerd om middernacht en uitgeschakeld om 5 uur, wanneer echte mensen zeker slapen, terwijl de automatische aanvallers nog steeds wakker zijn.
/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_stage8Al bij de 8e verbinding wordt het IP-adres van de aanvaller een week lang op de zwarte lijst gezet. Mooi!
Daarnaast voeg ik een link toe naar een Wiki-artikel met een werkende configuratie voor de bescherming van Mikrotik tegen netwerkscanners.
Op mijn apparaten werkt deze instelling samen met de hierboven beschreven honeypotregels, wat een goede aanvulling vormt.
UPD: Zoals in de opmerkingen werd gesuggereerd, is de regel voor het laten vallen van pakketten naar RAW verplaatst om de belasting op de router te verlagen.
Bron: habr.com
