Premessa
In alcuni casi può essere necessario restringere l’accesso a delle aree presenti sul nostro server web, per esempio se si utilizzano pagine interattive per la gestione dei servizi come phpMyAdmin, oppure script per la raccorla/visualizzazione di statistiche. In questi casi è possibile, oltre che con le restrizioni in base all’indirizzo ip del client, utilizzare un database contenenti le credenziali di accesso per gli utenti. In questo caso facciamo riferimento ad un database LDAP precedentemente creato per l’utilizzo di Samba, e all’uso di Apache 2.2.
Configurazione dei moduli Apache
Per prima cosa occorre attivare i moduli ldap necessari ad integrare Apache e LDAP. I moduli in questione sono ldap e authnz_ldap, attiviamoli entrambi:
a2enmod ldap a2enmod authnz_ldap
Creazione della directory protetta
Creiamo una cartella che conterrà le directory/pagine da proteggere tramite autenticazione. In questo esempio creiamo la pagina index.html dentro la directory /ldap, che ci confermerà l’avvenuta autenticazione.
mkdir /var/www/ldap chown -R www-data.www-data /var/www/ldap
Configurazione di Apache
Configuriamo Apache per utilizzare e connettersi al server LDAP. Agiremo sul file di configurazione installato insieme ad Apache. Dopo la modifica si rende necessario riavviare il servizio per rendere effettive le modifiche appena apportate.
nano /etc/apache2/sites-enabled/000-default
# LDAP Authentication
LDAPSharedCacheSize 200000
LDAPCacheEntries 1024
LDAPCacheTTL 600
LDAPOpCacheEntries 1024
LDAPOpCacheTTL 600
<Location /ldap>
Options Indexes FollowSymLinks
#AllowOverride None
order allow,deny
Allow from all
AuthType Basic
AuthName "Internal LDAP Authentication"
AuthBasicAuthoritative off
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldap://ldap.ced.local/dc=ced,dc=local?uid??
require valid-user
AuthLDAPBindDN cn=admin,dc=ced,dc=local
AuthLDAPBindPassword password
</Location>
Occorre riavviare Apache per rendere effettive le modifiche appena apportate.
/etc/init.d/apache2 restart
Verifica
Digitando sul browser l’url che punta alla nostra cartella protetta ci verrà mostrata una finestra dove inserire username e password di un qualsiasi utente contenuto nel db LDAP.
