Sven Rautenberg: Basic-Auth gegen Brute-Force schützen

Beitrag lesen

Moin!

Ich habe ein Admin-Verzeichnis, und ich möchte das gerne per .htaccess(Basic-Auth) schützen. Nur kenne ich hier keine Möglichkeit, dieses gegen Brute-Forece Angriffe zu schützen.

Es gibt keinen Schutz gegen BruteForce, außer die notwendige Suchdauer durch geschickte Wahl von Username und Passwort so auszudehnen, dass vorher das Universum zerfällt.

Ich würde gerne 2 Dinge implementieren:

  1. nach Eingabe falsche Zugangsdaten 5 Sekunden mit der Antwort warten
  2. Nach x falschen Eingaben Account für eine Gewisse Zeit sperren.

Die 5 Sekunden bedeuten, dass eine Instanz deines Webservers die 5 Sekunden durch Zeitverbraten (sleep()) abwartet. Der Webserver selbst hat aber eine maximale Anzahl von Instanzen, die für die Webseitenauslieferung zuständig ist. Wenn du also 5 Sekunden warten willst, braucht ein DOS-Angriff nur entsprechend viele Requests innerhalb der 5 Sekunden zu stellen, und der gesamte Server ist down. Die Zahl paralleler Prozesse liegt typischerweise in der Gegend von 150, ohne Änderung des Apache-Quelltextes ist das absolute Limit bei 255. Und in 5 Sekunden 255 Requests zu stellen, ist kein Problem.

Das zweite Problem: Um einen Account zu sperren, muß natürlich ein korrekter Username benutzt worden sein. Wenn du "Admin-Bereich" schreibst, dann haben dort in der Regel nur wenige Benutzer Zugriff. Willst du dich gerne durch BruteForce aussperren lassen?

Du kannst gegen BruteForce nur eine Methode anwenden: Die regulären Benutzer müssen sichere Passworte verwenden (also Usernamen und Passworte mit einer Mindestlänge von 8 Zeichen, und aus einem Zeichenvorrat, der möglichst groß ist, also kleine und große Buchstaben, Zahlen und Sonderzeichen, und auch eine erzwungene Mischung dieser Zeichen - idealerweise generierst du die Passworte und setzt sie deinen Benutzern vor, anstatt dass sie sich selber welche ausdenken), und eine inkorrekte Anfrage sollte den Server so wenig wie möglich belasten.

- Sven Rautenberg

--
"Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
(fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)