ApacheAuthAD » Cronologia » Versione 10
« Precedente |
Versione 10/19
(diff)
| Successivo »
Simone Piccardi, 20-05-2024 15:29
Autenticazione su Active Directory per Apache¶
Per far eseguire ad Apache una autenticazione HTTP degli utenti appoggiandosi ad un server Active Directory si può utilizzare il supporto per l'autenticazione su LDAP fornito dai relativi moduli. Nel caso di Debian questi sono installati insieme al server, ma non sono abilitati di default, peranto andranno abilitati eseguendo i comandi:
a2enmod ldap a2enmod authnz_ldap
Il primo passo per la configurazione è verificare la raggiungibilità ed il funzionamento della connessione ad Active directory usando LDAP, Per questo possiamo usare il comando ldapsearch
(installabile su Debian con il pacchetto ldap-utils
, che consente di eseguire una interrogazione con:
ldapsearch -x -ZZ -H ldap://192.168.0.184 -D "CN=user,CN=Users,DC=example,DC=com" -b "DC=example,DC=com" -w password
dove @
Poniamo il caso di aver configurato direttamente ed unicamente un sito di default, questa è la configurazione di /etc/apache2/sites-available/default
:
NameVirtualHost * LDAPVerifyServerCert Off <VirtualHost *> ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On ServerAdmin xxx@yyy.zz <Location /myrepo > # Impostiamo il tipo di autenticazione su Basic (attenzione le password viaggiano in chiaro) AuthType Basic # Con questa direttiva diciamo ad apache che se Ldap non autentica l'utente non deve tentare altre autenticazioni AuthBasicProvider ldap AuthName "Qui mettiamo il titolo della finestra che appare per chiedere l'utente e la password" # Ora si definisce l'URL a cui indirizzare la richiesta LDAP # ed il relativo formato del tipo: scheme://host:port/basedn?attribute?scope?filter # L'URL di seguito riportato effettuera' una ricerca per tutti gli oggetti ricorsivamente a partire dal basedn # Effettua inoltre la validazione sull'attributo sAMAccountName AuthLDAPURL "ldap://servera/DC=mydomain,DC=com?sAMAccountName?sub?(objectClass=*)" # Active Directory requires an authenticating DN to access records # This is the DN used to bind to the directory service # This is an Active Directory user account AuthLDAPBindDN "mydomain\user" AuthLDAPBindPassword password AuthzLDAPAuthoritative on Require valid-user </Location> </VirtualHost>
Aggiornato da Simone Piccardi 7 mesi fa · 10 revisions