Controllo degli accessi
Apache fornisce diversi strumenti per il controllo degli accessi ai dati che serve via HTTP.
Controllo sulla base di IP sorgente e metodi
Le direttive allow
e deny
permettono di definire quali host o indirizzi possono o non possono accedere alle risorse identificate da un container, secondo un order
impostato.
Esempio per permettere l'accesso ad un area di amministrazione solo da certi indirizzi:
<Location /admin>
order deny,allow
deny from all
allow from 127.0.0.1 192.168.208 10.0.0.0/8 192.168.215.0/255.255.249.0
</Directory>
Autenticazione degli utenti
Esistono diversi metodi con cui Apache puņ richiedere l'autenticazione dell'utente e diversi backend a cui appoggiarsi per il controllo di login e password.
Alcune delle direttive coinvolte cambiano a seconda del database utilizzato, altre sono comuni:
AuthName "Accesso Riservato"
- Definisce il nome che compare sulla finestra di pop up con la richiesta di login e password
AuthType Basic | Digest
- Imposta il tipo di autenticazione (Basic o Digest)
Auth???UserFile /path/to/user/file
- I ??? cambiano a seconda del backend utilizzato. Serve per indicare il file che contiene login e password. Per backend basati su ldap o database relazionali esistono sintassi diverse.
Auth???GroupFile /path/to/group/file
- Indica un file in cui č possibile definire gruppi di utenti.
require valid-user | user utente1 utente2... | group gruppo1 gruppo2 ...
- Imposta il requisito di avere un qualsiasi utente autenticato o specifici utenti o gruppi.
Auth???Authoritative on | off
- Attiva il meccanismo di autenticazione indicato.
Per gestire i file delle password esistono diversi strumenti: htpasswd
, dbmmanage
, htdigest
.