GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Sichern Sie Ihren Apache-Webserver mit Mod Security

ModSecurity, auch bekannt als Modsec, ist eine kostenlose Open-Source-Firewall für Webanwendungen für Apache-Webserver. ModSecurity ist ein Apache-Modul, das Ihnen hilft, Ihren Webserver vor verschiedenen Arten von Angriffen zu schützen, darunter SQL-Injection, XSS, Trojaner, Bots, Session Capture/Hijacking und viele mehr. ModSecurity bietet leistungsstarke Regelsätze mit Webüberwachung, Protokollierung und Zugriffskontrolle in Echtzeit.

In diesem Tutorial zeigen wir Ihnen, wie Sie Mod Security mit Apache unter Ubuntu 18.04 installieren und konfigurieren.

Voraussetzungen

  • Ein frisches Ubuntu 18.04 VPS auf der Atlantic.Net Cloud Platform.
  • Eine statische IP-Adresse, die auf Ihrem Server konfiguriert ist.

Schritt 1 – Erstellen Sie einen Atlantic.Net Cloud-Server

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu 18.04 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem Ubuntu 18.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

apt-get update -y

Schritt 2 – LAMP Stack installieren

Zuerst müssen Sie LAMP Stack auf Ihrem Server installieren. Sie können es installieren, indem Sie den folgenden Befehl ausführen:

apt-get install apache2 mariadb-server php7.2-mysql php7.2 libapache2-mod-php7.2 unzip git -y

Starten Sie nach der Installation von LAMP den Apache-Dienst und aktivieren Sie ihn nach dem Systemneustart mit dem folgenden Befehl:

systemctl start apache2
systemctl enable apache2

An diesem Punkt ist der Apache-Webserver installiert und wird auf Ihrem Server ausgeführt.

Schritt 3 – ModSecurity installieren

apt-get install libapache2-mod-security2 -y

Sobald die Installation abgeschlossen ist, starten Sie den Apache-Dienst neu, um die Änderungen zu übernehmen.

systemctl restart apache2

Als nächstes können Sie auch überprüfen, ob das Modul geladen wurde oder nicht, indem Sie den folgenden Befehl ausführen:

apachectl -M | grep security

Sie sollten die folgende Ausgabe erhalten:

security2_module (shared)

Schritt 4 – ModSecurity konfigurieren

Standardmäßig sind keine Sicherheitsregeln konfiguriert, daher müssen Sie sie zuerst aktivieren. Benennen Sie dazu die ModSecurity-Standardkonfigurationsdatei /etc/modsecurity/modsecurity.conf-recommended in /etc/modsecurity/modsecurity.conf.

um
cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf

Als nächstes bearbeiten Sie die Datei mit Ihrem bevorzugten Texteditor:

nano /etc/modsecurity/modsecurity.conf

Suchen Sie die folgende Zeile:

SecRuleEngine DetectionOnly

Ersetzen Sie es durch Folgendes:

SecRuleEngine On

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Apache-Dienst neu, damit die Änderungen wirksam werden.

systemctl restart apache2

Schritt 5 – ModSecurity Core Rule herunterladen und konfigurieren

Der Standardregelsatz von ModSecurity ist im Verzeichnis /usr/share/modsecurity-crs verfügbar, aber es wird empfohlen, einen neuen Regelsatz von GitHub herunterzuladen.

Entfernen Sie zuerst die alten Regeln mit dem folgenden Befehl:

rm -rf /usr/share/modsecurity-crs

Laden Sie als Nächstes den neuesten Regelsatz mit dem folgenden Befehl herunter:

git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git /usr/share/modsecurity-crs

Als nächstes müssen Sie diesen Regelsatz in der Apache-Konfiguration aktivieren. Sie können es aktivieren, indem Sie die Datei /etc/apache2/mods-enabled/security2.conf:

bearbeiten
nano /etc/apache2/mods-enabled/security2.conf

Fügen Sie die folgenden Zeilen oberhalb der Zeile „“

hinzu
     IncludeOptional "/usr/share/modsecurity-crs/*.conf
     IncludeOptional "/usr/share/modsecurity-crs/rules/*.conf

Speichern und schließen Sie die Datei. Starten Sie dann den Apache-Dienst neu und aktivieren Sie das Apache-Header-Modul, um die Änderungen zu implementieren.

a2enmod headers
systemctl restart apache2

Zu diesem Zeitpunkt ist ModSecurity so konfiguriert, dass es mit dem Apache-Webserver funktioniert.

Schritt 6 – ModSecurity testen

Nach der Konfiguration von ModSecurity können Sie versuchen, bösartige Skripte in einem Webbrowser auszuführen und prüfen, ob ModSecurity-Regeln ausgelöst werden.

Öffnen Sie Ihren Webbrowser und geben Sie die URL http://your-server-ip/index.html?exec=/bin/bash ein . Sie sollten auf der folgenden Seite eine verbotene Fehlermeldung erhalten:

Um die Regeln von ModSecurity zum Schutz vor einem simulierten XSS-Angriff zu testen, greifen Sie auf die URL http://your-server-ip/?q="> zu von Ihrem Webbrowser. Sie sollten den folgenden Bildschirm sehen:

Um die ModSecurity-Regeln anhand von Nessus-Scans zu testen, verwenden Sie einen curl-Befehl mit Nessus-Scannern, um HTTP-Anforderungen wie unten gezeigt an den Apache-Server zu senden:

curl -i http://your-server-ip -A Nessus

Sie sollten eine 403 Forbidden-Antwort erhalten, da ModSecurity den User Agent als Nessus-Scan identifiziert hat:

HTTP/1.1 403 Forbidden
Date: Sat, 21 Dec 2019 04:17:24 GMT
Server: Apache/2.4.29 (Ubuntu)
Content-Length: 278
Content-Type: text/html; charset=iso-8859-1

Schritt 7 – Eine bestimmte Domain von ModSecurity ausschließen

In einigen Fällen müssen Sie eine bestimmte Domain vom ModSecurity-Schutz ausschließen. Um ModSecurity für eine bestimmte Domäne zu deaktivieren, öffnen Sie die Konfigurationsdatei des virtuellen Apache-Hosts für eine bestimmte Domäne:

nano /etc/apache2/site-enabled/your-domain.conf

Fügen Sie die folgenden Zeilen innerhalb des Blocks hinzu:

<IfModule security2_module>
    SecRuleEngine Off
</IfModule>

Speichern und schließen Sie die Datei. Starten Sie dann den Apache-Dienst neu, um die Änderungen zu übernehmen.

systemctl restart apache2

Schlussfolgerung

Wir haben überprüft, wie Sie ModSecurity installieren und konfigurieren, um Ihren Apache-Webserver vor böswilligen Angriffen zu schützen. Weitere Informationen finden Sie in der ModSecurity-Dokumentation unter ModSecurity.


Linux
  1. Scannen Sie Ihre Linux-Sicherheit mit Lynis

  2. LAMP vs. LEMP – Tipps zur Auswahl von Apache oder Nginx für Ihren Webserver

  3. Wie installiere ich Mod Security auf Centos 7.x mit Apache?

  4. 10 Tipps zum Sichern Ihres Apache-Webservers unter UNIX / Linux

  5. So scannen Sie Ihren Server mit dem cPanel Security Advisor

Was ist Apache? Ein ausführlicher Überblick über den Apache-Webserver

HTTPOXY-Schwachstelle:So schützen und testen Sie Ihren Webserver

Sichern Sie Ihren von ISPConfig 3 verwalteten Mailserver mit einem gültigen Lets Encrypt SSL-Zertifikat

Sichern Sie Ihren Apache-Webserver Best Practice

Gewusst wie:Sichern Sie Ihren Ubuntu- oder Debian-Server mit IPTables

Wie man die Leistung von Webservern mit Apache Bench bewertet