1.8 KiB
1.8 KiB
Blocco directory listing su accesso via IP
Problema verificato:
curl -k https://129.152.31.221/
Risposta non desiderata:
200 OK
Index of /
L'accesso diretto all'IP non deve mostrare /var/www o l'elenco dei file.
Correzione rapida
Sul server Linux:
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak.$(date +%Y%m%d-%H%M%S)
sudo sed -i 's/Options Indexes FollowSymLinks/Options -Indexes +FollowSymLinks/g' /etc/apache2/apache2.conf
sudo apache2ctl configtest
sudo systemctl reload apache2
Verifica:
curl -k -I https://129.152.31.221/
Il risultato atteso non deve essere 200 OK con directory listing. Un 403 Forbidden
e accettabile per l'accesso diretto via IP.
Correzione consigliata
Creare un virtual host di default che blocchi ogni richiesta non associata ai domini configurati.
File:
/etc/apache2/sites-available/000-ip-block.conf
Contenuto HTTP:
<VirtualHost *:80>
ServerName 129.152.31.221
Redirect 301 / https://www.clinicaveterinariaformiginese.it/
</VirtualHost>
Per HTTPS, se sul server e gia attivo un certificato valido per il dominio principale, si puo creare un virtual host catch-all usando gli stessi certificati e restituire 403:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName 129.152.31.221
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/www.clinicaveterinariaformiginese.it/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.clinicaveterinariaformiginese.it/privkey.pem
<Location />
Require all denied
</Location>
</VirtualHost>
</IfModule>
Attivazione:
sudo a2ensite 000-ip-block.conf
sudo apache2ctl configtest
sudo systemctl reload apache2
Verifiche:
curl -k -I https://129.152.31.221/
curl -I https://www.clinicaveterinariaformiginese.it/