Ställ in NGINX med ModSecurity på CentOS 6

I den här artikeln kommer jag att förklara hur man bygger en LEMP-stack skyddad av ModSecurity. ModSecurity är en webbapplikationsbrandvägg med öppen källkod som är användbar för att skydda mot injektioner, PHP-attacker och mer. Om du vill ställa in NGINX med ModSecurity, fortsätt att läsa.

Alla steg i den här artikeln kräver root-åtkomst.

Steg 1: Installera förutsättningarna

Om du inte redan kör som root-användare, eskalera dig själv:

/bin/su

Vi behöver en kompilator, så kör följande för att vara säker:

yum install -y gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel httpd-devel libxml2-devel xz-devel python-devel libcurl-devel
yum groupinstall -y 'Development Tools' 

För att installera NGINX måste vi först skaffa paketet. Ladda ner paketet:

cd /usr/src && wget http://nginx.org/download/nginx-1.9.9.tar.gz

Vi kommer också att kräva PHP-paketet för vår stack.

wget http://us2.php.net/distributions/php-5.6.16.tar.bz2

Eftersom vi installerar ModSecurity tar vi tag i källan och laddar ner den:

wget https://www.modsecurity.org/tarball/2.9.0/modsecurity-2.9.0.tar.gz

Nu, avtara/packa upp filerna.

tar xvf nginx-1.9.9.tar.gz
tar xvf php-5.6.16.tar.bz2
tar xvf modsecurity-2.9.0.tar.gz   

Sedan installerar vi ModSecurity.

cd /usr/src/modsecurity-2.9.0 && ./configure --enable-standalone-module --disable-mlogc
make && make install

Nu när vi har fått alla förutsättningar, låt oss installera NGINX. Följande uppsättning kommandon är för installation av NGINX och ModSecurity.

cd /usr/src/nginx-1.9.9 && ./configure --add-module=../modsecurity-2.9.0/nginx/modsecurity/
make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx

Låt oss nu installera MySQL-servern.

yum install -y mysql-server
service mysqld start
mysql_secure_installation

För mysql_secure_installationkommandot:

  • Tryck på enter i det första steget i installationsguiden.
  • Skriv in Y när du tillfrågas om ett nytt MySQL root-lösenord ska ställas in.
  • Skriv ett nytt lösenord, bekräfta genom att skriva det igen.
  • Tryck på Y för att ta bort anonyma användare, tillåt fjärrrotåtkomst till MySQL genom att trycka på Y igen.
  • Tryck på Y en sista gång för att ta bort testdatabasen/användaren.
  • Tryck slutligen på Y för att spara dina ändringar.

En sista sak att installera, och det är PHP. I den här artikeln kommer vi att installera PHP från källan.

Ange källkatalogen för PHP.

cd /usr/src/php-5.6.16

Konfigurera nu PHP. Följande argument i ./configurekommandot finns där så att du kan köra applikationer som WordPress.

 ./configure --with-pear=/usr/lib/pear --enable-libxml --with-pdo-mysql --with-mysqli --with-mysql --enable-mbstring --with-curl
 make
 make install

Installera PHP-FPM för NGINX:

yum install -y php-fpm

Vi måste installera PHP-FPM ovanpå själva PHP eftersom NGINX själv inte integrerar direkt med PHP. Istället skickar NGINX PHP-bearbetning till PHP-FPM för att exekvera våra skript.

Bra jobbat! Du har installerat förutsättningarna.

Steg 2: Konfigurera ModSecurity/NGINX

Låt oss börja med att bygga en ModSecurity-regeluppsättning. ModSecurity gör ingenting av sig själv förrän du konfigurerar det.

Ta OWASP-regeluppsättningen från deras webbplats:

 cd /usr/src && wget https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master
 tar xvf master

När du har laddat ner regeluppsättningen kommer vi att kombinera standardkonfigurationen med basreglerna.

cd SpiderLabs-owasp-modsecurity-crs-60c8bc9
cp /usr/src/modsecurity-2.9.0/modsecurity.conf-recommended /usr/local/nginx/conf/modsecurity.conf
cp /usr/src/modsecurity-2.9.0/unicode.mapping /usr/local/nginx/conf/
cat base_rules/*.conf >> /usr/local/nginx/conf/modsecurity.conf
cp base_rules/*.data /usr/local/nginx/conf

I teorin borde detta skydda mot de flesta webbexploatörer. Men plugins/koden du installerar bör också granskas, för även om ModSecurity är en utmärkt säkerhetsåtgärd, är den inte skottsäker.

Skapa en katalog på /var/www:

mkdir /var/www

Och en katalog för din virtuella värd:

mkdir /var/www/yourwebsite.com

Slutligen, lägg till följande till din NGINX-konfiguration som finns på /usr/local/nginx/conf/nginx.conf. Se till att du lägger till denna konfiguration innan den sista }symbolen uppträder.

  server {
  listen   80;
  root /var/www/yourwebsite.com;
  index index.php index.html index.htm;
  server_name yourwebsite.com www.yourwebsite.com;
  location / {
  ModSecurityEnabled on;
  ModSecurityConfig /usr/local/nginx/modsecurity.conf;
  }
  }

  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

Steg 3: Starta PHP-FPM och NGINX

Det här steget är ganska enkelt - allt du behöver göra är att utföra följande kommandon.

service php-fpm start
/usr/sbin/nginx

Grattis! Du har konfigurerat din första webbplats med NGINX skyddad av ModSecurity. För ytterligare läsning om ModSecurity, besök deras officiella webbplats .

Lämna en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer