Naxsi è un software che estende Nginx (modulo). Fornisce un WAF (Web Application Firewall) e protegge i siti da XSS e SQL injection, due vulnerabilità ben note. Secondo i suoi sviluppatori, Naxsi è un modulo a bassa manutenzione, quindi una volta installato dovresti vedere un notevole aumento della sicurezza del tuo sito senza troppi problemi.
In questo documento, vedrai come aggiungere il modulo Naxsi a un'installazione Nginx nuova o esistente su Ubuntu 14.04.
Passaggio 1A: installazione di Naxsi senza un'installazione Nginx esistente
Se non hai ancora installato Nginx sul tuo server, dovresti seguire questo passaggio. Se hai già un'installazione Nginx esistente, segui il passaggio 1B. Prima di installare Naxsi, potrebbe essere intelligente aggiornare il nostro sistema. Fallo eseguendo:
apt-get update
Successivamente, possiamo installare Naxsi. Usando apt-getper l'installazione, verranno installati Naxsi e le sue dipendenze. Naxsi verrà avviato automaticamente all'avvio.
apt-get install nginx-naxsi
Passaggio 1B: installazione di Naxsi con un'installazione Nginx esistente
Il passaggio 1A non può essere seguito nel caso in cui Nginx sia già installato, poiché il nginx-naxsipacchetto sarà Nginx + Naxsi. Se hai già Nginx e vuoi che Naxsi sia il migliore, in generale, la sostituzione del nginx-corepacchetto con il nginx-naxsipacchetto dovrebbe funzionare correttamente. È preferibile creare un backup preferibilmente dell'intero server e anche il /etc/nginx/backup della directory deve essere eseguito.
Se possibile, distribuire un nuovo server con un'installazione Nginx completamente nuova usando il nginx-naxsipacchetto. In caso contrario, eseguire il backup del server e digitare:
apt-get install nginx-naxsi
Questo dovrebbe installare Naxsi e sostituire Nginx esistente, ma conservare tutti i tuoi file.
Passaggio 2: modifica delle impostazioni di Naxsi
Per abilitare Naxsi, apri il file /etc/nginx/nginx.conf:
vi /etc/nginx/nginx.conf
e trova la seguente sezione:
# nginx-naxsi config
##
# Uncomment it if you installed nginx-naxsi
##
# include /etc/nginx/naxsi_core.rules;
Rimuovere il #davanti a includeper caricare le regole di Naxsi, che abiliteranno Naxsi. Dopo aver apportato tale modifica, la riga dovrebbe apparire così:
include /etc/nginx/naxsi_core.rules;
La configurazione di Naxsi è disponibile in /etc/nginx/naxsi.rules. Puoi vedere cosa fa e, facoltativamente, modificare alcune impostazioni, a seconda delle tue esigenze e del tipo di sito web che ospiti.
Dopo aver abilitato Naxsi e aver modificato la configurazione, dobbiamo abilitare manualmente Naxsi per il nostro sito predefinito. Aperto /etc/nginx/sites-enabled/default:
vi /etc/nginx/sites-enabled/default
Per abilitare Naxsi in questa posizione, rimuovere il #se presente, altrimenti lasciare la includelinea in quel modo e non aggiungere a #.
# Uncomment to enable naxsi on this location
include /etc/nginx/naxsi.rules;
Passaggio 3: disattivare la modalità di apprendimento
Per consentire a Naxsi di proteggere il tuo sito, dobbiamo disattivare la modalità di apprendimento. Aperto /etc/nginx/naxsi.rules:
vi /etc/nginx/naxsi.rules
Trova la stringa LearningModee posizionane una #davanti. Ciò commenta la linea e quindi disabilita la modalità di apprendimento nella configurazione.
Passaggio 4: riavvio di Naxsi
Riavvia Nginx per rendere effettive le modifiche:
service nginx reload
Ora puoi vedere tutti gli avvisi di sicurezza di Naxsi nel registro di Nginx:
tail -f /var/log/nginx/error.log