Wann immer wir etwas bauen, stellen wir immer sicher oder hoffen zumindest, dass es nicht beschädigt wird. Nehmen wir zum Beispiel unsere Häuser: Wir haben mehr als nur ein paar Schlösser an unseren Häusern, um sie zu schützen und sicher zu halten. Das Gleiche gilt für unsere Geräte, unsere Fahrzeuge und vor allem unsere Existenzgrundlage.
Das bringt mich zur Welt der Website-Entwicklung, in der Sicherheit ein großes Problem darstellt. Eine schlecht geschützte Website ist so gut wie dem Untergang geweiht, Bugs und Hacks werden irgendwann ihr Verderben sein. Was ist also zu tun?
Ich habe eine Antwort und die lautet Drupal.
Drupal ist eine Content-Management-Software, die mit einer Reihe von Tools und Funktionen ausgestattet ist, die ihre Websites vor jeder Sicherheitsverletzung schützen. Sie müssen Drupal richtig optimieren, damit dies geschieht.
Drupal ist eines der sichersten Open-Source-CMS auf dem Markt.

Diese Zahlen sind ein Beweis für die Kompetenz der Sicherheitsmaßnahmen von Drupal. Die gesamte Verantwortung für die Gewährleistung optimaler Sicherheit liegt bei den Drupal-Sicherheitsmodulen. Und das ist es, worüber wir heute sprechen werden.
Mit der Einführung von Drupal 9 ist die Sicherheit noch wichtiger geworden. Daher werden wir alle wesentlichen Module besprechen, die für diese Aufgabe erforderlich sind. Ich habe mir die Freiheit genommen, die Module in acht Kategorien einzuteilen, die alle Aspekte der Sicherheit abdecken, die berücksichtigt und geschützt werden müssen, um eine ausfallsichere Website zu erstellen.
Legen wir gleich los.

Bekämpfung von Brute Force
Ein Benutzer meldet sich auf Ihrer Website an, er hat ein starkes Passwort, um seine Anmeldedaten zu schützen, aber es gibt Leute, die immer wieder versuchen werden, dieses zu knacken, um Zugriff auf Ihre Website zu erhalten. Wenn diese böswilligen Akteure das tun, müssen Sie sich vor ihrer Brute Force schützen. Wenn sie Zugriff auf Ihre Website erhalten, wäre Ihr gesamtes Projekt gefährdet, und das wäre ein ärgerliches Szenario.
Die Bekämpfung von Brute Force beginnt mit der Benutzerregistrierung. Das Drupal-Modul User Registration Password ermöglicht es Benutzern, sich mit einem Passwort zu registrieren, während sie das Registrierungsformular ausfüllen, mit einer Bestätigungs-E-Mail. Dieses Modul sorgt zusammen mit Password Policy dafür, dass die festgelegten Passwörter die idealen Standards mit Groß- und Kleinbuchstaben, Zahlen und Symbolen erfüllen.
Was ist, wenn Ihr Benutzer angemeldet bleiben möchte?
Das ist eine Option mit der Funktion "Angemeldet bleiben" von Persistent Login. Sie als Administrator können jedoch steuern, wie lange diese "Angemeldet bleiben"-Funktion aktiv ist; das heißt, Sie können einen Benutzer nach einiger Zeit erneut anmelden lassen. Sie können auch steuern, auf welche Seiten diese Benutzer zugreifen können und auf welche nicht.
Es gibt auch die Option Automatisches Abmelden, bei der ein Administrator einen Benutzer abmelden kann, der längere Zeit inaktiv war.
Weiter geht es mit Secure Login, einem Modul, das sicherstellt, dass die Benutzeranmeldungen und andere Formulare sicher und ohne Transparenz übermittelt werden. Mit Login Security können Sie Ihre Website mit Zugriffskontrollen weiter schützen und sichern. Für eine weitere Sicherheitsebene einzelner Seiten können Sie Protected Pages verwenden. Dieses Modul kann alle Seiten Ihrer Website mit einem Passwort sichern.
Schließlich können Sie auch die Anzahl der Sitzungen eines Benutzers zu einem bestimmten Zeitpunkt mit Session Limit einschränken.
All dies zusammen kann Ihre Website oder Anwendung zu einer Macht machen, an die kein Brute jemals denken würde, sie ins Visier zu nehmen.
Handhabung der Authentifizierung
Von Brute Force kommen wir zur Authentifizierung. Wussten Sie, dass sich Authentifizierung sehr von Autorisierung unterscheidet? Authentifizierung ist der erste Schritt, bei dem ein Benutzer in Bezug auf seinen Anspruch auf die Website und ihre Zugangspunkte identifiziert und validiert wird. Die oben genannten Passwörter sind eine Möglichkeit, einen Benutzer zu authentifizieren.
Sobald die Authentifizierung abgeschlossen ist, kommt die Autorisierung ins Spiel. Sie wissen, dass die Person ein Administrator ist, aber welchen Rang hat sie? Kann man ihr sensible Informationen anvertrauen? Ihm die Rechte und Freiheiten zu geben, auf Seiten, Daten und alle Informationen zuzugreifen, darum geht es bei der Autorisierung.
Wie handhabt Drupal das?
Natürlich durch seine unzähligen Module. Wie ich bereits sagte, ist ein Passwort eine der besten Möglichkeiten zur Authentifizierung, aber das Hinzufügen einer weiteren Authentifizierungsebene ist die beste Option von allen. Zwei-Faktor-Authentifizierung und Google Authenticator Login bieten Ihnen genau das. Während ersteres einen Code an die Handynummer des Benutzers sendet, arbeitet letzteres mit einem zeitbasierten Einmalpasswort. Google Authenticator/ 2 Factor Authentication bietet ebenfalls ähnliche Funktionen. Es gibt auch die Möglichkeit, Require Login zu wählen, ein Modul, das die Benutzerauthentifizierung auf Seiten zur Pflicht macht.
Wenn ein Benutzer mit einer externen Website oder einem Dienst authentifiziert ist und seine Authentifizierungsdaten dort gespeichert sind, kann er mit External Authentication angemeldet oder registriert werden. Mit Social Auth Google werden Benutzer mit ihren Google-Konten auf Ihrer Drupal-Website authentifiziert. JSON Web Token kann auch als Faktor zur Authentifizierung von Benutzern über JSON Web Token Authentication verwendet werden. Drupal OAuth & OpenID Connect Login - OAuth2 Client SSO Login ist ein Modul, das es jedem Benutzer mit einem OAuth- oder OpenID-Provider ermöglicht, sich auf Ihrer Drupal-Website anzumelden.
Die Authentifizierungsfunktionen von SAML, OpenID Connect und Lightweight Directory Access Protocol können ebenfalls mit Drupal implementiert werden. SAML Authentication, SimpleSAMLphp Authentication, OpenID Connect und LDAP helfen dabei.
Social API ist ein weiteres Modul, das sich über eine Social API in externe Dienste integrieren lässt. Die Verwendung würde bedeuten, dass Sie Module für jede Authentifizierungsaufgabe integrieren können.
Was ist mit IP-Adressen, gibt es ein Modul, das sich darauf bezieht?
Nun, ja. Sie können den Zugriff sehr einfach blockieren oder bestimmte IP-Adressen einfach sperren, wenn Sie möchten. Automatic IP ban und Advanced ban vollbringen dieses Kunststück auf bequeme Weise, wobei ersteres sogar eine Watchdog-Tabelle hat.
Was ist schließlich mit böswilligen Authentifizierungsversuchen?
Auch hier ist Drupal für Sie da. Es kann vorkommen, dass bestimmte böswillige Akteure versuchen, gültige Benutzernamen zu identifizieren. Dies wird als Username Enumeration bezeichnet und führt oft zu Credential Stuffing. Username Enumeration Prevention hilft jedoch, dies zu vermeiden, indem es diese anonymen Benutzer aufhält.
Kontrolle der Administration
Benutzerzugriff und Authentifizierung erinnerten mich an die Administratoren und die Rolle, die sie beim Zugriff auf eine Website spielen, was mich zur nächsten Klassifizierung von Sicherheitsmodulen bringt. So wie Benutzern nicht der Zugriff auf alles auf Ihrer Website gewährt werden kann, können auch den Personen, die sie erstellen, nicht die vollständigen und uneingeschränkten Zügel überlassen werden. So wie es Berechtigungen und Einschränkungen für Benutzer gibt, gibt es sie auch für Administratoren.
Sehen wir uns an, was Drupal den Administratoren in Bezug auf Berechtigungen und Rollen zu bieten hat.
Erstens gibt es Permissions Filtered by Modules, das eine gefilterte Liste von Modulen und Rollen am Anfang der Berechtigungsseite bereitstellt, was die Verwaltung unabhängig von der Anzahl der Rollen zum Kinderspiel macht. Dann gibt es Administer Users by Role, das die Berechtigungen noch feiner bis zur Ebene der Sub-Admins abstuft.
Als nächstes kommen die spezifischen Berechtigungen und Rollen; Block Region Permissions und Block Permissions ermöglichen es Ihnen nicht nur, den Zugriff auf die Verwaltung von Blöcken zu steuern, sondern ebnen auch den Weg für eine feinere Validierung bei der Verwaltung von Blöcken. Für das Hinzufügen, Ändern und Löschen von Elementen kann einem Administrator die Berechtigung von Menu Admin per Menu erteilt werden, die sich auf bestimmte Menüs bezieht, oder er kann dies nicht tun. Sie können auch Berechtigungen für Felder im Zusammenhang mit Autoreninformationen und Veröffentlichungsoptionen über Override Node Options festlegen.
Wenn Sie User 1 deaktivieren möchten, um die Berechtigungen des Administrators zu entfernen, die es ihm ermöglichen, seinen Benutzernamen und sein Passwort zu bearbeiten, können Sie dies mit Disable User 1 Edit tun.
Drupal hat auch ein weiteres recht charmantes Modul, das ich persönlich liebe. Dies ist das Masquerade-Modul, wie der Name schon sagt, erhält ein Administrator die Möglichkeit, Benutzer zu wechseln und die Website als der gewechselte Benutzer zu durchsuchen, ohne ein Passwort eingeben zu müssen. Dies hilft sehr, den Blickwinkel der Website aus den Augen eines Kunden zu kennen.
Ich möchte hier auch über Role Delegation sprechen, es ist ein Modul, das es Website-Administratoren ermöglicht, Rollen zuzuweisen, um Rollen für Benutzer weiter zu autorisieren.
Sollten wir über Benutzerberechtigungen sprechen und darüber, wie Administratoren diese kontrollieren?
Ja, das sollten wir. Es gibt zwei spezielle Module, die ich hier erwähnen möchte, das eine ist View Unpublished. Dies ermöglicht es einem Administrator, Benutzerrollen den Zugriff auf bestimmte unveröffentlichte Nodes zu gewähren.
Das zweite wäre das Menu Item Role Access, das es ermöglicht, bestimmte Elemente in einem Menü einzuschränken, ohne dass separate Menüs erstellt werden müssen. Ist das nicht einfach großartig?
Abfangen von Inhalten
Jetzt ist es Zeit für den Inhalt, wer darauf zugreifen kann, wie darauf zugegriffen werden soll und was zugegriffen werden soll und was eingeschränkt bleiben muss.
Ihre Inhalte können auf Drupal so sicher sein, wie Sie es wünschen. Mit seinen Modulen können Sie Ihre Inhalte einfach verwalten, ohne sich Sorgen machen zu müssen, dass sie in die falschen Hände oder Augen gelangen. Content Access hilft Ihnen bei der Verwaltung von Zugriffsberechtigungen. Es ist sowohl flexibel als auch transparent und ermöglicht es Ihnen, die Berechtigungen als "alle anzeigen" oder "eigene anzeigen" zu klassifizieren. Node View Permissions funktioniert ebenfalls ähnlich mit genau den gleichen Berechtigungen.
Field Permissions hilft Website-Administratoren, Feld-Level-Berechtigungen für das Bearbeiten, Anzeigen und Erstellen von Feldern für jede Art von Entität festzulegen.
Was ist mit dem Blockieren von Inhalten für bestimmte Benutzer oder Administratoren?
Auch hier gibt es viel zu besprechen. Beginnen wir mit der Hierarchie, Workbench Access ist ein Modul, mit dem Sie redaktionelle Zugriffskontrollen erstellen können, und raten Sie mal, worauf diese Kontrollen basieren? Ja, es ist die Arbeitshierarchie.
Dann gibt es Block Content Permissions, mit dem Sie den Zugriff auf die Verwaltung von Block-Inhaltstypen steuern und diese erstellen, aktualisieren und löschen können, wann immer Sie wollen. Es gibt auch die Möglichkeit, zu verhindern, dass ein Node von zwei Benutzern gleichzeitig bearbeitet wird, dies kann durch Content Locking erfolgen.
Sie können auch einen Filter hinzufügen, der Seiten von bestimmten Blöcken ausschließt, nach oder sogar zwischen einem Platzhalter mit Block Exclude Pages. Wenn Sie darüber nachdenken, bestimmten Benutzern den Zugriff zu gewähren, damit sie unveröffentlichte Nodes und Medien anzeigen können, kann Access Unpublished Ihnen dabei helfen.
Ein weiteres cleveres Modul ist das 403 to 404, das den 404-Fehler anzeigt, wenn ein Benutzer versucht, auf eine Seite zuzugreifen, für die er keine Berechtigung hat.
Implementierung von Verschlüsselung
Die meisten Dateien und Nachrichten auf einer Website oder ihrem Server sind in der Regel verschlüsselt. Dies geschieht, damit die unerwünschten Augen sie nicht erreichen. Können Drupal-Module diesem Zweck dienen? Natürlich.
Ihre Datenbank wird mehrere Feldwerte darin gespeichert haben, mit dem Modul Field Encryption können Sie diese Werte auf eine Art und Weise verschlüsselt speichern, die Ihnen gefällt. Sie erstellen mit diesem Modul Ihre eigene Verschlüsselungsmethode.
Was ist mit dem Schlüssel?
Es gibt ein Modul mit dem gleichen Namen. Key hilft bei der Verwaltung aller sensiblen Schlüssel, einschließlich APIs und natürlich Verschlüsselungsschlüssel. Sie als Administrator können die Kontrolle darüber übernehmen, wie und wo diese Schlüssel gespeichert werden, was die Sicherheit derselben ziemlich effizient macht.
Gibt es ein Modul, das beides kann? Verschlüsselung und Entschlüsselung?
Das gibt es sicherlich. Sie können mit Drupal symmetrische und asymmetrische Verschlüsselung durchführen. Sie können Module integrieren, um die Ver- und Entschlüsselung auf standardisierte Weise durchzuführen. Sie können auch eine beliebige Anzahl von Verschlüsselungsprofilen haben, die von einer beliebigen Anzahl von Modulen verwendet werden. Und das können Sie mit dem Modul Encrypt tun.
Sie können auch die Leistung der AES-Verschlüsselung mit dem Encrypt-Modul nutzen. Dafür müssten Sie Real AES mit dem ersteren kombinieren und Zugriff auf die Defuse PHP-Encryption Library erhalten.
Bekämpfung von Spam
Unerwünscht und ungebeten ist das, was Spam ist. Es mag wie nichts weiter als eine Belästigung erscheinen, aber es kann mehr werden, wenn die Webentwickler selbstgefällig werden. Spam ist in der Lage, Ihre Website mit bösartiger Software zu infizieren, und Sie müssen wissen, dass dies niemals ein positives Ergebnis haben kann. Zum Glück für Sie ist Drupal fähig genug, um dieses Ergebnis niemals eintreten zu lassen.
Wenn wir an Spam denken, fallen uns sofort ein paar Dinge ein, das wären E-Mails, Kommentare, Registrierungen, Nachrichten, Feedback und Kontakte. Normalerweise ist all dies ein gutes Zeichen für Ihr Wachstum, aber wenn es überall mit Spam übersät ist, dauert es nicht lange, bis das Gute schlecht wird.
Honeypot und Antibot sind zwei der beliebtesten Module zur Eliminierung von Roboter-Formulareinsendungen, wobei fast 150.000 bzw. 33.000 Drupal-Websites sie für diesen Zweck verwenden.
Drupal-Module wie Spam Master, Protected Submissions, Anti Spam by CleanTalk, Check DNS, Drupal Perimeter Defence, Spambot und Spamicide helfen ebenfalls, das Eindringen von Spam auf Ihre Website zu verhindern. Apropos Spamicide, das an sich schon ziemlich clever ist, es ist ein Modul, das ein Feld zu Formularen hinzufügt und es dann ausblendet. Wenn also ein Bot dieses Registrierungsformular ausfüllt, würde er wahrscheinlich dieses Feld ausfüllen, und wenn das passiert, verwerfen Sie einfach dieses Formular und befreien sich von seiner Belästigung.
Für die E-Mail-Verschleierung sind SpamSpan Filter und Obfuscate nützlich und verhindern, dass Spammer sie sammeln. E-mail No-Reply ist auch ein großartiges Modul, mit dem Sie ein Feld mit No-Reply-Adressen erstellen können, aber dennoch wichtige Benachrichtigungen von Drupal erhalten.
Was ist mit den problematischen IP-Adressen?
Flood Control ist ein Drupal-Modul, das Ihnen die Funktionalität einer Schnittstelle bietet, die es sehr bequem macht, IP-Adressen sowie Benutzer-IDs aus der Flood-Tabelle zu entfernen.
Können wir wirklich über Spam sprechen und CAPTCHA nicht erwähnen?
Heute hat fast jedes Webformular am Ende eine CAPTCHA-Herausforderung, kurz bevor die Einreichung abgeschlossen ist, nur um die Spammer und Bots auszutricksen. Ein CAPTCHA wäre für einen Menschen sehr einfach, aber für einen Bot sehr verwirrend. Dies ist ein uralter Trick, um Spambots den Zugang zu Ihrer Website zu verwehren. Drupal hat sowohl CAPTCHA- als auch ReCAPTCHA-Module zur Verfügung.
CAPTCHA und ReCAPTCHA sind hier die Spitzenreiter, ausgestattet mit den richtigen Herausforderungen, um Spambots zu bewältigen.
Simple Google ReCAPTCHA mit dem Ankreuzen des Feldes "Ich bin kein Roboter" ist auch ziemlich gut. Google ReCAPTCHA v3 bietet Ihnen eine Bewertung für diese Anfragen ohne jegliche Reibung. Recaptcha Element bietet eine weitere Integration mit Google reCAPTCHA v3.
Es gibt auch hCaptcha, ein Modul, das hilft, große Datenmengen innerhalb einer bestimmten Zeit zu kennzeichnen und gleichzeitig erschwinglich und zuverlässig ist.
Angriffe auf Hacks
Ihre Website wird irgendwie zu einem Ziel für Hacker werden, und Sie können nicht vermeiden, dass dies geschieht. Alles, was Sie tun können, ist sicherzustellen, dass sie bis zum Äußersten geschützt ist, wenn das passiert.
Die Verwendung von Drupals Security Kit ist der erste Schritt zur Härtung Ihrer Sicherheit. Es schützt vor verschiedenen Sicherheitsbedrohungen und hält Ihre Schwachstellen von der Ausnutzung fern. Cross-Site-Scripting, Cross-Site-Request-Forgery, Clickjacking und SSL/TLS sind einige der Angriffe, die von diesem Modul verhindert werden. Content Security Policy funktioniert nach einem ähnlichen Prinzip; es informiert Browser über vertrauenswürdige Quellen, um Hacks zu mildern und eine zusätzliche Sicherheitsebene hinzuzufügen.
Wenn Sie einen Reverse-Proxy und eine Firewall zum Schutz vor Hacks wünschen, dann wäre CloudFlare die richtige Wahl.
System Status ist ein weiteres Modul, das alles von der Beseitigung von Sicherheitslücken bis zur Durchführung notwendiger Upgrades tut, um Ihre Website hack-sicher zu halten.
Umgang mit dem Rest
Bis jetzt haben wir alle wichtigen Aspekte der Sicherheit abgedeckt, von Berechtigungen und Authentifizierung bis hin zu Spam und Hacks, aber es gibt noch einige Module zu besprechen, die eine Rolle bei der Drupal-Sicherheit spielen. Das werden wir jetzt besprechen.
Beginnen wir mit den Gesetzen. Die Datenschutz-Grundverordnung legt die Richtlinien fest, die regeln, wie Daten geschützt werden, sowie die Privatsphäre der Benutzer in der EU. Das Drupal-Modul GDPR bietet Hilfswerkzeuge, die wiederum Ihren Websites helfen, diese Gesetze besser einzuhalten. Cookiebot hilft weiterhin bei der Verfolgung Ihrer Verwendung von Cookies und der Einhaltung von GDPR und ePR. Dann gibt es TacJS, das Ihren Websites hilft, das europäische Cookie-Gesetz mit dem Benutzer von tarteaucitron.js einzuhalten.
Um sicherzustellen, dass alle hochgeladenen Dateien einwandfrei und sicher sind, können Sie File Upload Secure Validator verwenden, das genau das tut, was sein Name schon sagt; die Sicherheit der hochgeladenen Dateien auf der Serverseite validieren. ClamAV stellt weiterhin sicher, dass diese Dateien nicht von Viren infiziert sind, indem es Drupal in den Virenscanner mit dem gleichen Namen integriert.
Für Header und Referrer gibt es die Module Remove HTTP Headers und No Referrer. Während ersteres die HTTP-Header aus der Konfiguration entfernt, stellt letzteres sicher, dass keine Referrer-Informationen durchsickern.
Security.txt hilft bei der Implementierung des security.txt-Standards, der die ordnungsgemäße Dokumentation der Sicherheitskontakte und -richtlinien Ihrer Website gewährleistet. Es gibt ein Modul, um zu vermeiden, dass veraltete IP-Adressen Ihre Datenbank verstopfen und die Privatsphäre der Benutzer schützen, dies kann durch IP Anonymize geschehen.
Um sicherzustellen, dass Ihre Website in bestem Zustand ist, können Sie sich schließlich für Health Check entscheiden, das Ihnen einen Endpunkt für die Load Balancer ermöglicht.
Fazit
So, da haben Sie es, die Mehrheit der Drupal-Sicherheitsmodule, die Ihre Drupal-Website wasserdicht machen würden. Ich würde nicht sagen, dass es keine anderen Module für die Sicherheit gibt, die gibt es sicherlich, und Sie wären klug, sie auch zu verwenden.
Am Ende möchte ich nur sagen, dass Sicherheit immer ein Hauptanliegen sein wird, wenn Websites erstellt und in Betrieb genommen werden. Drupal ist keine Software, die in Bezug auf die Sicherheit als glanzlos bezeichnet werden würde, und mit der Einführung von Drupal 9 ist die Sicherheit bei Drupal noch effizienter geworden.
Abonnieren
Verwandte Blogs
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

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

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