security review

Sicherheitsüberprüfung - ein Modul für Drupal

Bei der Arbeit an einem Projekt gibt es viele Möglichkeiten, die Sicherheit einer Website zu erhöhen. Eine davon ist die Verwendung automatisierter Sicherheitstests, die Entwicklern helfen, so viele Sicherheitslücken wie möglich zu beseitigen.

Bei Droptica konzentrieren sich unsere Drupal-Entwickler darauf, die sichersten Lösungen zu liefern. Das Drupal-CMS selbst unterstützt uns dabei, da es sicherer als andere CMSs ist. Dank der großen Community, die sich auf Open-Source-Projekte konzentriert, zu denen Drupal gehört, erhalten Kunden einerseits effektive Lösungen und können sich andererseits auf ihre Sicherheit verlassen. An dieser Stelle ist es erwähnenswert, dass es ein spezielles Team gibt, das sich diesem Thema widmet, nämlich das Drupal Security Team.

In diesem Text möchte ich Ihnen die Funktionsweise eines der Werkzeuge zur Erhöhung der Sicherheit Ihrer Website vorstellen – das Security Review-Modul.

Daten

Das Modul wurde am 4. November 2009 veröffentlicht, und das neueste Update wurde am 4. Oktober 2019 eingeführt. Das Modul ist in Versionen für Drupal 7 und 8 verfügbar

Beliebtheit des Moduls

Laut drupal.org verwenden 30.000 Websites das Modul, von denen 28.000 Drupal 7 und 2.000 Drupal 8 sind.

Ersteller des Moduls

Der Ersteller des Moduls ist der Benutzer namens greggles. Das Modul wird von den Organisationen Acquia, CARD.com und Google Summer of Code unterstützt und entwickelt. Die meisten Commits wurden von den Benutzern coltrane (111), banviktor (58) und greggles (8) bereitgestellt.

Wofür wird das Modul verwendet?

Das Modul führt ein automatisches Website-Audit durch, das viele Angriffsvektoren detailliert auflistet, die zu Sicherheitsfehlern führen können. Hier ist eine Liste einiger davon:

Dateiberechtigungen

Das Speichern von Dateien im Stammverzeichnis des Servers ist gefährlich und kann zu einem Fehler bei der Remote-Code-Ausführung führen. Ein Angreifer kann diese Schwachstelle nutzen, um die Kontrolle über eine Website zu übernehmen. Weitere Informationen zur korrekten Konfiguration der Berechtigungen finden Sie unter diesem Link.

Die Liste der von den im CMS verfügbaren Textformaten akzeptierten Tags

Einige HTML-Tags gelten als unsicher. Das bedeutet, dass sie es einem Angreifer ermöglichen können, die Kontrolle über eine Website zu übernehmen. Drupal verfügt über eine HTML-Filter-Engine, die schädliche Tags entfernt – dieser Test überprüft, ob das Filtern korrekt eingerichtet ist.

Fehlermeldungen

Drupal kann Informationen zu Fehlern an unbefugte Personen weitergeben. Ein Angreifer kann diese Informationen verwenden, um einen Angriff zu verfeinern oder weitere Vektoren zu finden.

Unsichere Dateierweiterungen

Einige Erweiterungen gelten als unsicher. Das bedeutet, dass sie Sicherheitsfehler wie Remote-Code-Ausführung verursachen können. Dies ermöglicht es einem Angreifer, die Kontrolle über eine Website zu übernehmen, und Security Review überprüft, ob Drupal den Transfer von Dateien mit unsicheren Erweiterungen ermöglicht.

Datenbankfehler

Viele Datenbankfehler, die von einer einzelnen IP-Adresse ausgelöst werden, deuten darauf hin, dass jemand versucht, einen SQL-Injektionsangriff durchzuführen. Das Modul informiert, wenn mehrere Datenbankfehler von derselben IP-Adresse ausgelöst wurden.

Brute-Force-Angriff auf das Login-Panel

Mehrere fehlgeschlagene Anmeldeversuche deuten darauf hin, dass jemand versucht, in das Konto eines anderen Benutzers zu gelangen. Sie werden darüber informiert.

Vertrauenswürdige Hosts (HTTP-Host-Header-Angriff)

Die korrekte Konfiguration von Trusted Host schützt vor einem HTTP-Host-Header-Angriff. Eine detaillierte Beschreibung der Einstellungen finden Sie unter diesem Link.

Zugriff auf Ansichten

Security Review empfiehlt, dass der Zugriff auf Drupal-Ansichten zumindest eine minimale Kontrollfunktion für den „Zugriff auf Inhalte“ haben sollte. Dieser Test überprüft, ob die Ansichten mindestens ein minimales Maß an Zugriffskontrolle haben.

Security Review führt keine Sicherheitskorrekturen durch, sondern schlägt lediglich vor, wo Angriffsvektoren vorhanden sein könnten. Es handelt sich um Vorschläge für Änderungen, die von einem Spezialisten analysiert werden müssen.

Unboxing

Die Installation des Moduls ist standardmäßig, aber wir empfehlen die Verwendung des Composer:

composer require drupal/security_review

Einstellungen

Unter der Adresse

/admin/config/security-review

können Sie das Modul konfigurieren, indem Sie Rollen auswählen, die nicht vertrauenswürdig sind. Security Review verwendet diese als Basis, um zu überprüfen, ob Benutzer mit nicht vertrauenswürdigen Rollen Berechtigungen für Funktionen haben, die Sicherheitsfehler verursachen können. Sie können auch auswählen, welche Elemente der Checkliste Sie überspringen möchten und die Methode zur Überprüfung der vertrauenswürdigen Hosts auswählen.

secrev0

Rollenkonfiguration

Das Modul bietet zwei Arten von Berechtigungen: „Zugriff auf Sicherheitsüberprüfungsliste“, „Sicherheitschecks durchführen“. Zuerst müssen Sie die vertrauenswürdigen Rollen konfigurieren, die in der Lage sein werden, Berichte zu lesen und den Scan durchzuführen. Um dies zu tun, gehen Sie zu

/admin/people/permissions

und konfigurieren Sie die Berechtigungen für ausgewählte Rollen:

secrev1

Verwendung des Moduls

Das Modul wurde bereits konfiguriert. Um ein Audit durchzuführen, gehen Sie einfach zu

/admin/reports/security-review

und klicken Sie auf „Checkliste ausführen“, und Security Review führt das Audit durch. Sie können auch den drush-Befehl verwenden:

drush secrev

secrev2

Jeder Test hat eine Zusammenfassung, die Sie sehen können, indem Sie auf „Details“ klicken. Ein Beispiel für „Fehler werden auf dem Bildschirm angezeigt“:

secrev3

Beim Wechsel zu den Protokolleinstellungen können Sie sehen, dass Drupal alle Informationen inklusive des Backtrace anzeigt:

secrev4

Im Fall einer Produktionsversion einer Website, setzen Sie diese Option auf „keine“, um das Risiko zu minimieren, Informationen preiszugeben, die einem Angreifer helfen könnten, die Website zu übernehmen.

Ähnliche Informationen werden für jeden der während des Audits erkannten Sicherheitsfehler bereitgestellt. Alle Punkte sollten manuell überprüft und gegebenenfalls entsprechende Änderungen vorgenommen werden.

Alternative Module

Das Paranoia-Modul identifiziert alle Bereiche, in denen ein Benutzer benutzerdefinierten PHP-Code auslösen kann, und versucht, diese zu blockieren. Dies reduziert die Möglichkeit, dass ein Fehler bei der Remote-Code-Ausführung auftritt. Darüber hinaus schützt das Modul das Hauptadministrator-Konto (Konto mit der ID 1), verhindert dessen Bearbeitung und blockiert die Möglichkeit, sich selbst auf die übliche Weise zu deinstallieren (um das Paranoia-Modul zu deinstallieren, müssen Sie die Datenbank manuell bearbeiten). Alle vom Paranoia-Modul bereitgestellten Funktionen sollen die Sicherheit einer Website erhöhen.

Zusammenfassung

Das Security Review-Modul ist ein äußerst wichtiges und nützliches Werkzeug. Dank der vom Modul gesammelten Informationen gewinnen Sie unschätzbares Wissen darüber, was getan werden sollte, um die Sicherheit Ihrer Website zu verbessern. Nach der Analyse der Ergebnisse können Sie einige der Angriffsvektoren eliminieren. Unser Team empfiehlt, dieses Modul beim Erstellen einer Website zu verwenden.

As part of Drupal support, we maintain existing websites and expand them with new functionalities