Eine einfache Möglichkeit, Ihren Mikrotik vor Angriffen zu schützen.

Ich möchte mit der Community einen einfachen und effektiven Weg teilen, wie man mit Mikrotik sein Netzwerk und die dahinterliegenden Dienste vor externen Angriffen schützen kann. Konkret lässt sich mit nur drei Regeln ein Honeypot auf Mikrotik einrichten.

Angenommen, wir haben ein kleines Büro, in dem ein RDP-Server hinter einer externen IP für die Remote-Arbeit der Mitarbeiter steht. Die erste Regel besteht natürlich darin, den Port 3389 auf der externen Schnittstelle zu ändern. Doch das hält nicht lange, denn nach ein paar Tagen wird das Auditprotokoll des Terminalservers mehrere fehlgeschlagene Authentifizierungsversuche pro Sekunde von unbekannten Clients anzeigen.

Eine andere Situation: Hinter Ihrem Mikrotik verbirgt sich ein Asterisk, natürlich nicht am UDP-Port 5060, und nach ein paar Tagen beginnt auch hier das Durchprobieren von Passwörtern... Ja, ich weiß, fail2ban ist unser Alleskönner, aber daran müssen wir noch etwas arbeiten... Ich habe zum Beispiel neulich fail2ban auf Ubuntu 18.04 installiert und war überrascht, dass es standardmäßig keine aktuellen Einstellungen für Asterisk aus der gleichen Distribution von Ubuntu enthält... Und schnelle Googlesuchanfragen nach fertigen "Rezepten" bringen nicht viel, die Versionszahlen steigen mit den Jahren, während Artikel über "Rezepte" für alte Versionen nicht mehr funktionieren und neue kaum erscheinen... Aber ich bin etwas vom Thema abgekommen...

Was ist also ein Honeypot in Kürze? Es ist eine Falle, in unserem Fall ein beliebter Port auf der externen IP. Jede Anfrage an diesen Port von einem externen Client sendet die Quelladresse auf die schwarze Liste. Das war's.

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

Die erste Regel für die beliebten TCP-Ports 22, 3389, 8291 des externen Interfaces ether4-wan fügt die IP des "Gastes" zur Liste "Honeypot Hacker" hinzu (Ports für SSH, RDP und Winbox wurden im Voraus deaktiviert oder auf andere geändert). Die zweite Regel macht dasselbe für den populären UDP-Port 5060.

Die dritte Regel im Prerouting-Stage verwirft Pakete von "Gästen", deren Quelladresse auf der Liste "Honeypot Hacker" steht.

Nach zwei Wochen mit meinem heimischen Mikrotik umfasst die Liste „Honeypot Hacker“ etwa 1.500 IP-Adressen von Leuten, die meine Netzressourcen (Telefone, E-Mail, Nextcloud, RDP) „an die Leine nehmen“ möchten. Die Brute-Force-Angriffe haben aufgehört, und es ist ein Zustand des Wohlstands eingetreten.

Bei der Arbeit ist es nicht so einfach, dort wird der RDP-Server weiterhin durch Passwortprüfungen angegriffen.

Offenbar wurde die Portnummer mit einem Scanner lange vor der Aktivierung des Honeypots ermittelt, und während der Quarantäne ist es nicht so einfach, über 100 Benutzer umzustellen, von denen 20% über 65 Jahre alt sind. Falls der Port nicht geändert werden kann, gibt es ein kleines funktionierendes Rezept. Ähnliches habe ich im Internet gesehen, aber hier gibt es Anpassungen und feine Einstellungen:

Regeln für die Konfiguration von 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

Für den entfernten Client sind innerhalb von 4 Minuten nur 12 neue „Anfragen“ an RDP erlaubt. Server. Ein Login-Versuch besteht aus 1 bis 4 „Anfragen“. Bei der 12. „Anfrage“ erfolgt eine Sperre für 15 Minuten. In meinem Fall haben die Angreifer nicht aufgehört, den Server zu hacken; sie haben sich an die Timer angepasst und machen es jetzt sehr langsam. Diese Geschwindigkeit reduziert die Effektivität des Angriffs auf Null. Die Mitarbeiter des Unternehmens haben durch die getroffenen Maßnahmen praktisch keine Beeinträchtigungen in der Arbeit.

Ein weiterer kleiner Trick
Diese Regel wird nach Zeitplan um Mitternacht aktiviert und um 5 Uhr deaktiviert, wenn echte Menschen sicher schlafen, während automatisierte Bruteforcer weiterhin aktiv sind.

/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

Bereits beim 8. Verbindungsversuch wird die IP des Angreifers für eine Woche auf die schwarze Liste gesetzt. Herrlich!

Zusätzlich zu dem Gesagten füge ich einen Link zu einem Wiki-Artikel mit einer funktionierenden Schutzkonfiguration von MikroTik gegen Netzwerkscanner hinzu. wiki.mikrotik.com/wiki/Drop_port_scanners

Auf meinen Geräten funktioniert diese Einstellung zusammen mit den zuvor beschriebenen Honeypot-Regeln und ergänzt sie gut.

UPD: Wie in den Kommentaren angemerkt wurde, wurde die Regel zum Droppen von Paketen in RAW verschoben, um die Last auf den Router zu verringern.

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster