Installazione ModSecurity (WAF) in ambiente LAMP su Ubuntu 17.10

In questo tutorial andremo ad installare il componente ModSecurity in un ambiente LAMP ( Linux Apache Mysql PHP) su Ubuntu 17.10.

Consideriamo di partire da un ambiente preinstallato LAMP su Ubuntu 17.10 ( segui questo articolo), aggiorniamo il sistema

sudo apt-get update

sudo apt-get upgrade

installiamo la libreria di Modsecurity su Apache

apt-get install libapache2-modsecurity

verifichiamo la presenza del modulo

apachectl -M | grep security

security2_module (shared)

ed iniziamo a configurarlo

cd /etc/modsecurity/

conserviamo la configurazione originale

cp modsecurity.conf-recommended modsecurity.conf

vim modsecurity.conf

dalla configurazione è possibile configurare il WAF (Web Application Firewall) in modalità IPS o IDS, di default è configurato solo per la rilevazione, quindi IDS.

Nel nostro tutorial andremo a impostare il WAF per bloccare attacchi malevoli quindi il parametro

SecRuleEngine DetectionOnly

lo imposteremo

SecRuleEngine On

associato al motore di prevenzione ci saranno le regole da applicare, per fare ciò scarichiamo direttamente da GitHub mod_security CRS (Core Rule Security)

sudo rm -rf /usr/share/modsecurity-crs

installiamo git

sudo apt-get install git

scarichiamo il CRS

git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git /usr/share/modsecurity-crs

Configuriamo adesso il tutto per funzionare con Apache

cd /usr/share/modsecurity-crs

cp crs-setup.conf.example crs-setup.conf

A questo punto configuriamo il Modsecurity per lavorare con le regole che abbiamo scaricato

cd /etc/apache2/mods-enabled

vim security2.conf

ed impostiamo la configurazione a considerare il percorso precedente dove sono situate le 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/*.conf
IncludeOptional “/usr/share/modsecurity-crs/*.conf
IncludeOptional “/usr/share/modsecurity-crs/rules/*.conf

# Include OWASP ModSecurity CRS rules if installed
#IncludeOptional /usr/share/modsecurity-crs/owasp-crs.load
</IfModule>

salviamo e riavviamo Apache

service apache2 restart

L’installazione del WAF è finita, esistono moltissime regole da poter applicare e la community è molto attiva per aggiornare le regole contro possibili attacchi.

Un test che per la verifica del funzionamento è la simulazione di un attacco XSS, installiamo prima il comando curl

sudo apt-get install curl

curl 'http://localhost/article.php?title=<meta%20http-equiv="refresh"%20content="0;">'

avremo la seguente risposta da parte del web server

<!DOCTYPE HTML PUBLIC “-//IETF//DTD HTML 2.0//EN”>
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don’t have permission to access /
on this server.<br />
</p>
<hr>
<address>Apache/2.4.27 (Ubuntu) Server at localhost Port 80</address>
</body></html>

accesso negato.

E’ possibile analizzare i log al seguente percorso

cd /var/log/apache2

tail -50f modsec_audit.log

mostrando l’attacco ricevuto

Message: Warning. Pattern match “(?:\\bhttp\\/(?:0\\.9|1\\.[01])|<(?:html|meta)\\b)” at ARGS:title. [file “/usr/share/modsecurity-crs/rules/REQUEST-921-PROTOCOL-ATTACK.conf”] [line “152”] [id “921130”] [rev “2”] [msg “HTTP Response Splitting Attack”] [data “Matched Data: <meta found within ARGS:title: <meta http-equiv=\x22refresh\x22 content=\x220;\x22>”] [severity “CRITICAL”] [ver “OWASP_CRS/3.0.0”] [maturity “9”] [accuracy “9”] [tag “application-multi”] [tag “language-multi”] [tag “platform-multi”] [tag “attack-protocol”]
Message: Warning. detected XSS using libinjection……

 

 

 

Potrebbero interessarti anche...

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi