venerdì, Dicembre 27, 2024

Autenticazione utenti con Apache e LDAP

Alessandro Pensato
Alessandro Pensatohttp://www.alessandro-pensato.it
Ciao a tutti, sono Alessandro, sono nato a Palermo il 24/01/1983 e vivo a qualche chilometro dalla città. Da anni coltivo la passione per i computer e tutto quello che ci sta attorno, con un occhio di riguardo per il mondo delle reti. Nel 2000 mi avvicino al mondo di Linux e ne resto impressionato da ciò che consente di fare, nonchè alla filosofia dell’opensource. Nel Aprile 2005 ho conseguito la certificazione Cisco CCNA. Da Novembre 2006 sono membro del CUG. Ho completato il corso HP IT Essential I e II e Cisco Network Security. Ho svolto uno stage presso Jump2Future dove mi sono occupato di redigere una ralazione per la realizzazione di un cluster basato su RedHat GFS (Global File System). Lavoro per l’IBIM-CNR di Palermo dal 2002 come tecnico informatico e gestione rete. Sto cominciando ad acquisire conoscenze nel campo del VoIP con software quali Trixbox e Elastix, realizzazione e uso di macchine virtuali basate su VMWare.

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.

Articoli correlati

Noleggia una Tesla per il tuo evento ICT!

Categorie