Brute-Force-Angriffe sind ein wesentlicher Bestandteil der modernen Angriffslandschaft von Web-Servern. Ziel dieser Angriffe ist es, durch das Erraten von Admin-Benutzernamen und -Kennwörtern Zugang zu Dashboards des Content-Management-Systems (CMS) zu erhalten. Nach dem Zugriff erhalten Hacker die volle Kontrolle über die kompromittierte Website und können damit Spam versenden, bösartigen JavaScript-Code in eine Datenbank einschleusen oder alle Besucher an eine Drittanbieter-Ressource umleiten, um Traffic zu generieren (auch bekannt als Traffic Hijacking). In diesem Beitrag erfahren Sie, dass Sie kein Sicherheitsexperte oder erfahrener Webmaster sein müssen, um grundlegende und in den meisten Fällen wirksame Schutzmaßnahmen gegen Brute-Force-Angriffe anzuwenden. Indem Sie die folgenden einfachen Schritte befolgen, minimieren Sie das Risiko einer Sicherheitsverletzung durch diesen Angriffsvektor und sichern Ihre Datenbank und vertrauliche Informationen.
Was ist ein Brute-Force-Angriff?
Ein Brute-Force-Angriff ist ein "Passwort-Erratungsangriff", der aus mehreren Versuchen besteht, einen Benutzernamen und ein Passwort vorherzusagen / zu erkennen. Angreifer erzeugen nach dem Zufallsprinzip Benutzernamen und Passwörter (oder verwenden eine Liste häufig verwendeter Kontonamen und Passwörter wie 'admin' und 'password'), um systematisch zu versuchen, sich über generierte Anmeldeinformationen beim angegriffenen CMS anzumelden. Wenn ein Versuch fehlschlägt, generiert der Angreifer weitere Benutzernamen und Kennwörter und versucht es erneut. Brute-Force-Angriffe werden von automatisierten Systemen (Software oder Skripten) ausgeführt und erfordern nicht viel Rechenleistung - nur HTTP-Sende- und -Empfangsanfragen werden ausgeführt.
In einer komplexeren Form können Skripte in mehreren gleichzeitigen Threads ausgeführt werden, um zahlreiche Anmeldeanforderungen zu senden, bis die korrekten Anmeldeinformationen gefunden wurden. Brute-Force-Angriffe, die von derselben IP-Adresse ausgehen, können durch WAFs und CMS-Plugins erkannt und verhindert werden. Komplexe Brute-Force-Angriffe senden Anmeldeanforderungen mit generierten Benutzernamen und Kennwörtern von mehreren IP-Adressen, indem sie Botnetze verwenden, die Tausende von Knoten enthalten können, die für denselben Zweck verwendet werden.
Wie man versuchen kann sich gegen Brute-Force-Angriffe zu schützen
Fast alle CMS bieten eine Liste verschiedener Plugins, die zum Schutz vor Brute-Force-Angriffen verwendet werden können. Mehrere Plugins bieten die Möglichkeit, IPs auf die schwarze Liste zu setzen, um den Zugriff von diesen Adressen zu blockieren. Andere Plugins verwenden Datenbanken, die IP-Adressen auf der schwarzen Liste enthalten, um Anfragen zu blockieren, die von den IPs mit der schwarzen Liste kommen.
Einige Plugins blockieren den Zugriff auf die Anmeldeseite nach X fehlgeschlagenen Versuchen (d. H. Kontosperrung), während andere Plugins ein Captcha zum Schutz vor Brute-Force-Angriffen verwenden. Leider ist keine dieser Methoden perfekt. Jede Brute-Force-HTTP-Anfrage wird vom entsprechenden Plugin bearbeitet, das wiederum Ressourcen auf der angegriffenen Website nutzt. Dadurch reagiert die Website weniger auf die legitimen HTTP-Anfragen von echten Besuchern.
Wenn Brute-Force-Angriffe von kürzlich infizierten Rechnern ausgehen, sind diese IPs nicht in der Datenbank der IP-Adressen auf der schwarzen Liste enthalten, wodurch solche Plugins weniger effizient sind und Website-Administratoren diese Adressen manuell verwalten und blockieren müssen. Insgesamt gibt es keine Plugins, die vor Brute-Force-Angriffen schützen können, ohne die Reaktionsfähigkeit und Leistung der Website zu beeinträchtigen.
Wie kann man sich wirklich gegen Brute-Force-Angriffe schützen?
Brute-Force-Angriffsschutz hat zwei Ziele:
- Verhindern Sie, dass Angreifer auf das CMS-Admin-Dashboard zugreifen
- Preserve Website-Ressourcen, um es für echte Besucher reaktionsfähig zu halten
Das erste Ziel erreichen
Es wird dringend empfohlen, dass Kennwörter mindestens 16 Zeichen lang sind und Buchstaben, Zahlen und Symbole enthalten, um Brute-Force-Angriffe schwieriger und zeitaufwendiger zu machen.
Das zweite Ziel erreichen
Es besteht die Möglichkeit, HTTP-Anfragen auf dem Webserver (Apache, Nginx und der Rest) zu blockieren, ohne bösartige HTTP-Anfragen an den PHP-Interpreter zu übergeben, der seinerseits das Schutz-Plugin des CMS aufruft. Der Kernpunkt dieser Schutzmethode ist eine '.htaccess' -Datei, die vom Apache-Webserver zur Konfiguration auf Unterverzeichnis-Ebene verwendet wird. Wenn Sie eine speziell gestaltete '.htaccess' -Datei in das Stammverzeichnis der Website einfügen, erledigen Sie die Arbeit und wenden Einschränkungen für den Stammordner und den Rest der Unterordner der geschützten Website an.
Fazit
Es gibt mehrere Möglichkeiten, Ihre Website vor Brute-Force-Angriffen zu schützen. Dedizierte Brute-Force-Schutz CMS-Plugins, Captcha-Plugins, mit starken Passwörtern (wenn Tausende von Bots versuchen, es zu erraten, werden sie nicht in der Lage sein, aber die überwältigende Anzahl solcher Versuche wird die CPU erschöpfen und könnte dann zu einem
DDos-Angrff führen) und die URL-Anpassung der Anmeldeseite sind einige Ansätze. Aber alle oben genannten Methoden sind entweder weniger effektive Schutzmaßnahmen oder erfordern zu viel Ressourcen des Hosting-Servers. Wenn Sie nur den Zugriff auf Ihre IP-Adresse auf die Anmeldeseite zulassen, blockieren Sie alle Möglichkeiten, dass außer Ihnen alle Zugriff auf die Anmeldeseite des Administrations-Dashboards haben, sofern Sie keine neuen Sicherheitslücken schließen.