In questo articolo, avremo spiegato i passaggi necessari per installare e configurare ModSecurity Apache su Ubuntu 20.04 LTS. Prima di continuare con questo tutorial, assicurati di aver effettuato l'accesso come utente con sudo
privilegi. Tutti i comandi in questo tutorial devono essere eseguiti come utente non root.
ModSecurity è il più noto firewall per applicazioni Web (WAF) open source, che fornisce una protezione completa per le tue applicazioni Web (come WordPress, Owncloud, Ghost, ecc.) contro un'ampia gamma di attacchi di livello 7 (HTTP), come SQL injection, cross-site scripting e inclusione di file locali. ModSecurity è un toolkit per il monitoraggio, la registrazione e il controllo degli accessi in tempo reale delle applicazioni Web.
Installa ModSecurity Apache su Ubuntu 20.04
Passaggio 1. Innanzitutto, prima di iniziare a installare qualsiasi pacchetto sul tuo server Ubuntu, ti consigliamo sempre di assicurarti che tutti i pacchetti di sistema siano aggiornati.
sudo apt update sudo apt upgrade
Passaggio 2. Installa ModSecurity sul sistema Ubuntu.
Esegui il comando per installarlo su Ubuntu:
sudo apt install libapache2-mod-security2
Riavvia Apache per rendere effettive le modifiche:
sudo systemctl restart apache2
Verifica che la versione di ModSecurity:
apt-cache show libapache2-modsecurity
Passaggio 3. Configura ModSecurity.
Ora sposta e cambia il nome del file ModSecurity predefinito:
sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
Successivamente, scarica OWASP ModSecurity CRS da Github:
cd ~ git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git
Dopodiché, sposta e rinomina crs-setup.conf.example
a crs-setup.conf
. Quindi sposta anche le regole/directory:
cd ~/owasp-modsecurity-crs sudo mv crs-setup.conf.example /etc/modsecurity/crs-setup.conf sudo mv rules/ /etc/modsecurity/
Avanti, apri questo file di configurazione:
sudo nano etc/apache2/mods-available/security2.conf
Aggiungi un'altra direttiva Include che punta al set di regole:
<IfModule security2_module> # Default Debian dir for modsecurity's persistent data SecDataDir /var/cache/modsecurity # Include all the *.conf files in /etc/modsecurity. # Keeping your local configuration in that directory # will allow for an easy upgrade of THIS file and # make your life easier IncludeOptional /etc/modsecurity/*.confInclude /etc/modsecurity/rules/*.conf </IfModule>
Riavvia Apache per rendere effettive le modifiche:
sudo systemctl restart apache2
Passaggio 4. Testa ModSecurity.
Apri la configurazione predefinita di Apache e aggiungi due direttive aggiuntive, usando la configurazione predefinita come esempio:
sudo nano /etc/apache2/sites-available/000-default.conf
Aggiungi il SecRuleEngine e SecRule direttive come mostrato di seguito:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SecRuleEngine On SecRule ARGS:modsecparam "@contains test" "id:4567,deny,status:403,msg:'ModSecurity test rule'" </VirtualHost>
Riavvia Apache per rendere effettive le modifiche:
sudo systemctl restart apache2
Avanti, curl
la pagina dell'indice per attivare intenzionalmente gli allarmi utilizzando quanto segue:
curl localhost/index.html?modsecparam=test
Il codice di risposta dovrebbe essere 403. Dovrebbe esserci un messaggio nei log che mostra che la regola ModSecurity definita ha funzionato. Dovresti aspettarti di ricevere un codice di risposta 403 e vedere la risposta dai log:
sudo tail -f /var/log/apache2/error.log
Questo è tutto ciò che devi fare per installare ModSecurity su Ubuntu 20.04 LTS Focal Fossa. Spero che tu possa trovare utile questo suggerimento rapido. Per ulteriori letture su ModSecurity Apache, fare riferimento alla loro knowledge base ufficiale. Se hai domande o suggerimenti, sentiti libero di lasciare un commento qui sotto.