Installazione Modulo di Apache per la protezione contro DOS/DDOS su CentOS 7
In questo tutorial andremo ad installare in un ambiente LAMP il mod_evasive su CentOS 7, il modulo in questione ci permetterà di proteggere il server contro attacchi Denial of Service (DOS) e Distributed Denial of Service (DDOS).
Consideriamo di partire da una macchina CentOS 7 con ambiente LAMP preinstallato ( per l’installazione seguire questo articolo), aggiorniamo il sistema
yum update
yum install httpd wget perl
installiamo il repository
cd
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
installiamo il mod_evasive
yum install mod_evasive
Il file di configurazione del modulo è in questo percorso
ls -al /etc/httpd/conf.d/mod_evasive.conf
Per verificare che il modulo è correttamente installato
httpd -M | grep evasive
evasive20_module (shared)
systemctl restart httpd
systemctl enable httpd
La configurazione del modulo è abbastanza intuitiva, modifichiamo il file di configurazione
vim /etc/httpd/conf.d/mod_evasive.conf
le principali direttive da impostare nel file di configurazione sono:
DOSEmailNotify soc@soc.com
notifica tramite email di eventuali attacchi
DOSWhitelist 123.123.123.123
possibilità di poter creare una whitelist, esistono anche altri paramentri come il ban dopo un numero di tentativi, il tempo di blocco di un ip ed altro.
Per poter avere un log separato dai classici di Apache, inserire la direttiva
DOSLogDir “/var/log/mod_evasive”
concedendo i permessi alla cartella
mkdir /var/log/mod_evasive
chown -R apache:apache /var/log/mod_evasive