Verwenden Sie das ModSecurity Apache Module auf einem Cloud Server mit Ubuntu 16.04.

ModSecurity ist eine kostenlose Web Application Firewall (WAF), die eine einfache und leistungsstarke Möglichkeit ist, einen Server vor webbasierter Malware und Hacking-Versuchen zu schützen. Erfahren Sie, wie Sie ModSecurity und das offiziell empfohlene OWASP Core Rule Set (CRS) installieren, das einen Server vor Malware und Hacking in Form von SQL-Injektion, Session Hijacking, Cross-Site-Scripting, Trojanern und vielen anderen Formen von webbasierten Exploits schützt.

Compute Engine
Die ideale IaaS für Ihre Workloads
  • Kostengünstige vCPUs und leistungsstarke dedizierte Cores
  • Höchste Flexibilität ohne Mindestvertragslaufzeit
  • Inklusive 24/7 Experten-Support

Anforderungen

  • Ein Cloud Server unter Linux (Ubuntu 16.04)
  • Der Apache wurde installiert und läuft.
Hinweis

Der Apache ist standardmäßig auf einer Standardinstallation installiert und läuft dort. Wenn Ihr Server mit einer Minimalinstallation erstellt wurde, müssen Sie den Apache installieren und konfigurieren, bevor Sie fortfahren können.

ModSecurity installieren

Installieren Sie das libapache2-modsecurity-Paket:

sudo apt-get install libapache2-modsecurity

Verwenden Sie apachectl -M | grep security, um sicherzustellen, dass das Paket installiert wurde. Der Server antwortet mit:

user@localhost:~# apachectl -M | grep security
security2_module (shared)

Erstellen Sie ein Verzeichnis für die ModSecurity-Regeln:

sudo mkdir /etc/modsecurity

Erstellen Sie eine Datei für ModSecurity-Regeln und öffnen Sie die Datei zur Bearbeitung:

sudo nano /etc/modsecurity/mod_security.conf

Fügen Sie Folgendes zur Datei hinzu:

<IfModule mod_security2.c>
    SecRuleEngine On
    SecRequestBodyAccess On
    SecResponseBodyAccess On 
    SecResponseBodyMimeType text/plain text/html text/xml application/octet-stream 
    SecDataDir /tmp
</IfModule>

Speichern und beenden Sie die Datei. Starten Sie dann den Apache neu, damit die Änderungen wirksam werden:

sudo systemctl restart apache2

Installation und Konfiguration des OWASP Core Rule Set (CRS)

Das OWASP Core Rule Set (CRS) erweitert die Funktionalität von ModSecurity um eine Reihe von Sicherheitsregeln zum Schutz Ihres Servers.

Zuerst installieren Sie das git-Paket:

sudo apt-get install git

Gehen Sie in das Verzeichnis /etc/apache2:

cd /etc/apache2/

Laden Sie die OWASP-Installationsdateien herunter:

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

Wechseln Sie in das neue OWASP-Verzeichnis:

cd owasp-modsecurity-crs

Erstellen Sie eine Kopie der Beispiel-Setup-Datei und benennen Sie sie um:

sudo cp crs-setup.conf.example crs-setup.conf

Öffnen Sie die Hauptkonfigurationsdatei des Apache zur Bearbeitung:

sudo nano /etc/apache2/apache2.conf

Scrollen Sie nach unten zu dem Abschnitt, der lautet:

# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

Füge die folgenden zwei Zeilen hinzu:

Include /etc/apache2/owasp-modsecurity-crs/crs-setup.conf
Include /etc/apache2/owasp-modsecurity-crs/rules/*.conf

Speichern und beenden Sie die Datei. Starten Sie dann den Apache neu, damit die Änderungen wirksam werden:

systemctl restart apache2
Webhosting
Top-Hosting für Ihre Website
  • Flexibel: Hosting, das jedem Website-Traffic standhält
  • Verlässlich: Inklusive 24/7-Support und persönlicher Beratung
  • Sicher: Kostenloses SSL-Zertifikat, DDoS-Schutz und Backups

Überprüfen Sie, ob ModSecurity installiert ist und das OWASP CRS geladen ist

Sie können das OWASP CRS von ModSecurity testen, indem Sie die URL besuchen:

http://example.com/?param="><script>alert(1);</script>

Dabei wird example.com durch den Domänennamen oder die IP-Adresse Ihres Servers ersetzt.

Der Zugang wird Ihnen mit einem 403 verweigert: Verbotener Fehler. Außerdem wird dieser Fehler in der Datei /var/log/apache2/error.log mit einem ähnlichen Eintrag wie:

[Tue Aug 01 21:28:41.118995 2017] [:error] [pid 59913] [client 79.196.255.255] ModSecurity: Warning. Pattern match "^[\\\\d.:]+$" at REQUEST_HEADERS:Host. [file "/etc/apache2/owasp-modsecurity-crs/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf"] [line "810"] [id "920350"] [rev "2"] [msg "Host header is a numeric IP address"] [data "50.21.182.126:80"] [severity "WARNING"] [ver "OWASP_CRS/3.0.0"] [maturity "9"] [accuracy "9"] [tag "application-multi"] [tag "language-multi"] [tag "platform-multi"] [tag "attack-protocol"] [tag "OWASP_CRS/PROTOCOL_VIOLATION/IP_HOST"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"] [hostname "50.21.182.126"] [uri "/phpmanager/"] [unique_id "WYDyiX8AAAEAAOoJ5qMAAAAA"]

Aktualisierung des OWASP Core Rule Set (CRS)

Das OWASP CRS wird mit einem Skript geliefert, das Sie ausführen können, um die Regeln auf die neueste Version zu aktualisieren. Zur Aktualisierung von OWASP:

sudo python /etc/apache2/owasp-modsecurity-crs/util/upgrade.py --crs

Wenn Sie es jetzt ausführen, um den Befehl zu testen, antwortet es mit:

crs:
From https://github.com/SpiderLabs/owasp-modsecurity-crs
 * branch            HEAD       -> FETCH_HEAD
Already up-to-date.

We recommend that you periodically run this script to update the OWASP CRS for the latest security patches.

War dieser Artikel hilfreich?
Page top