Bonjour à tous,
J'essaie actuellement de configurer un serveur Apache pour qu’il fonctionne avec un annuaire LDAP stockant les informations des utilisateurs. Ce à quoi j’aimerais aboutir est que l’Apache demande aux utilisateurs de s’authentifier avec un certificat (et donc sans login/mot de passe) et ensuite Apache va vérifier dans le LDAP si le certificat envoyé par l’utilisateur est valide ou non. Si le certificat envoyé correspond à un certificat d’un utilisateur existant dans l’annuaire, Apache lui affiche la page « it works » sinon il lui refuse l’accès.
Actuellement, j’ai réussi à sécuriser les connexions entre l’Apache et l’utilisateur et entre l’Apache et le LDAP. L’utilisateur envoie également son certificat à l’Apache lorsqu’il essaie de s’authentifier.
Mon problème actuel est qu’Apache ne fait rien avec le certificat envoyé par l’utilisateur, c’est-à-dire qu’il ne vérifie pas s’il y a une concordance entre le certificat reçu et le certificat de l’utilisateur qui est stocké dans le LDAP.
Voici mon httpd.conf :
<VirtualHost *:443>
SSLEngine on
SSLCertificateKeyFile "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/conf/certs/apache.pem"
SSLCertificateFile "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/conf/certs/apache.crt"
SSLCACertificateFile "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/conf/certs/root.crt"
SSLCACertificatePath "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/conf/certs/"
SSLProtocol all -SSLv3 -SSLv2
<Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs">
AuthType Basic
AuthName "Authorized Personnel Only"
AuthLDAPBindDN "cn=ldapadm,dc=ldap,dc=domain"
AuthLDAPBindPassword "password"
AuthBasicProvider ldap
AuthLDAPURL "ldap://ldap.com/ou=People,dc=ldap,dc=domain?cn" STARTTLS
AuthzLDAPAuthoritative off
Require valid-user
SSLUserName SSL_CLIENT_CERT_S_DN_CN
SSLRequire %{SSL_CLIENT_CERT_S_DN_CN} eq %{REMOTE_USER}
SSLVerifyDepth 10
SSLVerifyClient require
</Directory>
</VirtualHost>
et mon ldap.conf :
TLS_CACERT /etc/openldap/certs/root.crt
TLS_CACERTDIR /etc/openldap/certs
Est-ce-que vous avez des pistes pour résoudre mon problème ?
Merci d’avance,
Arkyo
Message édité par Arkyo le 12-06-2017 à 13:11:41