Project

General

Profile

Apache22DavLdap » History » Version 13

« Previous - Version 13/14 (diff) - Next » - Current version
Simone Piccardi, 12/21/2010 12:32 PM


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 LDAPTrustedMode impostata a SSL per impostare l'accesso SSL.
  • la direttiva LDAPVerifyServerCert impostata a off per bloccare la verifica del certificato del server (e semplificare la connessione, altrimenti si dovrà utilizzare una appropriata CA).
  • la direttiva AuthBasicProvider per indicare (impostandola al valore ldap) di farsi dare i dati di autenticazione da LDAP.
  • la direttiva AuthLDAPURL per impostare la URL del server LDAP ed il relativo ramo di albero da cui ricever i dati di autenticazione.
  • la direttiva AuthzLDAPAuthoritative impostata ad off per bloccare l'uso esclusivo dei dati di LDAP e consentire così il funzionamento della ulteriore direttiva require 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>