Come installare e configurare ModSecurity con Apache su Debian/Ubuntu
Apache il web server è altamente personalizzabile e può essere configurato in diversi modi per soddisfare le tue esigenze. Esistono molti moduli di terze parti che puoi utilizzare per configurare Apache secondo le tue preferenze.
ModSecurity è un open source WAF (Firewall per applicazioni Web) nativo del server web Apache. Inizialmente era solo un modulo Apache, ma nel corso dell’anno è cresciuto fino a diventare un firewall per app Web a tutti gli effetti. Ora è supportato da Nginx e persino IIS.
ModSecurity controlla le richieste in entrata al server web rispetto a un insieme predefinito di regole. In genere, fornisce una serie di regole note come CRS (Insieme di regole fondamentali) che proteggono un sito Web da una serie di attacchi alle applicazioni Web come SQL injection, XSS e dirottamento di sessione tra gli altri exploit.
(Ti potrebbe interessare anche: 5 strumenti per scansionare un server Linux alla ricerca di malware e rootkit)
IL ModSecurity il firewall dell’applicazione costituisce parte integrante di PCIDSS conformità nella protezione dei siti da attacchi esterni. Quando il modulo è abilitato, attiva un “403 Forbidden Error” che implica semplicemente che non hai autorizzazioni sufficienti per accedere alla risorsa sul server web.
In questa guida ti mostreremo come impostare e configurare ModSecurity lavorare con Apache SU Debian E Ubuntu Linux.
Passaggio 1: installa ModSecurity su Ubuntu
Il primo passo è installare ModSecurity. Inizieremo innanzitutto aggiornando l’elenco dei pacchetti come segue:
$ sudo apt update
Successivamente, installa il file ModSecurity pacchetto insieme ad altre dipendenze e librerie.
$ sudo apt install libapache2-mod-security2
Successivamente, abilita il modulo.
$ sudo a2enmod security2
Quindi riavviare il server web Apache per applicare le modifiche.
$ sudo systemctl restart apache2
A questo punto, ModSecurity è installato con successo. Ora configuriamolo.
Passaggio 2: configura ModSecurity in Ubuntu
Per impostazione predefinita, ModSecurity è configurato solo per rilevare e registrare attività sospette. Dobbiamo fare un ulteriore passo avanti e configurarlo non solo per rilevare ma anche per bloccare attività sospette.
Copia, l’impostazione predefinita ModSecurity file di configurazione – consigliato modsecurity.conf – in un nuovo file come fornito nel comando seguente.
$ sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
Utilizzando il tuo editor di testo preferito, apri il file
$ sudo nano /etc/modsecurity/modsecurity.conf
Individua la linea:
SecRuleEngine DetectionOnly
Impostalo su:
SecRuleEngine On
Salvare le modifiche ed uscire dal file.
Per applicare le modifiche in Apacheriavviare il server web.
$ sudo systemctl restart apache2
Passaggio 3: Scarica il set di regole principali di OWASP ModSecurity
Il passaggio successivo è scaricare l’ultima versione OWASP ModSecurity Core Rule Set (CRS) dalla pagina GitHub.
Clona il repository git OWASP come mostrato.
$ git clone
Navigare nella directory.
$ cd coreruleset/
Assicurati di spostare il crs-setup.conf.esempio file nella directory modsecurity e rinominarlo come crs-setup.conf.
$ sudo mv crs-setup.conf.example /etc/modsecurity/crs-setup.conf
Inoltre, sposta il file regole directory in modsecurity anche la directory.
$ sudo mv rules/ /etc/modsecurity/
Successivamente, modifica il file security2.conf file.
$ sudo nano /etc/apache2/mods-enabled/security2.conf
Assicurati che contenga le seguenti righe.
IncludeOptional /etc/modsecurity/*.conf Include /etc/modsecurity/rules/*.conf
Quindi riavviare Apache affinché i cambiamenti persistano.
$ sudo systemctl restart apache2
Testiamo ora la nostra configurazione ModSecurity.
Passaggio 4: testare la configurazione di ModSecurity su Ubuntu
Infine, dobbiamo testarlo ModSecurity può rilevare e bloccare il traffico HTTP sospetto. Per raggiungere questo obiettivo, dobbiamo modificare il file host virtuale predefinito.
$ sudo nano /etc/apache2/sites-available/000-default.conf
Successivamente, creeremo una regola di blocco che bloccherà l’accesso a un determinato URL quando si accede da un browser web.
Aggiungi queste righe alla fine prima di ‘Host virtuale‘ tag di chiusura.
SecRuleEngine On SecRule ARGS:testparam "@contains test" "id:254,deny,status:403,msg:'Test Successful'"
Sentiti libero di impostare il ‘id‘ E ‘msg‘ tagga qualunque valore desiderabile.
Quindi riavviare il Apache webserver per applicare le modifiche apportate al file di configurazione dell’host virtuale.
$ sudo systemctl restart apache2
Sul tuo browser web, prova a visitare l’URL mostrato con ?testparam=test
alla fine.
http://server-ip/?testparam=test
Ottieni un ‘403 Errore non consentito’ indicando che ti è stato bloccato l’accesso alla risorsa.
È possibile verificare ulteriormente che il client sia stato bloccato controllando i log degli errori come segue.
$ cat /var/log/apache2/error.log | grep “Test Successful”
Questa è la conferma che abbiamo impostato con successo ModSecurity per rilevare e bloccare il traffico indesiderato. In questa guida ti abbiamo guidato attraverso il processo di configurazione ModSecurity con Apache SU Debian/Ubuntu sistemi.