Visualizzazione post con etichetta apache. Mostra tutti i post
Visualizzazione post con etichetta apache. Mostra tutti i post

mercoledì 19 agosto 2020

Come disabilitare il directory browsing su Apache?

Per disattivare il "Directory Browsing" su Apache2, ovvero la possibilità di visualizzare il contenuto di directory e subdirectory di un sito web tramite browser, ci sono 2 opzioni di seguito descritte.


Il motivo per disabilitare questa opzione principalmente è legato alla sicurezza del vostro server e del vostro sito web. Con il directory browsing abilitato, chiunque potrebbe visualizzare il contenuto (qualunque tipo di file) di una directory pubblicata sotto apache in mancanza di un file index.php o index.html.

Per ovviare a questo inconveniente vi propongo due soluzioni:

- tramite file .htaccess

- tramite modifica file di configurazione di Apache

Soluzione 1

Creare un file .htaccess all'interno della web root del vostro sito web e inseriteci la seguente riga:

Option -Indexes

Soluzione 2

Modificate direttamente il file di configurazione di Apache (nel mio caso) apache2.conf. come di seguito:

<Directory /var/www/>

        #Options Indexes FollowSymLinks

        Options FollowSymLinks

</Directory>

In pratica ho commentato e riscritto senza commento la riga evidenziata. Non vi dimenticate di restartare Apache dopo la modifica:

sudo systemctl restart apache2


sabato 18 aprile 2020

Come configurare Apache per utilizzare pagine di errore personalizzate.

Apache è il server web più utilizzato al mondo per tutta una serie di motivi tra cui spicca sicuramente anche la flessibilità. Può capitare che se siete sviluppatori, web designer, curiosi o altro abbiate l'esigenza di personalizzare ogni aspetto delle pagine del vistro sito web, comprese le pagine di errore.


Per associare ad ogni tipo di errore del nostro web server Apache una pagina personalizzata, possiamo utilizzare la direttiva "ErrorDocument" all'interno del file di configurazione dell'host, nel mio caso /etc/apache2/sites-enabled/default-ssl.conf perché utilizzo solo https, altrimenti avrei editato il file 000-default.conf, nel seguente modo:

<VirtualHost _default_:443>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    ErrorDocument 404 /custom_404.html
    ErrorDocument 500 /custom_50x.html
    ErrorDocument 502 /custom_50x.html
    ErrorDocument 503 /custom_50x.html
    ErrorDocument 504 /custom_50x.html

</VirtualHost>

Come potete vedere la struttura è la seguente: Direttiva (ErrorDocument), Tipo di errore (404 etc..), Path alla pagina custom (/custom_404.html etc..), questo comporta che ogni qualvolta si verificherà uno specifico errore, verranno restituite la vostre paginae personalizzate che in questo caso si trovano nella root del server web. Ovviamente sono file .html per cui potete dare ampio spazio alla vostra fantasia, ma fate sempre attenzione alla sicurezza soprattutto se avete in mente di utilizzare script e robe varie.

Testiamo la nuova configurazione con il comando:

sudo apache2ctl configtest

e non ci dimentichiamo di riavviare Apache con il comando:

sudo systemctl restart apache2.

Non ci resta che testare il tutto simulando pagine inesistenti attraverso il browser con un url tipo questa:

http://localhost/jshgjkhdg

Chest'è! (That's all)