Konfigurer NGINX med ModSecurity på CentOS 6

I denne artikel vil jeg forklare, hvordan man bygger en LEMP-stak beskyttet af ModSecurity. ModSecurity er en open source-webapplikations firewall, der er nyttig til at beskytte mod injektioner, PHP-angreb og mere. Hvis du gerne vil opsætte NGINX med ModSecurity, skal du fortsætte med at læse.

Alle trin i denne artikel kræver root-adgang.

Trin 1: Installation af forudsætningerne

Hvis du ikke allerede kører som root-bruger, skal du eskalere dig selv:

/bin/su

Vi har brug for en compiler, så udfør følgende for at 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 at installere NGINX skal vi først hente pakken. Download pakken:

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

Vi vil også kræve PHP-pakken til vores stak.

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

Da vi installerer ModSecurity, henter vi kilden og downloader den:

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

Aftær/udpak nu filerne.

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

Derefter installerer vi ModSecurity.

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

Nu hvor vi har opnået alle forudsætningerne, lad os installere NGINX. Følgende sæt kommandoer er til installation af 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

Lad os nu installere MySQL-serveren.

yum install -y mysql-server
service mysqld start
mysql_secure_installation

For mysql_secure_installationkommandoen:

  • Tryk på enter på det første trin i installationsguiden.
  • Indtast Y, når du bliver bedt om det, hvis en ny MySQL root-adgangskode skal indstilles.
  • Indtast en ny adgangskode, bekræft ved at skrive den igen.
  • Tryk på Y for at fjerne anonyme brugere, forbyd ekstern rootadgang til MySQL ved at trykke på Y igen.
  • Tryk på Y en sidste gang for at fjerne testdatabasen/brugeren.
  • Til sidst skal du trykke på Y for at gemme dine ændringer.

En sidste ting at installere, og det er PHP. I denne artikel installerer vi PHP fra kilden.

Indtast kildebiblioteket for PHP.

cd /usr/src/php-5.6.16

Konfigurer nu PHP. Følgende argumenter i ./configurekommandoen er der, så du kan køre 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

Installer PHP-FPM til NGINX:

yum install -y php-fpm

Vi skal installere PHP-FPM oven på selve PHP, fordi NGINX selv ikke integrerer direkte med PHP. I stedet sender NGINX PHP-behandling over til PHP-FPM for at udføre vores scripts.

Godt arbejde! Du har installeret forudsætningerne.

Trin 2: Konfiguration af ModSecurity/NGINX

Lad os starte med at bygge et ModSecurity-regelsæt. ModSecurity gør intet af sig selv, før du konfigurerer det.

Grib OWASP regelsættet fra deres hjemmeside:

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

Når du har downloadet regelsættet, kombinerer vi standardkonfigurationen med basisreglerne.

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 skulle dette beskytte mod de fleste webudnyttelser. De plugins/koden du installerer bør dog også revideres, for selvom ModSecurity er en fremragende sikkerhedsforanstaltning, er den ikke skudsikker.

Opret en mappe på /var/www:

mkdir /var/www

Og en mappe til din virtuelle vært:

mkdir /var/www/yourwebsite.com

Til sidst skal du tilføje følgende til din NGINX-konfiguration placeret på /usr/local/nginx/conf/nginx.conf. Sørg for at tilføje denne konfiguration før forekomsten af ​​det sidste }symbol.

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

Trin 3: Start af PHP-FPM og NGINX

Dette trin er ret ligetil - alt du skal gøre er at udføre følgende kommandoer.

service php-fpm start
/usr/sbin/nginx

Tillykke! Du har konfigureret din første hjemmeside med NGINX beskyttet af ModSecurity. For yderligere læsning om ModSecurity, besøg deres officielle websted .

Efterlad 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 lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere