Sett opp NGINX med ModSecurity på CentOS 6

I denne artikkelen vil jeg forklare hvordan du bygger en LEMP-stack beskyttet av ModSecurity. ModSecurity er en åpen kildekode-brannmur for nettapplikasjoner som er nyttig for å beskytte mot injeksjoner, PHP-angrep og mer. Hvis du vil sette opp NGINX med ModSecurity, fortsett å lese.

Alle trinn i denne artikkelen krever root-tilgang.

Trinn 1: Installere forutsetningene

Hvis du ikke allerede kjører som root-bruker, kan du eskalere deg selv:

/bin/su

Vi trenger en kompilator, så kjør følgende for å være sikker:

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' 

For å installere NGINX, må vi først få tak i pakken. Last ned pakken:

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

Vi vil også kreve PHP-pakken for stabelen vår.

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

Siden vi installerer ModSecurity, henter vi kilden og laster den ned:

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

Nå, løs/pak ut filene.

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

Deretter installerer vi ModSecurity.

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

Nå som vi har fått alle forutsetningene, la oss installere NGINX. Følgende sett med kommandoer er for installasjon av NGINX og 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

La oss nå installere MySQL-serveren.

yum install -y mysql-server
service mysqld start
mysql_secure_installation

For mysql_secure_installationkommandoen:

  • Trykk enter på det første trinnet i installasjonsveiviseren.
  • Skriv inn Y ​​når du blir bedt om et nytt MySQL root-passord skal angis.
  • Skriv inn et nytt passord, bekreft ved å skrive det på nytt.
  • Trykk Y for å fjerne anonyme brukere, ikke tillat ekstern rottilgang til MySQL ved å trykke Y igjen.
  • Trykk Y en siste gang for å fjerne testdatabasen/brukeren.
  • Til slutt trykker du på Y for å lagre endringene.

En siste ting å installere, og det er PHP. I denne artikkelen skal vi installere PHP fra kilden.

Skriv inn kildekatalogen for PHP.

cd /usr/src/php-5.6.16

Nå, konfigurer PHP. Følgende argumenter i ./configurekommandoen er der slik at du kan kjøre applikasjoner som WordPress.

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

Installer PHP-FPM for NGINX:

yum install -y php-fpm

Vi må installere PHP-FPM på toppen av selve PHP fordi NGINX selv ikke integreres direkte med PHP. I stedet sender NGINX PHP-behandling over til PHP-FPM for å utføre skriptene våre.

Godt jobbet! Du har installert forutsetningene.

Trinn 2: Konfigurere ModSecurity/NGINX

La oss starte med å bygge et ModSecurity-regelsett. ModSecurity gjør ingenting av seg selv før du konfigurerer det.

Ta tak i OWASP-regelsettet fra nettstedet deres:

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

Etter at du har lastet ned regelsettet, kombinerer vi standardkonfigurasjonen med basisreglene.

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 teorien skal dette beskytte mot de fleste nettutnyttelser. Men pluginene/koden du installerer bør også revideres, for selv om ModSecurity er et utmerket sikkerhetstiltak, er det ikke skuddsikkert.

Opprett en katalog på /var/www:

mkdir /var/www

Og en katalog for den virtuelle verten din:

mkdir /var/www/yourwebsite.com

Til slutt, legg til følgende til NGINX-konfigurasjonen som ligger på /usr/local/nginx/conf/nginx.conf. Pass på at du legger til denne konfigurasjonen før forekomsten av det siste }symbolet.

  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;
  }
}

Trinn 3: Start av PHP-FPM og NGINX

Dette trinnet er ganske enkelt - alt du trenger å gjøre er å utføre følgende kommandoer.

service php-fpm start
/usr/sbin/nginx

Gratulerer! Du har satt opp ditt første nettsted med NGINX beskyttet av ModSecurity. For ytterligere lesing om ModSecurity, besøk deres offisielle side .

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer