Progetto

Generale

Profilo

ApacheAuthAD » Cronologia » Versione 10

Simone Piccardi, 20-05-2024 15:29

1 8 Amministratore Truelite
h1. Autenticazione su Active Directory per Apache
2 1 Christopher R. Gabriel
3 10 Simone Piccardi
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:
4 1 Christopher R. Gabriel
5
<pre>
6
a2enmod ldap 
7
a2enmod authnz_ldap
8
</pre>
9 10 Simone Piccardi
10
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:
11
12
<pre>
13
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
14
</pre>
15
16
dove @
17 3 Amministratore Truelite
18 9 Simone Piccardi
Poniamo il caso di aver configurato direttamente ed unicamente un sito di default, questa è la configurazione di @/etc/apache2/sites-available/default@:
19 8 Amministratore Truelite
20 1 Christopher R. Gabriel
<pre>
21 9 Simone Piccardi
NameVirtualHost *
22 8 Amministratore Truelite
LDAPVerifyServerCert Off
23
<VirtualHost *>
24
	ErrorLog /var/log/apache2/error.log
25 9 Simone Piccardi
        LogLevel warn
26 4 Amministratore Truelite
	CustomLog /var/log/apache2/access.log combined
27
	ServerSignature On
28 9 Simone Piccardi
	ServerAdmin xxx@yyy.zz
29 4 Amministratore Truelite
	<Location /myrepo >
30
		# Impostiamo il tipo di autenticazione su Basic (attenzione le password viaggiano in chiaro)
31
          	AuthType Basic
32
		# Con questa direttiva diciamo ad apache che se Ldap non autentica l'utente non deve tentare altre autenticazioni
33 9 Simone Piccardi
		AuthBasicProvider ldap		
34 4 Amministratore Truelite
		AuthName "Qui mettiamo il titolo della finestra che appare per chiedere l'utente e la password"
35
		# Ora si definisce l'URL a cui indirizzare la richiesta LDAP
36 1 Christopher R. Gabriel
  		# ed il relativo formato del tipo: scheme://host:port/basedn?attribute?scope?filter
37 4 Amministratore Truelite
    		# L'URL di seguito riportato effettuera' una ricerca per tutti gli oggetti ricorsivamente a partire dal basedn
38
      		# Effettua inoltre la validazione sull'attributo sAMAccountName
39
        	AuthLDAPURL "ldap://servera/DC=mydomain,DC=com?sAMAccountName?sub?(objectClass=*)"
40
		# Active Directory requires an authenticating DN to access records
41
  		# This is the DN used to bind to the directory service
42
    		# This is an Active Directory user account
43
      		AuthLDAPBindDN "mydomain\user"
44
		AuthLDAPBindPassword password
45
		AuthzLDAPAuthoritative on
46
		Require valid-user
47
	</Location>
48
</VirtualHost>
49 9 Simone Piccardi
</pre>