Direkt zum Inhalt
Bild
drupal-security-opensenselabs.jpg

Verhindern von Brute-Force-Angriffen mit dem Drupal Login Security Modul

AI-Translated
article publisher

Raman

Drupal

Das Internet ist ein unberechenbarer Ort. Man weiß nie, wer auf der Suche nach Schwachstellen auf Ihrer Website ist. Sobald Sie Ihre Anwendung im Web bereitstellen, laden Sie Anfragen aller Art auf Ihren Server ein. Abgesehen von echten Nutzern können dies potenziell automatisierte Skripte, (meist harmlose) Bots oder Crawler, ethische/nicht-ethische Hacker oder einige neugierige Geeks (wie ich) sein.

Einer der wichtigsten Bereiche für diese Akteure ist die Ausnutzung des Authentifizierungs- oder Login-Systems einer Anwendung. Die Gefährdung der Sicherheit der Konten Ihrer Nutzer kann zu schwerwiegenden Folgen führen, wie z. B. dem Verlust persönlicher Daten, dem Missbrauch ihrer Identität (oder Ihrer Plattform) und sogar zu finanziellen Verlusten. 

Es ist von größter Bedeutung, dass gesunde Sicherheitsstandards implementiert werden. Dazu gehören die Durchsetzung starker Passwortrichtlinien, die Verwendung von Salted Password Hashing, die Einführung von HTTPS, die Verhinderung von Brute-Force-Angriffen, die Verwendung von Zwei-Faktor-Authentifizierung und so weiter.

Die Absicherung einer Drupal-Site ist ein weites Feld für sich, aber in diesem Artikel werden wir uns darauf konzentrieren, den Standard-Flood-Control-Mechanismus zu verstehen und später die Verwendung von Login Security, einem Contributed-Modul, zur Verbesserung der Sicherheit zu untersuchen.

Standard-Flood-Control-Mechanismus von Drupal

In Drupal ist das Kernmodul User für die Bereitstellung der Funktionen im Zusammenhang mit der Verwaltung von Benutzerkonten zuständig, wie z. B. Authentifizierung, An- und Abmeldung, Passwortverwaltung, Registrierung, Rollen und Berechtigungen. Es bietet auch eine einfache, aber effektive Prävention gegen Brute-Force-Angriffe mithilfe seines Flood-Control-Mechanismus.

Flood Control von Drupal in Aktion
Flood Control von Drupal in Aktion

Jedes Mal, wenn eine Benutzerauthentifizierung fehlschlägt, wird dies als Flood-Ereignis betrachtet und ein Eintrag in das "Flood"-Schema vorgenommen, in dem der Ereignistyp, die Benutzerkennung, der Zeitstempel und der Ablauf dieses Flood-Ereignisses gespeichert werden. Es gibt zwei Möglichkeiten (Flood-Ereignistypen), wie Drupal fehlgeschlagene Anmeldeversuche verfolgt - IP-Adress-basiert und Benutzerkonto-basiert. 

Flood-Datenbanktabelle
Flood-Datenbanktabelle

Standardmäßig wird eine IP-Adresse gesperrt, wenn es innerhalb einer Stunde 50 fehlgeschlagene Anmeldeversuche von dieser IP-Adresse gegeben hat. Außerdem wird die Kombination aus Benutzerkonto und Host-IP-Adresse gesperrt, wenn es innerhalb von 6 Stunden 5 fehlgeschlagene Anmeldeversuche für dieses Benutzerkonto von dieser IP-Adresse gegeben hat.

Liesmich-Datei des Login-Sicherheitsmoduls mit StandardwertenLiesmich-Datei des Login-Sicherheitsmoduls mit Standardwerten zum Sperren des Benutzers

Dieser Standardmechanismus hat jedoch hauptsächlich zwei Einschränkungen. 

  • Es gibt keine Benutzeroberfläche für Site-Administratoren, um die zulässige Anzahl von Anmeldeversuchen und den Sperrzeitraum zu konfigurieren.
  • Es sollte eine Möglichkeit geben, den Site-Admin oder den Benutzer zu benachrichtigen, dessen Konto ausgenutzt wird.

Lassen Sie uns nun untersuchen, wie wir Login Security verwenden können, um diese Einschränkungen zu überwinden.

Herunterladen und Installieren des Login Security Moduls

Die einzige Voraussetzung für das Modul ist das Kernmodul Ban. Sobald Sie sichergestellt haben, dass es aktiviert ist, können Sie mit der Installation des Login Security Moduls mit einer der folgenden Methoden fortfahren.

$ drush dl login_security && drush en -y login_security

oder

$ drupal module:download login_security && drupal module:install login_security

oder

$ composer require 'drupal/login_security:^1.5'

Nach dem Herunterladen des Moduls mit Composer aktivieren Sie es über die Admin-UI unter admin/modules.

Aktivieren des Login Security Moduls über die Admin-UI
Aktivieren des Login Security Moduls über die Admin-UI

Wie funktioniert das Login Security Modul?

Das Modul funktioniert durch die Implementierung von hook_validate() und überschreibt dadurch den Standard-Login-Formularablauf. Es verwaltet sein eigenes Schema, login_security_track, um fehlgeschlagene Anmeldeversuche zu verfolgen. Es kann einen laufenden Angriff anhand des konfigurierten Schwellenwerts innerhalb eines festgelegten Zeitfensters erkennen und den Site-Administrator per E-Mail oder Protokoll benachrichtigen.

Login Security Track Datenbanktabelle
Login Security Track Datenbanktabelle

Es bietet zwei Arten von Schutz gegen Angriffe - Soft und Hard. Der Soft-Schutz ähnelt dem Standard-Flood-Mechanismus, d. h. er verhindert vorübergehend, dass der Benutzer das Anmeldeformular absenden kann. Der Hard-Schutz hingegen sperrt die Host-IP-Adresse dauerhaft und ändert den Status des Benutzerkontos auf gesperrt. 

 


Bei Bedarf kann der Site-Administrator die IP-Adressen über die Admin-UI unter admin/config/people/ban entsperren und die Benutzer unter admin/people entsperren. Zusätzlich kann es auch so konfiguriert werden, dass den Benutzern der letzte Zugriffs- und der letzte Anmeldezeitstempel angezeigt werden, um sie zusätzlich von ihrer Sicherheit zu überzeugen.

Eine Drupal-Nachricht zeigt den Benutzern nach erfolgreicher Anmeldung den letzten Zugriffs- und Anmeldezeitstempel an
 Eine Drupal-Nachricht zeigt den Benutzern nach erfolgreicher Anmeldung den letzten Zugriffs- und Anmeldezeitstempel an

Konfigurieren von Login Security

Das Modul bietet ein Konfigurationsformular unter admin/config/people/login_security. Navigieren Sie also zu Verwalten → Konfiguration → Personen → Login Security.

Sie können die folgenden Optionen gemäß Ihren Sicherheitsbedürfnissen konfigurieren und dann auf "Konfiguration speichern" klicken, um die Änderungen anzuwenden.

Konfigurieren des Login Security Moduls
Konfigurieren des Login Security Moduls

Konfiguration

Standardwert

Beschreibung

Zeitraum für die Verfolgung

1

Das Zeitfenster, für das die fehlgeschlagenen Anmeldeversuche berücksichtigt werden. Soft-Schutzmaßnahmen laufen nach dieser Zeit ab

Benutzer

0

Max. Anzahl fehlgeschlagener Anmeldeversuche, nach denen ein Benutzerkonto dauerhaft gesperrt wird

Soft Host

0

Max. Anzahl fehlgeschlagener Anmeldeversuche, nach denen eine IP-Adresse vorübergehend daran gehindert wird, das Anmeldeformular abzusenden

Hard Host

0

Max. Anzahl fehlgeschlagener Anmeldeversuche, nach denen eine IP-Adresse mithilfe des Kernmoduls Ban vollständig gesperrt wird

Angriffserkennung

0

Max. Anzahl fehlgeschlagener Anmeldeversuche, nach denen ein laufender Angriff erkannt und eine Warnung protokolliert wird

Fehlermeldung bei fehlgeschlagener Anmeldung deaktivieren

Falsch

Die Kern-Fehlermeldungen bei der Anmeldung anzeigen

Benutzer über verbleibende Anmeldeversuche benachrichtigen

Falsch

Die Anzahl der verbleibenden Versuche anzeigen, bevor das Benutzerkonto vorübergehend gesperrt wird

Letzten Anmeldezeitstempel anzeigen

Falsch

Eine Drupal-Nachricht mit dem letzten Anmeldezeitstempel des Benutzers anzeigen

Letzten Zugriffszeitstempel anzeigen

Falsch

Eine Drupal-Nachricht mit dem letzten Aktivitätszeitstempel des Benutzers anzeigen

Zusammen mit diesen Konfigurationen kann auch der Text innerhalb der Drupal-Nachrichten zu den Ereignissen (fehlgeschlagener Anmeldeversuch, Hard/Soft-IP-Adresssperre und Sperrung der Benutzer) und die E-Mail-Felder (Adresse, Betreff und Text) konfiguriert werden. Sie können die bereitgestellten Token verwenden, um dynamische Daten in der Warnung/Nachricht zu senden.

Konfigurieren der Alarmeinstellungen des Moduls
Konfigurieren der Alarmeinstellungen des Moduls

Fazit

Das Login Security Modul fügt einer Drupal-Website eine weitere Sicherheitsmaßnahme hinzu. Insbesondere ermöglicht es eine bessere Kontrolle im Umgang mit einer Situation eines Brute-Force-Angriffs. Letztendlich beschränkt sich die Gewährleistung der Sicherheit jedoch nicht nur auf die Konfiguration der Module, sondern liegt auch in den Händen der Personen, die die Websites verwalten und bereitstellen.

Bei Fragen oder Anregungen können Sie gerne einen Kommentar hinterlassen.

Abonnieren

Ready to start your digital transformation journey with us?

Verwandte Blogs

Zurück von der DrupalCon Atlanta 2025: Ein Meilenstein für OpenSense Labs

Zurück von der DrupalCon Atlanta 2025: Ein Meilenstein für OpenSense Labs

„Fit. Schnell. Für die Ewigkeit gebaut.“ Das war nicht nur ein Slogan, sondern die Denkweise, mit der wir zur DrupalCon…

Erklärbare KI-Tools: SHAPs Stärke in der KI

Explainable AI tools Explainable AI And SHAP OpenSense Labs

Wissen Sie, was erklärbare KI-Tools sind? Erklärbare KI-Tools sind Programme, die zeigen, wie eine KI ihre Entscheidungen…

KI-Chatbots: Präzision und Persönlichkeit in Perfektion

Creating AI Chatbot OpenSense Labs

In der Welt der künstlichen Intelligenz ist die Entwicklung eines KI-Chatbots, der nicht nur akkurate Informationen liefert…