Project

General

Profile

Apache22DavLdap » History » Version 10

« Previous - Version 10/14 (diff) - Next » - Current version
Amministratore Truelite, 10/30/2007 07:06 PM


TracNav(TOC) = 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

DocumentRoot /data/
&lt;Directory /&gt;
Options FollowSymLinks
AllowOverride None
&lt;/Directory&gt;
&lt;Directory /data/&gt;
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
&lt;/Directory&gt;
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
&lt;Directory "/usr/lib/cgi-bin"&gt;
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
&lt;/Directory&gt;
ErrorLog /var/log/apache2/error.log
  1. Possible values include: debug, info, notice, warn, error, crit,
  2. alert, emerg.
    LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
  1. Note Alias goes to our DocumentRoot.
    Alias /webdav /data/
  1. 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>

}}}