Authentification sur la base LDAP de SME d'un serveur apache externe

Ça y est, SME8 permet d'utiliser l'annuaire LDAP pour authentifier les utilisateurs. Trop top. Ce guide explique comment y connecter un serveur apache externe.

Pour ça, on va utiliser le module mod_authnz_ldap (inclus dans le paquet httpd sur CentOS).

Sur SME, l'authentification LDAP n'est possible depuis un hôte autre que localhost que si la connexion est sécurisée (SSL sur port 636 ou TLS sur port 389). On va donc dans un premier temps copier notre certificat du serveur SME sur notre serveur apache, pour que la connexion puisse être validée. Ce certificat sera placé par exemple dans /etc/pki/tls/certs/ca-sme.pem. On ajoute maintenant un fragment de configuration sur notre serveur apache:

cat<<'HERE' > /etc/httpd/conf.d/ldap_ca.conf LDAPTrustedGlobalCert CA_BASE64 /etc/pki/tls/certs/ca-sme.pem HERE

Maintenant, il ne reste plus qu'à activer l'authentification sur les pages que vous voulez, par exemple:

<Directory /var/www/callback/>
AddHandler cgi-script .cgi .pl
Options +ExecCGI
SSLRequireSSL on
order deny,allow
deny from all
allow from all
AuthType basic
AuthName "CallBack Access"
AuthBasicProvider ldap
AuthLDAPURL ldap://sme.domain.tld/ou=Users,dc=domain,dc=tld?uid TLS
Require ldap-group cn=tech,ou=Groups,dc=domain,dc=tld
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN off
</Directory>

Dans cet exemple, tout les membres du groupe tech seront authorisés à accéder à la ressources après s'être authentifié correctement. Pour plus d'information sur la configuration de mod_authnz_ldap: http://httpd.apache.org/docs/2.1/mod/mod_authnz_ldap.html et http://httpd.apache.org/docs/2.1/mod/mod_ldap.html