In questa esercitazione si implementano alcune configurazioni che migliorano la sicurezza di Apache.
1- Negare di default la possibilità di fare l'override della configurazione tramite file .htaccess su ogni directory del proprio server.
2- Impedire la lettura diretta via Web del file .htaccess
. Ispirarsi alla conf di default di Apache, in caso di dubbio.
3- Negare di default la possibilità di fare un directory listing su ogni directory del server web.
4- Verificare che l'accesso alle location server-info e server-status, se attivato, sia solo tramite password o da indirizzi fidati
1- Inserire nella configurazione il codice sottostante ed, eventualmente abilitare l'Override su specifiche directory:
<Directory />
AllowOverride None
</Directory>
2- Inserire (dando per inteso che il nome del file per l'override della conf è .htaccess):
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
3- Inserire il seguente codice, eventualmente abilitando il directory listing su sottodirectory specifiche:
<Location />
Options -Indexes
</Location />
4- Verificare che sia presente nella configureazione qualcosa di analogo (sia per server-info che per server-status):
<Location server-status>
order deny,allow
deny from all
allow from 192.168.0
AuthName "Accesso riservato"
AuthType Basic
AuthUserFile /etc/httpd/accessi
require valid-user
Satisfy any
</Location>
Breve rassegna della security history, problematiche attuali. Security e siti dinamici.
Protezione file
Una possibile integrazione al punto n.2 sopra citato:
Order Allow,Deny
Deny from all
risulta particolarmente utile nel ristringere il campo d'azione nel download di file (in questo caso di bloccano i file con ext inc - conf).
PHP può essere utilizzato per controllare i download su una zona precedentemente circoscritta da Apache, utilizzando una delle tante possibilità offerte dal linguaggio: