Nginx-webserver wordt gebruikt op meer dan 30% van website wereldwijd en groeit.
Gezien de toename van online webbedreigingen, is een van de uitdagingen voor webingenieurs om zich goed bewust te zijn van het verharden en beveiligen van Nginx.
Nginx staat bekend om zijn prestaties en lichtgewicht webserver / proxy en wordt op veel drukste sites gebruikt.
- Pinterest.com
- Reddit.com
- WordPress.com
- Stackoverflow.com
- Mail.ru
Als u uw webtoepassingen op Nginx host en u zich zorgen maakt over beveiliging, is een van de eerste dingen die u wilt implementeren Web Application Firewall (WAF).
Mod Security is een Open Source WAF van Trustwave SpiderLabs en is in 2012 beschikbaar gesteld voor Nginx.
In deze handleiding leg ik uit hoe downloaden, installeren en configureren Mod Security met Nginx.
De volgende demonstratie wordt gedaan op CentOS gehost met DigitalOcean.
Als je nieuw bent bij Nginx, zou ik aanraden dit te nemen fundamentele cursus.
Contents
Download Nginx en ModSecurity
U kunt de nginx rechtstreeks op uw server of op uw lokale pc downloaden en vervolgens overzetten.
- Download de nieuwste versie via onderstaande link
http://nginx.org/en/download.html
- Als u rechtstreeks op de server downloadt, kunt u wget gebruiken zoals hieronder
wget http://nginx.org/download/nginx-1.9.15.tar.gz
- Pak ze uit met het commando gunzip
gunzip -c nginx-1.9.15.tar.gz | tar xvf –
- Je ziet de nieuwe map gemaakt
drwxr-xr-x 8 1001 1001 4096 19 april 12:02 nginx-1.9.15
- Download de nieuwste versie van Mod Security via onderstaande link
https://www.modsecurity.org/download.html
- U kunt onderstaande opdrachten rechtstreeks van de server gebruiken
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 –
Laten we ze installeren
Installeer Nginx met Mod Security
Het is belangrijk om Nginx- en mod-beveiligingsbroncode te compileren.
- Log in op een server en zorg ervoor dat u root-toestemming heeft.
Notitie: als je op een gloednieuwe server werkt, moet je mogelijk de volgende bibliotheken installeren.
yum installeer gcc automake autoconf libtool pcre pcre-devel libxml2 libxml2-devel curl curl-devel httpd-devel
Eerste, laten we mod-beveiliging compileren. Ga naar modsecurity-2.9.1 map en gebruik onderstaande commando’s.
./ configure –enable-standalone-module
maken
De volgende, installeer Nginx met mod beveiliging
./ configure –add-module = .. / modsecurity-2.9.1 / nginx / modsecurity
maken
maak installeren
Dit concludeert dat Nginx is geïnstalleerd met Mod Security en dat het tijd is om het te configureren.
Configureer Mod Security met Nginx
Kopiëren modsecurity.conf aanbevolen & unicode.mapping bestand uit de uitgepakte map van de hierboven gedownloade ModSecurity-broncode naar de nginx conf-map. U kunt ook de opdracht find gebruiken.
zoek / -name modsecurity.conf-recommended
vind / -name unicode.mapping
[[email beveiligd] conf] # cp /opt/nginx/binary/modsecurity-2.9.1/modsecurity.conf-recommended / usr / local / nginx / conf /
[[email beveiligd] conf] # cp /opt/nginx/binary/modsecurity-2.9.1/ unicode.mapping / usr / local / nginx / conf /
[[email beveiligd] conf] #
Laten we de naam wijzigen modsecurity.conf aanbevolen naar modsecurity.conf
mv modsecurity.conf-aanbevolen modsecurity.conf
- Maak een back-up van het bestand nginx.conf
- Open het bestand nginx.conf en voeg het volgende toe onder de “locatie /” richtlijn
ModSecurityEnabled op;
ModSecurityConfig modsecurity.conf;
Dus het zou er zo uit moeten zien
plaats / {
ModSecurityEnabled op;
ModSecurityConfig modsecurity.conf;
}
Nu is Mod Security geïntegreerd met Nginx. Start de Nginx opnieuw op om ervoor te zorgen dat deze zonder fouten verschijnt.
Laten we verifiëren …
Er zijn twee mogelijke methoden om te bevestigen dat Nginx is samengesteld met Mod Security.
Eerste…
Maak een lijst van de gecompileerde module door –V te gebruiken met het uitvoerbare bestand nginx.
[[email beveiligd] sbin] # ./ nginx -V
nginx-versie: nginx / 1.9.15
gebouwd door gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
configureer argumenten: –add-module = .. / modsecurity-2.9.1 / nginx / modsecurity
[[email beveiligd] sbin] #
Tweede…
Ga naar de map logs en bekijk het foutbestand, je zou het volgende moeten zien
2016/05/21 21:54:51 [bericht] 25352 # 0: ModSecurity voor nginx (STABLE) /2.9.1 (http://www.modsecurity.org/) geconfigureerd.
21/05/2016 21:54:51 [bericht] 25352 # 0: ModSecurity: APR gecompileerde versie ="1.3.9"; geladen versie ="1.3.9"
21/05/2016 21:54:51 [bericht] 25352 # 0: ModSecurity: PCRE gecompileerde versie ="7.8 "; geladen versie ="7.8-05-09"
21/05/2016 21:54:51 [bericht] 25352 # 0: ModSecurity: LIBXML gecompileerde versie ="2.7.6"
Dit concludeert dat u ModSecurity met Nginx succesvol heeft geconfigureerd.
Standaard staat de configuratie alleen in de detectiemodus, wat betekent dat het geen actie zal uitvoeren en uw webapplicaties zal beschermen.
In mijn volgende artikel heb ik uitgelegd hoe u de OWASP-regelset configureert en Mod Security inschakelt om te beschermen tegen webbeveiligingsproblemen.