Nginx Webserver wird auf mehr als verwendet 30% der Website weltweit und wächst.
Angesichts der Zunahme von Online-Web-Bedrohungen besteht eine Herausforderung für Web-Ingenieure darin, sich dessen bewusst zu sein Härten und Sichern von Nginx.
Nginx ist bekannt für seine Leistung und seinen leichten Webserver / Proxy und wird auf vielen geschäftigsten Websites verwendet.
- Pinterest.de
- Reddit.com
- Wordpress.com
- stackoverflow.com
- Mail.ru
Wenn Sie Ihre Webanwendungen auf Nginx hosten und sich Sorgen um die Sicherheit machen, möchten Sie als Erstes Folgendes implementieren Firewall für Webanwendungen (WAF).
Mod Security ist ein Open Source WAF von Trustwave SpiderLabs und wurde 2012 für Nginx verfügbar gemacht.
In diesem Handbuch werde ich erklären, wie es geht herunterladen, installieren und konfigurieren Mod Sicherheit mit Nginx.
Die folgende Demonstration wird unter CentOS durchgeführt, das mit gehostet wird DigitalOcean.
Wenn Sie neu bei Nginx sind, würde ich empfehlen, dies zu nehmen Grundkurs.
Download Nginx and ModSecurity
Sie können den nginx entweder direkt auf Ihren Server oder auf Ihren lokalen PC herunterladen und dann übertragen.
- Laden Sie die neueste Version unter dem folgenden Link herunter
http://nginx.org/en/download.html
- Wenn Sie direkt auf den Server herunterladen, können Sie wget wie folgt verwenden
wget http://nginx.org/download/nginx-1.9.15.tar.gz
- Extrahieren Sie sie mit dem Befehl gunzip
gunzip -c nginx-1.9.15.tar.gz | tar xvf -
- Sie sehen den neu erstellten Ordner
drwxr-xr-x 8 1001 1001 4096 19. April 12:02 nginx-1.9.15
- Laden Sie die neueste Version von Mod Security über den folgenden Link herunter
https://github.com/SpiderLabs/ModSecurity
- Sie können die folgenden Befehle direkt vom Server verwenden
wget https://www.modsecurity.org/tarball/2.9.1/modsecurity-2.9.1.tar.gz
gunzip -c modsecurity-2.9.1.tar.gz | tar xvf -
Lassen Sie uns sie installieren
Install Nginx with Mod Security
Es ist wichtig, Nginx- und Mod-Sicherheitsquellcode zu kompilieren.
- Melden Sie sich bei einem Server an und stellen Sie sicher, dass Sie über Root-Berechtigungen verfügen.
Hinweis: Wenn Sie auf einem brandneuen Server arbeiten, müssen Sie möglicherweise die folgenden Bibliotheken installieren.
yum install gcc make automake autoconf libtool pcre pcre-devel libxml2 libxml2-devel curl curl-devel httpd-devel
VornameLassen Sie uns die Mod-Sicherheit kompilieren. Gehe zu modsecurity-2.9.1 Ordner und verwenden Sie die folgenden Befehle.
./configure --enable-Standalone-Modul machen
Weiter, installiere Nginx mit Mod-Sicherheit
./configure --add-module = .. / modsecurity-2.9.1 / nginx / modsecurity make make install
Damit ist Nginx mit Mod Security installiert und es ist Zeit, es zu konfigurieren.
Configure Mod Security with Nginx
Kopieren modsecurity.conf-empfohlen & unicode.mapping Datei aus dem extrahierten Ordner des oben heruntergeladenen ModSecurity-Quellcodes in den Ordner nginx conf. Sie können auch die verwenden finden Befehl.
find / -name modsecurity.conf-empfohlen find / -name unicode.mapping
[root @ GeekFlare-Lab conf] # cp /opt/nginx/binary/modsecurity-2.9.1/modsecurity.conf-recommended / usr / local / nginx / conf / [root @ GeekFlare-Lab conf] # cp / opt / nginx / binary / modsecurity-2.9.1 / unicode.mapping / usr / local / nginx / conf / [root @ GeekFlare-Lab conf] #
Lassen Sie uns umbenennen modsecurity.conf-empfohlen zu modsecurity.conf
mv modsecurity.conf-empfohlene modsecurity.conf
- Erstellen Sie eine Sicherungskopie der Datei nginx.conf
- Öffnen Sie die Datei nginx.conf und fügen Sie unter der Anweisung "location /" Folgendes hinzu
ModSecurityEnabled on; ModSecurityConfig modsecurity.conf;
So sollte es aussehen
location / {ModSecurityEnabled on; ModSecurityConfig modsecurity.conf; }}
Jetzt ist Mod Security in Nginx integriert. Starten Sie den Nginx neu, um sicherzustellen, dass er fehlerfrei angezeigt wird.
Lassen Sie uns überprüfen ...
Es gibt zwei mögliche Methoden, um zu bestätigen, dass Nginx mit Mod Security kompiliert wurde.
Zuerst…
Listen Sie das kompilierte Modul mit –V mit der ausführbaren Datei nginx auf.
[root @ GeekFlare-Lab sbin] #./ nginx -V nginx-Version: nginx / 1.9.15 erstellt von gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) Konfigurationsargumente: --add-module = .. / modsecurity-2.9.1 / nginx / modsecurity [root @ GeekFlare-Lab sbin] #
Zweite…
Gehen Sie zum Protokollordner und zeigen Sie die Fehlerdatei an. Sie sollten Folgendes sehen
2016 05:21:21 [Hinweis] 54 # 51: ModSecurity für Nginx (STABLE) /25352 (http://www.modsecurity.org/) konfiguriert. 0/2.9.1/2016 05:21:21 [Hinweis] 54 # 51: ModSecurity: APR kompilierte Version = "25352"; geladene Version = "0" 1.3.9 1.3.9:2016:05 [Hinweis] 21 # 21: ModSecurity: PCRE kompilierte Version = "54"; geladene Version = "51 25352-0-7.8" 7.8 2008:09:05 [Hinweis] 2016 # 05: ModSecurity: LIBXML kompilierte Version = "21"
Damit ist ModSecurity erfolgreich mit Nginx konfiguriert.
Standardmäßig befindet sich die Konfiguration nur im Erkennungsmodus. Dies bedeutet, dass keine Aktion ausgeführt wird und Schützen Sie Ihre Webanwendungen.
In meinem nächsten Artikel habe ich erklärt, wie man konfiguriert OWASP-Regelsatz und aktivieren Sie Mod Security zum Schutz vor Sicherheitslücken im Web.