Mettere in sicurezza Apache2 su Ubuntu/Debian

Oggi vedremo come mettere in sicurezza Apache2 su Ubuntu e Debian.

Questo tutorial e’ valido per:

  • Apache 2.2.x e Apache 2.4.x
  • Ubuntu 18.04 LTS (Bionic), Ubuntu 20.04 LTS (Focal), Ubuntu 20.10 (Groovy), Ubuntu 21.04 (hirsute), Ubuntu 21.10 (Impish)
  • Debian 9 (Stretch), Debian 10 (Buster), Debian 11 (Bullseye), Debian 12 (Bookworm), Debian Unstable (Sid).

Per vedere la versione del sistema operativo del server in uso digitare:

lsb_release -a

Per vedere la versione di Apache2 in uso:

apache2 -v

Verifichiamo se il modulo di sicurezza e’ attivo:

sudo ls /etc/apache2/conf-enabled

In alcuni casi questo modulo e’ gia’ attivo di default, in questo caso passsare oltre.

Abilitare modulo di sicurezza Apache:

sudo a2enconf
systemctl reload apache2
sudo ls /etc/apache2/conf-enabled

Ora possiamo modificare il file di configurazione:

sudo nano /etc/apache2/conf-enabled/security.conf

Andiamo a ridurre il fingerprint settando il parametro:

ServerTokens Minimal

Riduciamo il fingerpirnt anche sulle pagine di errore con il parametro:

ServerSignature Off

TraceEnable e’ gia’ off per default.

Abilitiamo no sniff:

Header set X-Content-Type-Options: "nosniff"

Abilitaimo sameorigin su X-Frame-Options:

Header set X-Frame-Options: "sameorigin"

Fatto!

Ora verifichiamo com’erano prima gli header:

curl -I http://localhost

Riavviamo apache per applicare le modifiche:

sudo systemctl restart apache2

Ora eseguiamo i comandi per vedere i nuovi header securizzati:

curl -I http://localhost

NOTA BENE: Per attivare la sicurezza sugli heders, deve essere attivato il relativo modulo apache.

Per attivare/disattivare i moduli di Apache relativi alla sicurezza, leggi: sicurezza dei moduli Apache.

Documentazione: