Web Application Firewall (ModSecurity)

Um Angriffe gegen Webanwendungen zu erkennen und zu verhindern, gleicht die Web Application Firewall (ModSecurity) alle Abfragen an Ihren Webserver und die zugehörigen Antworten vom Server mit ihren Regeln ab. Wenn diese Überprüfung erfolgreich verläuft, wird die HTTP-Anforderung an die Website weitergegeben, um den Inhalt abzurufen. Fällt die Überprüfung hingegen negativ aus, werden die vorher definierten Aktionen durchgeführt.

ModSecurity wird sowohl in Plesk für Linux als auch für Windows unterstützt. Es wird als Webserver-Modul (Apache oder IIS) ausgeführt.

Hinweis: Administratoren, die ein Upgrade von Plesk 11.5 durchführen und die Web Application Firewall (ModSecurity) verwenden möchten, benötigen einen neuen Lizenzschlüssel für Plesk Onyx von Plesk oder ihrem Anbieter.

Aktivieren der Verschlüsselung

So aktivieren Sie die Web Application Firewall:

  1. Gehen Sie zu Tools & Einstellungen > Web Application Firewall (ModSecurity) (in der Gruppe Sicherheit ).

    Wenn Sie diesen Link nicht sehen, installieren Sie die ModSecurity-Komponente unter Tools & Einstellungen > Updates und Upgrades > Komponenten hinzufügen/entfernen > Webhosting.


    Web_Application_Firewall

  2. Stellen Sie den Modus der Web Application Firewall auf Ein oder Nur Erkennung. Jede eingehende HTTP-Abfrage und die zugehörige Antwort werden mit einem Regelsatz verglichen. Wenn diese Überprüfung erfolgreich verläuft, wird die HTTP-Anforderung an die Website weitergegeben, um den Inhalt abzurufen. Fällt die Überprüfung hingegen negativ aus, wird das Ereignis protokolliert. Im Modus Nur Erkennung werden keine weiteren Aktionen ausgeführt. Im Modus Ein wird eine HTTP-Antwort mit einem Fehlercode ausgegeben.

    Hinweis: Die Modi der Web Application Firewall können auf Server- sowie auf Domainebene eingerichtet werden. Jedoch kann der Modus auf Domainebene nicht höher sein als der für den Server festgelegte Modus. Wenn beispielsweise die Web Application Firewall auf der Server-Ebene im Modus Nur Erkennung arbeitet, werden Sie sie für Domains nicht auf Ein einstellen können. In dem Fall werden nur die Modi Aus und Nur Erkennung angezeigt.

  3. Wählen Sie den Regelsatz aus, mit dem jede eingehende HTTP-Abfrage vom Web-Application-Firewall-Modul überprüft wird, oder laden Sie einen benutzerdefinierten Regelsatz hoch. Sie können die folgenden Regelsätze auswählen:
    • Atomic Basic ModSecurity. Eine kostenlose Einstiegsversion der Atomic ModSecurity Regeln im Paket mit Plesk. Es enthält Sicherheitsfunktionen und Bugfixes, die monatlich veröffentlicht werden. Weitere Informationen zu den Regeln in diesem Regelsatz finden Sie unter Atomic ModSecurity Regelsätze.
    • OWASP ModSecurity Core Rule Set (CRS). Das CRS bietet einen allgemeinen Schutz vor unbekannten Schwachstellen, die oft in Webanwendungen gefunden werden. Dieser Regelsatz wird kostenfrei zur Verfügung gestellt. Dabei handelt es sich um einen sehr strengen Regelsatz. Für die Verwendung in Produktivumgebung ist daher eine zusätzliche Anpassung nötig. Wenn dieser Regelsatz ausgewählt ist, funktioniert WordPress teilweise und Webmail sowie Filesharing gar nicht. Sie können stattdessen den Atomic- oder Comodo-Regelsatz verwenden.
    • Atomic ModSecurity Regelsatz. Die neueste Version der Regeln – mit allen Leistungsverbesserungen, neuen Sicherheitsfunktionen und Bugfixes, die täglich von Atomicorp GotRoot herausgegeben werden. Dies ist ein kommerzieller Regelsatz, der vollständig unterstützt und für die Verwendung in der Produktivumgebung empfohlen wird. Plesk bietet die zusätzliche Funktion Security Core Complete by Atomicorp an, mit der Sie diesen Regelsatz in Plesk aktivieren können. Sie erhalten diese zusätzliche Funktion über eine der folgenden Methoden:
      • Kaufen Sie das Produkt Security Core Complete By Atomicorp im Plesk Online-Shop.
      • Wenn Sie bereits eine Plesk Lizenz haben, können Sie die zusätzliche Funktion über Plesk Partner Central oder über die Partner API hinzufügen. Details dazu finden Sie im Advanced Administration Guide (Handbuch für fortgeschrittene Administration).
      • Falls Sie eine Plesk Lizenz, jedoch keinen Zugriff auf Plesk Partner Central haben, wenden Sie sich an Ihren Provider.

      Wenn Sie bereits ein Konto auf der Atomic Website haben, geben Sie Ihren Benutzernamen und Ihr Passwort an, um diesen Regelsatz zu aktivieren.

      Hinweis: Wenn Sie diese zusätzliche Funktion erwerben, wird in der Plesk Benutzeroberfläche Atomic Professional ModSecurity anstatt Atomic Basic ModSecurity angezeigt. Das heißt, der komplette Atomic ModSecurity-Regelsatz ist verfügbar.

      Weitere Informationen zu den Regeln in diesem Regelsatz finden Sie unter Atomic ModSecurity Regelsätze.

      Achtung (Linux): Wenn Sie den Atomic Regelsatz auswählen, gehen Sie wie folgt vor, um sicherzustellen, dass ModSecurity einwandfrei funktioniert. Rufen Sie auf dem Server den Befehl aum -u aus. Das Plesk modsecurity-Paket wird durch das Paket aus dem Atomic Repository ersetzt. Führen Sie anschließend die folgenden Befehle aus:

      • plesk sbin modsecurity_ctl --disable
      • plesk sbin modsecurity_ctl –enable
      • service httpd restart
    • Comodo ModSecurity Regelsatz (Linux). Dies ist ein Satz benutzerfreundlicher, anpassbarer Regeln basierend auf einem Traffic-Kontrollsystem, das mit einer häufig aktualisierten Regeldatenbank Ihre webbasierten Anwendungen schützt und neu entstehenden Hackertechniken vorbeugt. Dieser Regelsatz wird kostenfrei zur Verfügung gestellt. Um diesen Regelsatz in Plesk zu aktivieren, müssen Sie sich auf der Comodo Website registrieren und anschließend Ihren Benutzernamen und Ihr Passwort von dieser Website angeben.
    • Benutzerdefiniert. Sie können einen benutzerdefinierten Regelsatz für die Web Application Firewall hochladen, zum Beispiel, ein Testpaket von Atomic oder ein kostenloses Paket von Comodo. Unterstützte Formate: zip, tar.gz, tgz, tar.bz2, conf.
  4. Wenn der ausgewählte Regelsatz automatisch aktualisiert werden soll, setzen Sie das Häkchen bei Regelsätze aktualisieren und wählen den Aktualisierungszeitraum aus.
  5. Wählen Sie die vordefinierten Parameter aus oder geben Sie Ihre eigenen ModSecurity-Anweisungen an. Sie können die folgenden vordefinierten Parameter auswählen:
    • Schnell, wenn der URI der HTTP-Abfrage und Teile der Header analysiert werden sollen. Dieser Modus verbraucht am wenigsten CPU.
    • Ausgewogen, wenn der URI und die Header der HTTP-Abfrage sowie die POST-Daten der Abfrage analysiert werden sollen. Dieser Modus bietet eine gute Balance zwischen Qualität und Leistung.
    • Gründlich, wenn die vollständigen Header der HTTP-Abfrage, die POST-Daten der Abfrage und der Body-Content der HTTP-Antwort analysiert werden sollen. Dieser Modus verbraucht die meisten CPU-Ressourcen, ist aber für jene Websites zu empfehlen, für die besondere Sicherheitsmaßnahmen erforderlich sind. Ein Beispiel sind Online-Shops mit Kreditkarte als mögliche Zahlungsmethode.

      Hinweis: Für eine optimale Leistung benötigt die Web Application Firewall einen lokalen DNS-Server, bei dem das Caching von Abfragen aktiviert ist. Sonst kann es passieren, dass Ihre Websites bei eingeschalteter Web Application Firewall langsam laden.

      2016-09-07_161237

  

Protokolldateien (Linux)

ModSecurity verwendet unter Linux zwei Speicherorte für Protokolle:

  • Das ModSecurity Auditprotokoll (befindlich in /var/log/httpd/modsec_audit.log) ist sehr detailliert und wird vom gesamten Plesk Server verwendet. Sobald ModSecurity erkennt, dass ein Ereignis eingetreten ist, generiert es einen Eintrag in der Auditprotokolldatei. Wenn Sie das ModSecurity Auditprotokoll einsehen möchten, rufen Sie Tools & Einstellungen > Web Application Firewall (ModSecurity) auf und klicken Sie auf den Link Protokollarchiv im Abschnitt ModSecurity Auditprotokoll. Dort können Sie die ModSecurity Protokolldateien und ihre Änderungsdaten sehen sowie die Protokolldateien herunterladen.
  • Das Apache Fehlerprotokoll für eine Domain (befindlich in /var/www/vhosts/DOMAIN.TLD/logs/error_log) enthält nur kurze Informationen über Website-Fehler. Sie können das Fehlerprotokoll für eine bestimmte Website im Kunden-Panel einsehen. Gehen Sie dazu zu Websites & Domains > <Domainname> > Protokolle und wählen Sie auf der rechten Seite nur Apache-Fehler und nginx-Fehler anstatt Alle Protokolle aus.
Protokolldateien (Windows)

Unter Windows sind ModSecurity-Auditprotokolle domainspezifisch und unter %plesk_verzeichnis%\ModSecurity\vhosts\<GUID der Domain>\logs zu finden. %plesk_verzeichnis% steht für das standardmäßige Installationsverzeichnis für Plesk.

 

Deaktivieren von Regeln

Eine Website kann möglicherweise nicht mehr wie erwartet funktionieren, wenn Sie den Modus der Web Application Firewall von Aus oder Nur Erkennung in Ein ändern. Fehlercodes wie 403, 404 oder 500 sind dann im Fehlerprotokoll der Website finden und erscheinen wiederum nicht mehr, wenn Sie den Modus der Web Application Firewall zurück in Nur Erkennung oder Aus ändern. In diesem Fall sollten Sie das ModSecurity-Auditprotokoll analysieren, um herauszufinden, was genau passiert. Sie können zu strenge Sicherheitsregeln ausschalten oder die Website anpassen.

So finden Sie heraus, warum eine HTTP-Anfrage für eine Website nicht abgeschlossen werden konnte:

  1. Rufen Sie die Auditprotokolldatei für die Website auf.

    In Plesk für Linux können Sie das Protokoll in der Plesk Benutzeroberfläche anzeigen. Gehen Sie zu Tools & Einstellungen > Web Application Firewall (ModSecurity) und klicken Sie auf den Link ModSecurity-Protokolldatei, um das Auditprotokoll herunterzuladen und es in einem neuen Browserfenster zu öffnen.

  2. Verwenden Sie die Suche (Strg+F in den meisten Webbrowsern), um Ereignisse in Verbindung mit der Website (dem Domainnamen) zu finden, die die Probleme verursacht haben. Suchen Sie zum Beispiel nach ihre_domain.tld. Im Browser werden Einträge wie HOST: ihre_domain.tld hervorgehoben. Suchen Sie drei Zeilen über dem markierten Eintrag eine Zeichenfolge wie --eece5138-B--. Die acht Zeichen zwischen den Bindestrichen (in unserem Beispiel: eece5138) sind die ID des Ereignisses, das von der HTTP-Abfrage ausgelöst wurde.
  3. Suchen Sie weiter nach anderen Einträgen mit derselben Ereignis-ID. Halten Sie dabei Ausschau nach einem Eintrag mit einem H nach der Ereignis-ID (in unserem Beispiel: eece5138-H--). Dieser Eintrag enthält die ID und die Beschreibung der Sicherheitsregel, die während der Überprüfung der HTTP-Anforderung ausgelöst wurde. Die ID der Sicherheitsregel ist eine ganzzahlige Nummer in Anführungszeichen, die mit 3 beginnt und zusammen mit dem Präfix id in eckige Klammern gesetzt ist. Zum Beispiel [id "340003"].
  4. Finden Sie eine Sicherheitsregel-ID in jenem Ereignis, indem Sie eine Teilzeichenfolge wie [id "3 verwenden. Diese ID kann zum Deaktivieren von Regeln eingesetzt werden.

So deaktivieren Sie eine Regel:

  1. Gehen Sie zu Tools & Einstellungen > Web Application Firewall (ModSecurity).
  2. Wählen Sie im Abschnitt Sicherheitsregeln ausschalten die Sicherheitsregel mittels ID (z. B. 340003), Kennzeichnung (z. B. CVE-2011-4898) oder regulären Ausdrucks (z. B. XSS) aus und klicken Sie auf OK.
Hinweise zu nginx und ModSecurity (Linux)

ModSecurity ist unter Linux ein Modul für Apache. Daher kann es nur HTTP-Abfragen prüfen, die Apache erreichen. Apache kann aber durch einen weiteren Webserver ergänzt werden: nginx. Wenn Sie die Option PHP von nginx verarbeiten lassen des nginx-Webservers für den dynamischen Inhalt Ihrer Website auswählen, kann die Web Application Firewall HTTP-Anforderungen nicht überprüfen, da sie Apache nie erreichen. Für den statischen Content gilt dies bei eingeschalteter Option Statische Dateien direkt durch nginx bedienen, da HTTP-Abfragen Apache nicht erreichen und somit ModSecurity diese nicht überprüft.

Hinweise zu Upgrades (Linux)

Nützliche Tipps, wenn auf Ihrem Server vor dem Upgrade auf Plesk Onyx ModSecurity installiert war:

  • Plesk installiert sein eigenes ModSecurity-Paket. Jedoch werden Sie während der Überprüfung vor dem Upgrade im Plesk Installer gefragt, ob Sie damit einverstanden sind, dass Plesk ModSecurity über Ihre bestehende Installation installiert wird.
  • Ihre vorhandene ModSecurity Konfiguration wird so gelassen wie sie ist. Allerdings ist es schwer vorherzusagen, inwieweit alte und neue Konfigurationen miteinander konkurrieren, da es viele Distributionen und Konfigurationen für ModSecurity gibt. Um Probleme zu vermeiden, sollten Sie daher Ihre bestehende Konfiguration speichern und ModSecurity deinstallieren, bevor Sie ein Upgrade auf Plesk Onyx durchführen (oder bevor Sie ModSecurity von Plesk installieren).
 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.