Hardening
Per eseguire un hardening efficace di un'applicazione web su stack LAMP (Linux, Apache, MySQL, PHP) su Ubuntu 24.04 consigliamo di seguire i seguenti passi suddivisi per i vari componenti dello stack.
Linux
Si consiglia di installare fail2ban in modo da bloccare tentativi di scansioni da parte di tool automatici / scanner di vulnerabilità.
Per farlo:
sudo apt install fail2ban
Verificate che il servizio sia attivo:
systemctl status fail2ban
Creare un file personalizzato che registri la definizione di un nuovo filtro in modo da bloccare l'ip sorgente della scansione.
Il filtro rileva gli status HTTP 404 e li riporta al motore di fail2ban per la valutazione
sudo nano /etc/fail2ban/filter.d/apache-404.conf
contenuto:
[Definition]
failregex = ^<HOST> .* "(GET|POST|HEAD|PUT).*" 404
ignoreregex =.*(robots.txt|favicon.ico|jpg|png|gif)
Attivare il filtro creato creando in file
sudo nano /etc/fail2ban/jail.local
con il seguente contenuto:
[apache-404]
enabled = true
port = http,https
filter = apache-404
action = iptables-allports[protocol=all, blocktype=DROP]
logpath = /var/log/apache2/access.log
bantime = 3600
findtime = 120
maxretry = 100
Nella configurazione sopra, se il filtro "apache-404" rileva un numero di tentativi uguale o superiore a "maxretry" nell'arco di "findtime" secondi, l'ip sorgente da cui arrivano le richieste web sarà bannato per "bantime" secondi.
Per bannato si intente l'applicazione della "action" ovvero il drop delle connessioni.