Installa NGINX con ModSecurity su CentOS 6

In questo articolo, spiegherò come creare uno stack LEMP protetto da ModSecurity. ModSecurity è un firewall per applicazioni Web open source utile per proteggere da iniezioni, attacchi PHP e altro. Se desideri configurare NGINX con ModSecurity, continua a leggere.

Tutti i passaggi di questo articolo richiedono l'accesso come root.

Passaggio 1: installazione dei prerequisiti

Se non sei già in esecuzione come utente root, intensifica te stesso:

/bin/su

Abbiamo bisogno di un compilatore, quindi eseguire quanto segue per assicurarsi:

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' 

Per installare NGINX, dobbiamo prima ottenere il pacchetto. Scarica il pacchetto:

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

Richiederemo anche il pacchetto PHP per il nostro stack.

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

Poiché stiamo installando ModSecurity, afferreremo il sorgente e lo scariceremo:

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

Ora decomprimere / decomprimere i file.

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

Quindi, installeremo ModSecurity.

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

Ora che abbiamo ottenuto tutti i prerequisiti, installiamo NGINX. Il seguente set di comandi riguarda l'installazione di NGINX e 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

Ora installiamo il server MySQL.

yum install -y mysql-server
service mysqld start
mysql_secure_installation

Per il mysql_secure_installationcomando:

  • Premi invio sul primo passaggio della procedura guidata di installazione.
  • Digitare Y quando viene richiesto se è necessario impostare una nuova password di root di MySQL.
  • Digita una nuova password, conferma digitandola di nuovo.
  • Premi Y per rimuovere utenti anonimi, impedisci l'accesso remoto remoto a MySQL premendo di nuovo Y.
  • Premere Y un'ultima volta per rimuovere il database / utente di prova.
  • Infine, premi Y per salvare le modifiche.

Un'ultima cosa da installare, ed è PHP. In questo articolo, installeremo PHP dal sorgente.

Immettere la directory di origine per PHP.

cd /usr/src/php-5.6.16

Ora configura PHP. I seguenti argomenti nel ./configurecomando sono lì in modo da poter eseguire applicazioni come WordPress.

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

Installa PHP-FPM per NGINX:

yum install -y php-fpm

Dobbiamo installare PHP-FPM sopra PHP stesso perché NGINX stesso non si integra direttamente con PHP. Invece, NGINX passa l'elaborazione PHP a PHP-FPM per eseguire i nostri script.

Buon lavoro! Hai installato i prerequisiti.

Passaggio 2: configurazione di ModSecurity / NGINX

Cominciamo costruendo un set di regole ModSecurity. ModSecurity non fa nulla da solo finché non lo si configura.

Prendi il set di regole OWASP dal loro sito Web:

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

Dopo aver scaricato il set di regole, combineremo la configurazione predefinita con le regole di base.

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

In teoria, ciò dovrebbe proteggere dalla maggior parte degli exploit Web. Tuttavia, anche i plugin / codice installati devono essere controllati, poiché mentre ModSecurity è un'eccellente misura di sicurezza, non è a prova di proiettile.

Crea una directory su /var/www:

mkdir /var/www

E una directory per il tuo host virtuale:

mkdir /var/www/yourwebsite.com

Infine, aggiungi quanto segue alla tua configurazione NGINX situata in /usr/local/nginx/conf/nginx.conf. Assicurati di aggiungere questa configurazione prima del verificarsi dell'ultimo }simbolo.

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

Passaggio 3: avvio di PHP-FPM e NGINX

Questo passaggio è abbastanza semplice: tutto ciò che devi fare è eseguire i seguenti comandi.

service php-fpm start
/usr/sbin/nginx

Congratulazioni! Hai configurato il tuo primo sito Web con NGINX protetto da ModSecurity. Per ulteriori informazioni su ModSecurity, visitare il loro sito ufficiale .

Lascia un commento

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.