martedì 3 luglio 2018

Disabilitare directory listing WAMP (apache)

Se si vuole aumentare la sicurezza del proprio webserver, una prassi molto collaudata è quella di disabilitare il directory listing.
Il directory listing è infatti quell'opzione, solitamente impostata a true di default, che consente a chi accede tramite web ad una directory presente su di un sito web, di vedere il suo contenuto come se si stesse vedendo una cartella di esplora risorse.
Con questa modalità attiva infatti, il server mostra tutte le cartelle ed i file presenti nelle directory navigate, andando dunque a ridurre la privacy e la sicurezza dei vari siti internet.

Vediamo dunque come agire su apache, in modo tale da impedire che chiunque possa leggere (ad esempio) l'elenco delle immagini che abbiamo su di un nostro sito.


Come disabilitare il directory listing di apache su WAMP apache


La seguente guida è stata pensata per wamp, quindi per i siti che girano sotto windows, tuttavia, andando a modificare il file di configurazione di apache, il seguente tutorial è valido anche per lamp e per i server linux, o in generale per qualsiasi webserver che utilizza apache.

Per poter impedire di sfogliare le cartelle su wamp, basta andare a modificare il file di configurazione di apache, il famoso httpd.conf.

Se non sai dove si trova questo file, basta cliccare con il tasto sinistro sull'icona di wamp, poi cliccare su apache e poi su httpd.conf.

Adesso dobbiamo andare a cercare nella sezione <Directory "${INSTALL_DIR}/www/">, una riga che può contenere una sintassi del genere: Options +Indexes +FollowSymLinks +Multiviews.

Commentiamo questa riga con il cancelletto e sostituiamola con:

Options -Indexes

Volendo potremmo lasciare tutto invariato, ed impostare solo il comando che blocca lo sfoglia cartelle, ovvero il -Indexes.

In realtà però, questo potrebbe non bastare, dato che apache può usare virtual hosts con configurazioni diverse per ogni sito.
Andiamo dunque a cercare la stringa Options che vogliamo modificare, all'interno del file httpd-vhosts.conf, sempre raggiungibile tramite tasto sinistro di wamp su apache.

Disabilitare directory listing WAMP (apache)

Ecco un esempio di sintassi, prima e dopo il blocco del directory listing:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot c:/wamp/www
    <Directory  "c:/wamp/www/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>


Dopo:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot c:/wamp/www
    <Directory  "c:/wamp/www/">
        Options -Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>


Ora, riavviamo apache per ottenere nelle cartelle senza index, il seguente messaggio di blocco:
Forbidden You don't have permission to access /cartella/ on this server.

Se poi sei un programmatore di vecchia data, tutto questo potrebbe risultare solo un dipiù, dato che sicuramente avrai messo in ogni cartella almeno un index.html che fa la redirect alla root del sito, e che quindi di fatto impedisce il directory listing delle cartelle sensibili.

Piaciuto l'articolo? Lascia un commento!

EmoticonEmoticon