Autenticazione LDAP per WebDAV¶
Le direttive di configurazione di Apache per usare l'autenticazione su LDAP sono cambiate nel passaggio ad Apache 2.2 (quindi nel passaggio da Debian Sarge a Debian Etch), che ha rivoluzionato i meccanismi di autenticazione.
Questo comporta la necessità di effettuare diversi cambiamenti ad eventuali precedenti configurazioni che altrimenti sarebbero rimaste perfettamente funzionanti.
Anzitutto si devono abilitare i moduli di Apache per LDAP che nel caso specifico si può fare con i comandi:
a2enmod ldap a2enmod authnz_ldap
In particolare se si vuole consentire l'accesso autenticando gli utenti su un server LDAP remoto (da accedere in maniera sicura via SSL) si dovranno utilizzare:
- la direttiva
LDAPTrustedModeimpostata a SSL per impostare l'accesso SSL. - la direttiva
LDAPVerifyServerCertimpostata a off per bloccare la verifica del certificato del server (e semplificare la connessione, altrimenti si dovrà utilizzare una appropriata CA). - la direttiva
AuthBasicProviderper indicare (impostandola al valore ldap) di farsi dare i dati di autenticazione da LDAP. - la direttiva
AuthLDAPURLper impostare la URL del server LDAP ed il relativo ramo di albero da cui ricever i dati di autenticazione. - la direttiva
AuthzLDAPAuthoritativeimpostata ad off per bloccare l'uso esclusivo dei dati di LDAP e consentire così il funzionamento della ulteriore direttivarequire valid-user.
Un esempio di configurazione di un Virtual Host di default, utilizzato per fornire accesso WebDAV alla cartella /data di un server sotto la URI webdav è riportato qui di seguito:
NameVirtualHost *
LDAPTrustedMode SSL
LDAPVerifyServerCert Off
<VirtualHost *>
ServerAdmin webmaster@truelite.it
DocumentRoot /data/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /data/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
# Note Alias goes to our DocumentRoot.
Alias /webdav /data/
# But we apply different settings
<Location /webdav>
DAV On
AuthName "Truelite"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPURL ldaps://ldap.fi.trl/ou=People,dc=truelite,dc=it?uid
AuthzLDAPAuthoritative Off
require valid-user
</Location>
</VirtualHost>
Aggiornato da Simone Piccardi quasi 15 anni fa · 14 revisions