Tag Archives

3 Articles
.htaccess et Active Directory 2008

.htaccess et Active Directory 2008

La dernière fois, je vous ai montré comment réaliser une connexion avec Active Directory par le biais d’un .htaccess. Ces tests étaient en fait effectués sur un serveur Windows 2000 et, ce week-end, j’ai effectué une migration d’Active Directory vers la version 2008.

Après cette migration, il se trouve que la connexion .htaccess ne fonctionne plus. J’avais l’erreur suivante dans les logs Apache2 :

auth_ldap authenticate: user bbe authentication failed; URI /testldap [ldap_search_ext_s() for user failed][Operations error]

Il faut juste modifier certaines lignes de notre fichier pour que le tout fonctionne. Voici donc une correction de mon précédent article :

AuthLDAPURL ldap://192.168.0.103:389/CN=Users,DC=virtual,DC=fr?sAMAccountName?sub?(objectClass=user)
AuthLDAPBindDN "CN=Nom complet utilisateur,CN=Users,DC=virtual,DC=fr"
AuthLDAPBindPassword password</code> Et vocii notre .htaccess global : <code lang="apache">AuthName "Warning : Restricted Area !!"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldap://192.168.0.103:389/CN=Users,DC=virtual,DC=fr?sAMAccountName?sub?(objectClass=user)
AuthLDAPBindDN "CN=Nom complet utilisateur,CN=Users,DC=virtual,DC=fr"
AuthLDAPBindPassword password
require valid-user

Edit : Si vous voulez authentifier un groupe Active Directory voici les lignes à rajouter (merci à Azigui pour l’astuce) :

AuthLDAPGroupAttributeIsDN on
require ldap-group CN=Nom du groupe,DC=Virtual,DC=fr

Voilà, j’espère que maintenant vous n’aurez plus aucun problème à effectuer une authentification LDAP.

.htaccess et Active Directory

.htaccess et Active Directory

Aujourd’hui je vais vous parler de quelque chose d’assez spécial : L’authentification par apache de personnes à partir d’un annuaire Active Directory.

Pourquoi une telle chose ? Et bien il s’avère que ce n’est pas aussi simple que sa à mettre en œuvre mais quand on l’a fait une fois, on peut le refaire plusieurs fois facilement en copiant les règles dans un fichier « .htaccess ».

Vu que j’ai eu un peu de mal, je vais vous fournir les différentes étapes et le .htaccess final. Tout d’abord vous devez avoir un serveur Windows (2000, 2003 ou 2008) avec le rôle Active Directory. Moi j’ai effectué tout ceci sur un Windows Server 2000.

Ensuite, vous devez connaître votre nom de domine et la structure de l’arbre de votre annuaire. Pour vous aider, voici une application java que j’ai trouvée sur le net, permettant de réaliser ceci. Juste un conseil, laissez juste apparaître dans la base DN les DC=,DC=com.

Sachez que pour pouvoir parcourir votre annuaire, un compte Windows doit être utilisé, pour des raisons de sécurité, je vous conseil de créer un compte lambda avec un mot de passe bidon, non modifiable et verrouillé. Essayez de minimiser les droits de ce compte si un hacker vous le vole.

Pour cet exemple, sachez que je suis dans le domaine virtual.fr donc pour me connecté à mon serveur DNS ayant pour IP 192.168.0.12 je dois renseigner le DN suivant :

DC=virtual,DC=fr

Après avoir testé avec l’application, nous pouvons enfin nous attarder au fichier .htaccess. Vous devez tout d’abord activer les extensions apache2 authzn_ldap et ldap. Si votre .htaccess ne marche pas, activez le module rewrite.

Ensuite voici le fichier .htaccess

AuthName "Warning : Restricted Area !!"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL "ldap://serveur.virtual.fr:389/DC=virtual,DC=fr?sAMAccountName?sub?(objectClass=*)" NONE
AuthLDAPBindDN "ldap@virtual.fr"
AuthLDAPBindPassword motpasse
require valid-user </code>

Donc je vais expliquer chaque ligne :

AuthName "Warning : Restricted Area !!"
# définit le message qui s’affichera sur notre fenêtre de connexion
AuthType Basic
# nous définissons une authentification dite basique
AuthBasicProvider ldap
# nous demandons de passer par les annuaires LDAP
AuthzLDAPAuthoritative off
# permet de dire que nous n’utilisons pas de certificat particulier 
# lors de la requête dans Active Directory
AuthLDAPURL "ldap://serveur.virtual.fr:389/DC=virtual,DC=fr?sAMAccountName?sub?(objectClass=*)" NONE
# url utilisée pour aller effectuée notre requête. Nous demandons d’aller vérifier le nom de compte
# à partir de n’importe quelle classe d’objet de notre annuaire mais ayant pour contrainte d’appartenir
# au domaine virtual.fr
# Le NONE veut dire qu'on utilise aucun protocole de sécurité
AuthLDAPBindDN ldap@virtual.fr
# définit le login du compte de test 
AuthLDAPBindPassword motpasse
# et là son mot de passe
require valid-user
# pour finir nous acceptons d’afficher le site si seulement l’utilisateur entré est valide.

Voilà. Si vous ne voulez pas vous embêter avec les sessions utilisateurs ou si l’espace est réservé aux personnes enregistrées dans votre annuaire, cette méthode s’avère assez simple à mettre en place. Vous pouvez aussi ajouter différentes contraintes comme le groupe, le poste de travail à utiliser, …

LikeWise: Linux Active Directory

LikeWise: Linux Active Directory

Aujourd’hui, je vais vous parler d’une application linux qui permet une chose de très utile.

Il s’agit de LikeWise et ce logiciel permet l’intégration de machines linux et même Mac au sein d’un domaine Active Directory. Comme ceci, vous pouvez vous connecter simplement avec vos différents comptes Windows.

J’ai essayé ce petit module dans un réseau virtuel ayant comme contrôleur de domaine un Windows Server 2008 et comme clients un Windows Vista, Windows XP, Linux Fedora et Linux Ubuntu.

Et, d’après le site, ce petit bijou fonctionne aussi sur Mac. Comme ceci, tout le monde peut enfin accéder avec son compte Windows à tous les OS disponibles.

Sur Ubuntu, je n’ai eu aucune difficulté à le faire fonctionner, mais j’ai eu + de mal sous Fedora car par défaut, il manque une library d’openssl. Mais après le téléchargement de celle-ci, sa se fait tout seul.

Tout se passe en graphique, vous insérez le nom du domaine, les identifiants de l’administrateur du domaine et le tour est joué. Vous redémarrez votre machine linux et vous insérez l’identifiant Windows de cette façon login@domaine ou DOMAIN\login.

Je trouve juste qu’il y a quelques petits dysfonctionnements. Le prompt de la console n’affiche pas l’utilisateur. Mis à par sa ça fonctionne à merveille. Je n’ai pas poussé les tests avec la création de GPO dédiés mas je pense que de ce côté-ci il doit y avoir aussi quelques problèmes.

Je pense effectuer plusieurs nouveaux tests durant mon stage pour voir les véritables possibilités d’un tel déploiement. Seul bémol, l’installation de cette solution sur toutes les machines linux et Mac.

Je vous invite donc à vous rendre sur le site de LikeWise pour avoir plus de renseignement et, si vous le voulez, télécharger cette application ma fois, fort utile.