· DevOps  · 3 Min. Lesezeit

Admin-Oberflächen schützen mit CrowdSec und einer dynamischen IP-Freigabe

Angreifer scannen jede öffentliche IP nach Login-Seiten. Wie CrowdSec aus den Traefik-Logs lernt und auffällige Adressen sperrt, und wie ich Admin-Bereiche auf die eigene IP begrenze, obwohl die sich zu Hause dauernd ändert.

Angreifer scannen jede öffentliche IP nach Login-Seiten. Wie CrowdSec aus den Traefik-Logs lernt und auffällige Adressen sperrt, und wie ich Admin-Bereiche auf die eigene IP begrenze, obwohl die sich zu Hause dauernd ändert.

Jede öffentlich erreichbare IP wird permanent gescannt, nach Login-Seiten, bekannten Pfaden, offenen Türen. Das trifft den kleinen Server genauso wie den großen. Ich setze dagegen zwei Bausteine ein, die die Angriffsfläche deutlich reduzieren: einen Wächter, der auffälliges Verhalten sperrt, und eine harte Begrenzung der Admin-Bereiche auf die eigene Herkunft. Beide baue ich in der Reihenfolge auf, in der sie im Folgenden stehen.

Schritt 1: CrowdSec liest die Traefik-Logs und sperrt

Den ersten Baustein bildet CrowdSec. Die Engine wertet die Zugriffs-Logs meines Reverse Proxy Traefik aus und erkennt Muster: viele Fehlversuche, das Abklappern bekannter Angriffspfade, verdächtige Frequenz. Wer auffällt, wird über einen Bouncer im Proxy gesperrt, das ist die Komponente, die die CrowdSec-Entscheidung tatsächlich durchsetzt. Gesperrt wird dann für alle Seiten hinter dem Proxy, nicht nur für die eine, an der jemand sich verdächtig gemacht hat. So schützt eine erkannte Attacke auf eine Seite gleich das ganze Estate.

Schritt 2: Admin-Bereiche auf die eigene IP begrenzen

Der wirksamste Schutz für ein Login ist, es gar nicht erst für alle erreichbar zu machen. Die sensiblen Flächen (das WordPress-Backend, das Analyse-Dashboard) gebe ich nur von meiner eigenen IP frei, über eine IPAllowList-Middleware im Proxy, die Anfragen anhand der Client-IP annimmt oder abweist. Das Problem: Meine Anschluss-IP zu Hause ändert sich regelmäßig. Gelöst habe ich das mit einem dynamischen DNS-Namen und einem kleinen Cron-Job, der die Freigabe-Middleware automatisch auf die aktuelle IP nachzieht. So bleibt der Admin-Bereich auf mich beschränkt, ganz ohne feste IP-Adresse. Auf derselben Logik lässt sich auch der SSH-Zugang in der Firewall auf genau diese dynamische Herkunft begrenzen.

Die Grenze: verdeckte Quell-IPs

Ehrlich muss man eine Einschränkung nennen: In einem rootless-Docker-Setup kann bei manchen Diensten die echte Quell-IP hinter der internen Adresse verschwinden. Dann läuft eine IP-basierte Sperre am eigentlichen Dienst ins Leere, weil alle Verbindungen gleich aussehen. Für solche Dienste trägt der Schutz nicht über die IP, sondern über die Basis: starke Authentifizierung, Verschlüsselung und enge Zugriffsregeln. IP-Filter sind eine Schicht, nicht die ganze Verteidigung.

Ehrlich: Schichten statt Wunderwaffe

Kein einzelner dieser Bausteine ist für sich sicher. CrowdSec fängt das Grundrauschen ab, die IP-Freigabe nimmt die Admin-Flächen aus der Schusslinie, und wo die IP nicht trägt, hält die Authentifizierung. Sicherheit entsteht aus der Kombination, und aus dem Grundsatz, so wenig wie möglich überhaupt öffentlich erreichbar zu machen.

Sie betreiben Dienste im Netz und wollen die Angriffsfläche klein halten? Ich sichere Admin-Zugänge und öffentliche Dienste in mehreren Schichten ab, angefangen bei der Frage, was überhaupt erreichbar sein muss. Mehr unter IT-Sicherheit & ISMS, das Erstgespräch ist unverbindlich.

Alex Jabi, Jabi IT

Alex Jabi

Ich betreue IT, Informationssicherheit und Datenschutz für KMU und Praxen an der Bergstraße und im Odenwald, persönlich, dokumentiert und ohne Cloud-Zwang.

Mehr über mich
Zurück zum Blog

Passende Artikel

Alle Artikel »