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.