← Zurück zum Blog

Brute-Force-Angriffe auf Website-Logins: Wie Sie Funktionieren und Wie Man Sie Stoppt

Was Passiert, Wenn Angreifer Ihre Login-Seite Ins Visier Nehmen

Jede Website mit einem Login-Formular ist ein Ziel. Es spielt keine Rolle, ob Sie ein kleines Unternehmen in Lugano oder einen multinationalen Betrieb fuehren. Automatisierte Tools scannen das Internet rund um die Uhr nach Login-Seiten. Wenn sie eine finden, beginnen sie Passwoerter auszuprobieren.

Dies ist kein theoretisches Risiko. Akamai meldete allein im Jahr 2020 ueber 193 Milliarden Credential-Stuffing-Angriffe. Cloudflare blockiert taeglich Millionen von Brute-Force-Versuchen in seinem Netzwerk. Ihre Website ist Teil dieser Angriffsflaeche, ob Sie es wissen oder nicht.

Der Grund, warum diese Angriffe fortbestehen, ist einfach: Sie funktionieren. Standard-Zugangsdaten, schwache Passwoerter und fehlendes Rate Limiting geben Angreifern leichte Siege. Ein einziges kompromittiertes Admin-Panel kann zu Datendiebstahl, Website-Defacement, Malware-Injektion oder Ransomware-Einsatz fuehren.

Dieser Artikel analysiert genau, wie Brute-Force- und Credential-Stuffing-Angriffe funktionieren, praesentiert echte Statistiken zu automatisierten Login-Versuchen und fuehrt durch jede Gegenmassnahme, die Sie implementiert haben sollten.

Wie Brute-Force-Angriffe Funktionieren

Ein Brute-Force-Angriff ist die einfachste Form des Passwort-Knackens: jede moegliche Kombination ausprobieren, bis eine funktioniert. In der Praxis sind moderne Brute-Force-Tools weitaus ausgefeilter als "aaaaaa" und dann "aaaaab" zu versuchen. Sie verwenden optimierte Strategien, um gueltige Zugangsdaten schneller zu finden.

Reiner Brute Force

Der Angreifer probiert jede moegliche Zeichenkombination fuer eine gegebene Laenge. Fuer ein 6-Zeichen-Passwort mit Kleinbuchstaben sind das 308 Millionen Kombinationen. Fuer ein 8-Zeichen-Passwort mit Gross- und Kleinbuchstaben, Zahlen und Symbolen sind es ueber 6 Billiarden Kombinationen.

Reiner Brute Force ist langsam gegen starke Passwoerter. Aber gegen schwache (wie "admin1" oder "password") funktioniert er in Sekunden.

Woerterbuch-Angriffe

Anstatt jede Kombination zu versuchen, verwenden Woerterbuch-Angriffe Listen gaengiger Passwoerter. Diese Wortlisten enthalten Millionen von Eintraegen, die aus frueheren Datenlecks zusammengestellt wurden. Die am haeufigsten verwendeten Passwoerter erscheinen in praktisch jeder Breach-Datenbank:

  • 123456 (von ueber 23 Millionen Konten in Breach-Datenbanken verwendet)
  • password
  • 123456789
  • qwerty
  • 12345678
  • admin
  • welcome
  • letmein

Woerterbuch-Angriffe sind schnell, weil sie unwahrscheinliche Kombinationen ueberspringen und sich auf Passwoerter konzentrieren, die Menschen tatsaechlich verwenden. Eine Wortliste mit 10 Millionen gaengigen Passwoertern kann innerhalb weniger Stunden gegen ein Web-Login getestet werden, je nach vorhandenem Rate Limiting.

Credential Stuffing

Credential Stuffing ist die effektivste Variante. Der Angreifer nimmt Benutzername-Passwort-Paare aus einem frueheren Datenleck (LinkedIn, Adobe, Dropbox oder einem der tausenden Lecks, die Milliarden von Zugangsdaten offengelegt haben) und probiert sie auf Ihrer Website.

Warum funktioniert das? Weil Menschen Passwoerter wiederverwenden. Studien zeigen durchgehend, dass 60-65% der Menschen dasselbe Passwort fuer mehrere Dienste verwenden. Wenn Ihr Mitarbeiter dasselbe Passwort fuer sein LinkedIn-Konto und das WordPress-Admin-Panel Ihres Unternehmens verwendet hat, gibt ein LinkedIn-Leck dem Angreifer Zugang zu Ihrer Website.

Credential Stuffing ist schwerer zu erkennen als Brute Force, weil jeder Login-Versuch einen gueltig aussehenden Benutzernamen und ein plausibles Passwort verwendet. Es gibt keine Muster von sequentiellen Versuchen, die man markieren koennte.

Hybride Angriffe

Hybride Angriffe kombinieren Woerterbuchworten mit gaengigen Modifikationen: Zahlen anhaengen (password1, password123), Buchstaben durch Symbole ersetzen (p@ssw0rd), den ersten Buchstaben gross schreiben (Password). Diese fangen Benutzer ein, die denken, sie seien schlau, indem sie geringfuegige Aenderungen an gaengigen Woertern vornehmen.

Die von Angreifern Verwendeten Tools

Man muss kein erfahrener Hacker sein, um Brute-Force-Angriffe durchzufuehren. Die Tools sind kostenlos, Open Source und gut dokumentiert:

  • Hydra: Ein parallelisierter Login-Cracker, der Dutzende von Protokollen unterstuetzt, darunter HTTP-Formulare, SSH, FTP und SMTP.
  • Burp Suite: Eine Web-Sicherheitstestplattform mit einem Intruder-Modul fuer automatisierte Login-Angriffe. Die Community-Edition ist kostenlos.
  • WPScan: Ein WordPress-spezifischer Scanner mit Brute-Force-Faehigkeiten fuer wp-login.php und XML-RPC-Endpunkte.
  • Sentry MBA, OpenBullet: Credential-Stuffing-Tools, die in Underground-Foren geteilte "Configs" verwenden.

Die Eintrittsbarriere ist extrem niedrig. Ein Teenager mit einem Laptop und einer Wortliste kann innerhalb von Minuten einen Brute-Force-Angriff starten.

Statistiken zu Automatisierten Login-Versuchen

Das Ausmass der automatisierten Login-Angriffe ist enorm:

MetrikWertQuelle
Credential-Stuffing-Angriffe 2020193 MilliardenAkamai
Prozentsatz des boesartigen Login-TrafficsUeber 90% auf manchen WebsitesShape Security
Durchschnittliche Kosten eines Credential-Stuffing-Angriffs6 Millionen USD pro JahrPonemon Institute
WordPress-Seiten, die taeglich per Brute Force angegriffen werdenUeber 900.000Wordfence
Zeit zum Knacken von "password123" per Brute ForceWeniger als 1 SekundeHive Systems
Prozentsatz der Benutzer, die Passwoerter wiederverwenden60-65%Google/Harris Poll

Wenn Sie eine WordPress-Website betreiben, zeigen Wordfence-Daten, dass Brute-Force-Angriffe auf wp-login.php und xmlrpc.php einen der drei wichtigsten Angriffsvektoren darstellen. Jede WordPress-Website, die wir fuer Unternehmen im Tessin pruefen, zeigt Hinweise auf Brute-Force-Versuche in den Zugriffsprotokollen.

Warum Standard-Zugangsdaten der Angriffsvektor Nummer Eins Bleiben

Es klingt absurd im Jahr 2022, aber Standard-Zugangsdaten sind immer noch der effektivste Weg in ein System. Hier ist der Grund:

  • CMS-Installationen: WordPress-, Joomla- und Drupal-Installationen behalten oft den Standard-Benutzernamen "admin". Der Angreifer kennt bereits die Haelfte der Zugangsdaten.
  • Netzwerkgeraete: Router, Switches und IoT-Geraete werden mit Standard-Zugangsdaten ausgeliefert (admin/admin, admin/password, root/root). Viele werden nie geaendert.
  • Entwicklungsumgebungen: Staging-Server, Entwicklungsdatenbanken und Testinstanzen verwenden oft einfache Zugangsdaten, die versehentlich in die Produktion gelangen.
  • Drittanbieter-Plugins: Einige WordPress-Plugins und -Themes erstellen bei der Installation Admin-Konten mit Standard-Passwoertern.

Das Mirai-Botnet, das 2016 wichtige Internetdienste lahmlegte, funktionierte, indem es nur 62 Standard-Benutzername/Passwort-Kombinationen gegen IoT-Geraete ausprobierte. Das reichte, um ein Botnet von ueber 600.000 Geraeten aufzubauen.

Gegenmassnahme 1: Rate Limiting

Rate Limiting ist Ihre erste Verteidigungslinie. Es beschraenkt die Anzahl der Login-Versuche von einer einzelnen Quelle innerhalb eines Zeitfensters.

Wie Man Rate Limiting Implementiert

Auf Anwendungsebene verfolgen Sie fehlgeschlagene Login-Versuche pro IP-Adresse und pro Benutzername. Nach einem Schwellenwert (z.B. 5 fehlgeschlagene Versuche in 15 Minuten) fuegen Sie eine zunehmende Verzoegerung hinzu.

Auf Serverebene koennen Tools wie nginx Limits auf bestimmten Endpunkten durchsetzen:

limit_req_zone $binary_remote_addr zone=login:10m rate=5r/m;

Diese Konfiguration beschraenkt jede IP-Adresse auf 5 Anfragen pro Minute am Login-Endpunkt. Legitime Benutzer werden dieses Limit nie erreichen. Automatisierte Tools werden erheblich verlangsamt.

Gegenmassnahme 2: CAPTCHA

CAPTCHA fuegt eine Herausforderung hinzu, die fuer Menschen einfach, aber fuer Bots schwierig ist.

Optionen

  • reCAPTCHA v2: Das "Ich bin kein Roboter"-Kontrollkaestchen. Funktioniert gut, fuegt aber Reibung hinzu.
  • reCAPTCHA v3: Unsichtbar, bewertet jede Anfrage von 0.0 bis 1.0 basierend auf Verhaltensanalyse.
  • hCaptcha: Eine datenschutzorientierte Alternative zu reCAPTCHA. Besonders relevant fuer Schweizer Unternehmen, die sich um die Datenverarbeitung unter dem nDSG sorgen.
  • Cloudflare Turnstile: Cloudflares CAPTCHA-Alternative. Kostenlos, datenschutzfreundlich und in den meisten Faellen reibungslos.

Wann CAPTCHA Anzeigen

Zeigen Sie CAPTCHA nicht bei jedem Login-Versuch an. Das aergert legitime Benutzer. Zeigen Sie es nach 2-3 fehlgeschlagenen Versuchen von derselben IP oder fuer denselben Benutzernamen.

Gegenmassnahme 3: Kontosperrungsrichtlinien

Die Kontosperrung deaktiviert ein Konto voruebergehend nach einer Anzahl fehlgeschlagener Login-Versuche.

  • Nach 5 fehlgeschlagenen Versuchen: Konto fuer 15 Minuten sperren.
  • Nach 10 fehlgeschlagenen Versuchen: fuer 1 Stunde sperren.
  • Nach 20 fehlgeschlagenen Versuchen: bis zur manuellen Ueberpruefung sperren.

Das Denial-of-Service-Risiko

Die Kontosperrung hat einen erheblichen Nachteil: Ein Angreifer kann absichtlich legitime Benutzer aussperren, indem er falsche Passwoerter gegen deren Konten probiert. Um dies abzumildern, kombinieren Sie die Sperrung mit anderen Signalen. Sperren Sie basierend auf der Kombination IP + Benutzername statt nur auf dem Benutzernamen.

Gegenmassnahme 4: fail2ban

fail2ban ist ein Intrusion-Prevention-Tool auf Serverebene, das Logdateien auf Anzeichen boesartiger Aktivitaeten ueberwacht und die fehlerhaften IP-Adressen automatisch sperrt.

Wie fail2ban Funktioniert

  1. fail2ban ueberwacht Logdateien (z.B. /var/log/auth.log, /var/log/nginx/access.log).
  2. Es wendet Filterregeln an, um fehlgeschlagene Login-Versuche zu identifizieren.
  3. Wenn eine IP den konfigurierten Schwellenwert ueberschreitet, fuegt fail2ban eine Firewall-Regel hinzu, um diese IP zu blockieren.
  4. Nach einer konfigurierbaren Sperrzeit wird die IP automatisch entsperrt.

Konfiguration fuer Web-Logins

[wordpress-login] enabled = true filter = wordpress-login logpath = /var/log/nginx/access.log maxretry = 5 findtime = 300 bantime = 3600

Dies sperrt jede IP, die innerhalb von 5 Minuten 5 fehlgeschlagene Login-Versuche generiert, fuer 1 Stunde. fail2ban arbeitet auf Firewall-Ebene, sodass gesperrte IPs Ihren Webserver nicht einmal erreichen koennen.

Warum fail2ban ein Muss fuer Self-Hosted Websites Ist

Wenn Sie Ihre Website auf einem VPS oder dedizierten Server hosten (ueblich fuer Unternehmen in der Schweiz, die Datenresidenz wuenschen), sollte fail2ban installiert und fuer jeden exponierten Dienst konfiguriert sein: SSH, Web-Login, FTP, SMTP.

Gegenmassnahme 5: Cloudflare WAF

Eine WAF sitzt zwischen dem Internet und Ihrem Webserver und filtert boesartigen Datenverkehr, bevor er Ihre Anwendung erreicht.

Wie Cloudflare WAF Brute Force Stoppt

  • Bot-Erkennung: Cloudflare nutzt Machine Learning, um automatisierte Tools von echten Browsern zu unterscheiden.
  • Rate-Limiting-Regeln: Sie koennen benutzerdefinierte Regeln erstellen, die Login-Versuche pro IP oder Sitzung begrenzen.
  • Verwaltete Regelsaetze: Cloudflare pflegt Regelsaetze, die bekannte Angriffsmuster blockieren.
  • Challenge-Seiten: Verdaechtiger Datenverkehr erhaelt eine JavaScript-Challenge oder CAPTCHA.
  • IP-Reputation: Cloudflare pflegt eine Reputationsdatenbank von IP-Adressen ueber sein gesamtes Netzwerk.

Fuer Unternehmen im Tessin und in der ganzen Schweiz beinhaltet der kostenlose Cloudflare-Plan grundlegende WAF-Funktionen. Der Pro-Plan (20 USD/Monat) fuegt den vollstaendigen verwalteten Regelsatz hinzu. Fuer eine breitere Perspektive zur Web-Sicherheit fuer Unternehmenswebsites lesen Sie unseren Artikel zur Sicherheit von Unternehmenswebsites.

Gegenmassnahme 6: Zwei-Faktor-Authentifizierung (2FA)

Die Zwei-Faktor-Authentifizierung ist die wirksamste Einzelverteidigung gegen Brute Force und Credential Stuffing. Selbst wenn ein Angreifer das richtige Passwort erhaelt, kann er sich ohne den zweiten Faktor nicht anmelden.

Arten von 2FA

  • TOTP (Time-based One-Time Password): Apps wie Google Authenticator, Authy oder Microsoft Authenticator generieren einen 6-stelligen Code, der sich alle 30 Sekunden aendert.
  • Hardware-Sicherheitsschluessel: Physische Geraete (YubiKey, Google Titan), die das FIDO2/WebAuthn-Protokoll verwenden. Die sicherste Option, immun gegen Phishing.
  • SMS-Codes: Ein per Textnachricht gesendeter Code. Besser als kein 2FA, aber anfaellig fuer SIM-Swapping-Angriffe.
  • E-Mail-Codes: Ein an die E-Mail des Benutzers gesendeter Code. Besser als nichts, haengt aber von der Sicherheit des E-Mail-Kontos ab.

Warum 2FA das Credential-Stuffing-Problem Loest

Credential Stuffing funktioniert, weil gestohlene Passwoerter gueltig sind. Aber ein gestohlenes Passwort kombiniert mit 2FA ist nutzlos. Der Angreifer hat das Passwort, kann aber den TOTP-Code nicht generieren. Diese eine Massnahme eliminiert den gesamten Credential-Stuffing-Angriffsvektor.

Login-Sicherheit Richtig Implementieren: Ein Schichtenansatz

Keine einzelne Gegenmassnahme ist ausreichend. Der richtige Ansatz ist Verteidigung in der Tiefe, bei der mehrere Schichten zusammenarbeiten, sodass ein Versagen in einer Schicht von der naechsten aufgefangen wird.

Zusammenfassung der Empfohlenen Konfiguration

SchichtToolKonfiguration
NetzwerkCloudflare WAFManaged Challenge auf Login-URL, Rate Limit 5 Req/Min
Serverfail2banIP-Sperre nach 5 Fehlversuchen in 5 Min, Sperrdauer 1 Stunde
Servernginx Rate Limit5 Anfragen/Minute pro IP am Login-Endpunkt
AnwendungCAPTCHAAnzeige nach 3 Fehlversuchen pro IP oder Benutzername
AnwendungKontosperrungSperren nach 10 Fehlversuchen, entsperren nach 15 Min
Authentifizierung2FA (TOTP)Pflicht fuer alle Admin- und Editor-Konten

Zusaetzliche Haertungsmassnahmen

Login-URL Umbenennen oder Verbergen

Fuer WordPress ist die Standard-Login-URL /wp-login.php. Jeder Bot im Internet kennt sie. Plugins wie WPS Hide Login erlauben es, sie in eine benutzerdefinierte URL zu aendern. Dies bietet keine echte Sicherheit (Security through Obscurity), eliminiert aber eine enorme Menge an automatisiertem Rauschen in Ihren Logs.

XML-RPC Deaktivieren

Die XML-RPC-Schnittstelle von WordPress (xmlrpc.php) erlaubt Login-Versuche, die den Schutz von wp-login.php umgehen. Angreifer nutzen die system.multicall-Methode, um Hunderte von Passwoertern in einer einzigen Anfrage zu testen. Sofern Sie XML-RPC nicht speziell benoetigen, deaktivieren Sie es vollstaendig. Mehr zu WordPress-spezifischen Schwachstellen finden Sie in unserem Artikel ueber WordPress-Sicherheit und Updates.

Starke Passwortrichtlinien Durchsetzen

Fordern Sie Passwoerter mit mindestens 12 Zeichen und pruefen Sie sie gegen bekannte Breach-Datenbanken (die HaveIBeenPwned-API bietet diesen Dienst kostenlos an). Erzwingen Sie keine willkuerlichen Komplexitaetsregeln, da sie zu vorhersehbaren Mustern wie "Password1!" fuehren. Laenge zaehlt mehr als Komplexitaet.

Die Kosten des Nichtstuns

Die Verteidigung gegen Brute Force ist nicht teuer. Der kostenlose Cloudflare-Plan deckt den Grundschutz ab. fail2ban ist kostenlose Open-Source-Software. 2FA-Plugins fuer WordPress sind kostenlos. Die Gesamtkosten fuer die Implementierung aller in diesem Artikel beschriebenen Gegenmassnahmen liegen fuer die meisten Websites nahe bei null.

Die Kosten eines erfolgreichen Angriffs hingegen reichen von Website-Defacement (Reputationsschaden, Bereinigungskosten) bis zum vollstaendigen Datenleck (rechtliche Haftung unter nDSG und DSGVO, Kundenbenachrichtigungskosten, regulatorische Bussgelder). Fuer ein Schweizer KMU kann ein Datenleck leicht CHF 50.000 bis 200.000 kosten, wenn man Incident Response, Anwaltskosten, Kundenkommunikation und entgangenes Geschaeft beruecksichtigt.

Wenn Sie eine Unternehmenswebsite betreiben und Ihre Login-Seite kein Rate Limiting, kein CAPTCHA, kein 2FA hat und Standard-Zugangsdaten verwendet, sind Sie nicht nur gefaehrdet. Sie werden bereits angegriffen. Die einzige Frage ist, ob die Angreifer bereits Erfolg hatten.

Naechste Schritte

Bei Envestis in Lugano fuehren wir Sicherheitsbewertungen durch, die das Testen von Login-Schutzmassnahmen gegen Brute-Force-Angriffe umfassen. Wir pruefen Rate Limiting, CAPTCHA-Implementierung, 2FA-Konfiguration und Verteidigungen auf Serverebene. Anschliessend implementieren wir die Korrekturen, schichtweise vom Netzwerk bis zur Anwendungsebene.

Wenn Sie wissen moechten, ob das Login Ihrer Website ordnungsgemaess geschuetzt ist, oder wenn Sie Hilfe bei der Implementierung der hier beschriebenen Gegenmassnahmen benoetigen, kontaktieren Sie uns. Ein Login, das per Brute Force geknackt werden kann, ist keine theoretische Schwachstelle. Es ist eine offene Tuer.

Wollen Sie wissen, ob Ihre Website sicher ist?

Fordern Sie ein kostenloses Sicherheitsaudit an. In 48 Stunden erhalten Sie einen vollständigen Bericht.

Kostenloses Audit Anfordern

Schnellkontakt