Product SiteDocumentation Site

5.8. Proteggere Apache

FIXME:Aggiungere contenuto: moduli forniti con la normale installazione di Apache (in /usr/lib/apache/X.X/mod_*) e moduli che possono essere installati separatamente dai pacchetti libapache-mod-XXX.
Potete limitare l'accesso al server Apache se volete utilizzarlo solo internamente, impedendo che vi accedano estranei (per eseguire dei test, per accedere all'archivio doc-central, ecc.). A tale proposito, usate in /etc/apache/http.conf le direttive Listen o BindAddress.
Se usate Listen:
Listen 127.0.0.1:80
Se usate BindAddress:
BindAddress 127.0.0.1
Quindi, riavviate Apache con /etc/init.d/apache restart e vedrete che ascolterà solamente sull'interfaccia di loopback.
In ogni caso, se non utilizzate tutte le funzionalità di Apache, potreste considerare altri web server forniti da Debian, come dhttpd.
La http://httpd.apache.org/docs/misc/security_tips.html informa sulle misure di sicurezza che dovreste adottare per un server di rete Apache (Debian dà questa stessa informazione con il pacchetto apache-doc).
Maggiori informazioni su come limitare ulteriormente l'accesso ad Apache, impostando una gabbia di tipo chroot, le trovate in Sezione B.7.3, «Chroot environment for Apache».

5.8.1. Impedire agli utenti la divulgazione di contenuti di rete

L'installazione predefinita di Apache consente agli utenti di pubblicare contenuti in $HOME/public_html. Tali contenuti possono essere raggiunti in remoto impiegando un'URL come: http://your_apache_server/~user.
Se volete impedirlo, occorre modificare il file di configurazione /etc/apache/http.conf commentando (in Apache 1.3) la riga:
LoadModule userdir_module /usr/lib/apache/1.3/mod_userdir.so
Nel caso usiate Apache 2.0 dovrete cancellare il file /etc/apache2/mods-enabled/userdir.load o rendere più restrittiva la configurazione predefinita di Apache modificando il file /etc/apache2/mods-enabled/userdir.conf.
Però, se il modulo fosse stato compilato staticamente (cosa che si può verificare lanciando apache -l), dovreste aggiungere la seguente riga al file di configurazione di Apache:
Userdir disabled
Un attaccante, però, può ancora eseguire il conteggio degli utenti, dal momento che la risposta del server di rete sarà un 403 Permission Denied e non un 404 Not available. Tuttavia questo comportamento può essere evitato utilizzando il modulo Rewrite.

5.8.2. Permessi sui file di log

I file di log di Apache, dalla versione 1.3.22-1, sono proprietà dell'utente 'root' e del gruppo 'adm', con permessi 640. Questi permessi vengono cambiati a rotazione. Senza un ampliamento dei privilegi, un intruso che abbia avuto accesso al sistema attraverso il server di rete non potrebbe eliminare voci vecchie dei file di log.

5.8.3. Pubblicare file web

I file di Apache si trovano in /var/www. Subito dopo l'installazione, il file predefinito fornisce alcune informazioni sul sistema (principalmente sul fatto che si tratta di un sistema Debian su cui è attivo Apache). Le pagine web predefinite vengono impostate per definizione come proprietà dell'utente root e del gruppo root, mentre il processo Apache viene eseguito come utente www-data e gruppo www-data. Questo dovrebbe rendere più difficile agli attaccanti, che hanno compromesso il sistema mediante Apache, di defacciare il sito web. È importante sostituire le pagine predefinite mostrate da Apache con pagine bianche o comunque personalizzate perché potrebbero fornire informazioni utili agli attaccanti.