{"id":1969,"date":"2017-09-07T21:47:58","date_gmt":"2017-09-07T19:47:58","guid":{"rendered":"http:\/\/www.identitycosmos.com\/?p=1969"},"modified":"2017-09-07T21:47:58","modified_gmt":"2017-09-07T19:47:58","slug":"lex-the-definitive-ldap-explorer-1","status":"publish","type":"post","link":"https:\/\/identitycosmos.com\/index.php\/2017\/09\/07\/lex-the-definitive-ldap-explorer-1\/","title":{"rendered":"LEX, the definitive LDAP Explorer ! [1\/4]"},"content":{"rendered":"<p>Je viens de commencer une s\u00e9rie d&#8217;articles sur un outil tout \u00e0 fait <span style=\"text-decoration: underline;\">extraordinaire<\/span> d\u00e9couvert il y a peu, au hasard d&#8217;\u00e9changes informels avec quelques sp\u00e9cialistes LDAP, j&#8217;ai nomm\u00e9 LDAP Explorer, ou LEX de son petit nom. Non, il ne s&#8217;agit pas d&#8217;une option permettant de jouer <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Lex_Luthor\">Lex Luthor<\/a> dans un jeu en ligne pour mettre sa racl\u00e9e \u00e0 Superman, mais bel et bien du meilleur explorateur LDAP du march\u00e9\u00a0!<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>C&#8217;est quoi LEX\u00a0?<br \/>\n<\/strong><\/span><\/p>\n<p>Comme de nombreux consultants IAM, j&#8217;ai forcement dans ma boite \u00e0 outils un explorateur LDAP. Comme je suis tr\u00e8s feignant (oui, je suis feignant), je faisais comme tout le monde, c&#8217;est-\u00e0-dire\u00a0:<\/p>\n<ul>\n<li>ADSIEDIT fourni par Microsoft et gratuit lorsque j&#8217;ai besoin d&#8217;un browser LDAP cot\u00e9 Active Directory. Outil d\u00e9velopp\u00e9 \u00e0 la \u00ab\u00a0va vite\u00a0\u00bb et extr\u00eamement basic mais accessible depuis la MMC.<\/li>\n<li>LDAP Administrator de la soci\u00e9t\u00e9 Softerra et payant lorsque j&#8217;ai besoin d&#8217;un browser LDAP \u00e0 utiliser avec un autre service LDAP qu&#8217;Active Directory. Outil tr\u00e8s puissant, la r\u00e9f\u00e9rence sur le march\u00e9 depuis de nombreuses ann\u00e9es.<\/li>\n<\/ul>\n<p>Oui bien s\u00fbr, il est tout \u00e0 fait possible d&#8217;utiliser LDAP Administrator pour administrer Active Directory, mais il manque quelques fonctions, disons sp\u00e9cifiques \u00e0 Active Directory et qui rendent cet outil int\u00e9ressant mais pas un must to have pour l&#8217;administration Active Directory (nous reviendrons sur ce point un peu plus loin).<\/p>\n<p>Oui, il est aussi possible d&#8217;utiliser des alternatives \u00ab\u00a0gratuites\u00a0\u00bb \u00e0 LDAP Administrator, mais l\u00e0 on rentre dans un monde rempli de projet SourceForge plus ou moins aboutis, avec des trucs sous JAVA, ce qui me donne des boutons tr\u00e8s tr\u00e8s rapidement. De plus, lorsque je travaille avec un outil, je veux dire vraiment \u00ab\u00a0travailler\u00a0\u00bb, je ne veux pas d\u00e9pendre d&#8217;un bout de code d\u00e9velopp\u00e9 par un stagiaire un soir de pleine lune, mes outils professionnels, je pr\u00e9f\u00e8re les payer et \u00eatre tranquille. Chacun sa m\u00e9thode, mais j&#8217;ai tendance \u00e0 me m\u00e9fier des produits \u00ab\u00a0gratuits\u00a0\u00bb.<!--more--><\/p>\n<p>C&#8217;est l\u00e0 o\u00f9 LEX intervient et m&#8217;apporte le meilleur des deux mondes\u00a0!<\/p>\n<p>En effet, LEX est un explorateur LDAP, tout ce qu&#8217;il y a de plus classique, mais il poss\u00e8de la caract\u00e9ristique de contenir des fonctions tr\u00e8s avanc\u00e9es en ce qui concerne l&#8217;utilisation et la gestion d&#8217;Active Directory. Et bient\u00f4t (nous y reviendrons) l&#8217;outil pourra \u00e9galement g\u00e9rer un annuaire Azure Active Directory. Cela m&#8217;int\u00e9resse fortement\u2026<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Premiers pas avec l&#8217;outil LEX<br \/>\n<\/strong><\/span><\/p>\n<p>Vous pouvez t\u00e9l\u00e9charger l&#8217;outil ici\u00a0: <a href=\"http:\/\/ldapexplorer.com\/en\/download.htm\">http:\/\/ldapexplorer.com\/en\/download.htm<\/a><\/p>\n<p>Vous pouvez trouver une description des fonctions principales ici\u00a0: <a href=\"http:\/\/ldapexplorer.com\/en\/features.htm\">http:\/\/ldapexplorer.com\/en\/features.htm<\/a><\/p>\n<p>Et consulter la documentation ici\u00a0: <a href=\"http:\/\/ldapexplorer.com\/en\/manual.htm\">http:\/\/ldapexplorer.com\/en\/manual.htm<\/a><\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Installation de LEX et premi\u00e8re connexion LDAP<br \/>\n<\/strong><\/span><\/p>\n<p>Cet article est bas\u00e9 sur la version 1.5 Build 003 de LEX.<\/p>\n<p>Commen\u00e7ons donc l&#8217;installation,\u00e0 cette \u00e9tape, rien de bien compliqu\u00e9, on est sur du bon vieux next \/ next \/ next\u2026<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin1.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin2.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin3.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin4.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin5.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin6.png\" alt=\"\" \/><\/p>\n<p>Au premier lancement, vous \u00eates invit\u00e9 \u00e0 renseigner la cl\u00e9 du logiciel ou \u00e0 utiliser LEX en mode \u00e9valuation\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin7.png\" alt=\"\" \/><\/p>\n<p>La diff\u00e9rence principale qui existe entre le mode \u00ab\u00a0trial version\u00a0\u00bb et le mode \u00ab\u00a0sous licence\u00a0\u00bb est que seule une version sous licence peut modifier l&#8217;annuaire LDAP, en version d&#8217;\u00e9valuation, vous ne pouvez r\u00e9aliser que des visualisations. La suite de cet article est r\u00e9alis\u00e9e avec la version sous licence, permettant d&#8217;exploiter pleinement l&#8217;ensemble des fonctionnalit\u00e9s.<\/p>\n<p>Une fois lanc\u00e9, sur le premier \u00e9cran, il est alors possible de se connecter \u00e0 des services LDAP sur le r\u00e9seau public ou de param\u00e9trer une connexion \u00e0 un LDAP en interne, dans notre exemple nous allons nous connecter \u00e0 un contr\u00f4leur de domaine Active Directory\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin8.png\" alt=\"\" \/><\/p>\n<p>Il est alors possible de d\u00e9finir soi-m\u00eame le serveur sur lequel se connecter\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin9.png\" alt=\"\" \/><\/p>\n<p>Ou d&#8217;utiliser le bouton \u00ab\u00a0Detect\u00a0\u00bb qui va rechercher des serveurs LDAP ou des Contr\u00f4leurs de domaine AD sur votre r\u00e9seau\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin10.png\" alt=\"\" \/><\/p>\n<p>Ici, on d\u00e9tecte imm\u00e9diatement les avantages de LEX lorsque l&#8217;on veut manipuler AD, il va pouvoir s&#8217;adapter \u00e0 un contexte AD, proposer des informations puis des fonctions sp\u00e9cifiques \u00e0 Active Directory\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin11.png\" alt=\"\" \/><\/p>\n<p>Les autres onglets de la mire de connexion sont assez classiques, il s&#8217;agit de pouvoir par exemple filtrer les classes d&#8217;objet que l&#8217;on veut voir afficher dans l&#8217;explorateur LDAP.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Usage de LEX et options sp\u00e9cifiques \u00e0 Active Directory<br \/>\n<\/strong><\/span><\/p>\n<p>Rentrons maintenant dans le vif du sujet, ce qui saute imm\u00e9diatement aux yeux, c&#8217;est que le produit est tr\u00e8s \u00ab\u00a0moche\u00a0\u00bb\u00a0!<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin12.png\" alt=\"\" \/><\/p>\n<p>Pour information (nous reviendrons plus loin sur cet aspect) une nouvelle version de LEX est en cours de pr\u00e9paration avec notamment une IHM totalement revisit\u00e9e, avec encore plus de fonctions sp\u00e9cifiques \u00e0 Active Directory\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin13.png\" alt=\"\" \/><\/p>\n<p>Mais pour l&#8217;instant, continuons avec la version actuelle.<\/p>\n<p>La s\u00e9lection d&#8217;un objet permet d&#8217;afficher les attributs de cet objet dans la zone \u00e0 droite, ici, nous voyons que les attributs sont typ\u00e9s via des ic\u00f4nes diff\u00e9rentes, ce qui fait une premi\u00e8re diff\u00e9rence \u00e0 comparaison des \u00e9diteurs LDAP classiques, avec l&#8217;habitude, si l&#8217;on recherche par exemple l&#8217;attribut \u00ab\u00a0objetSID\u00a0\u00bb, on visualise imm\u00e9diatement l&#8217;ic\u00f4ne qui correspond \u00e0 cet attribut\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin14.png\" alt=\"\" \/><\/p>\n<p>Les options d&#8217;affichage sont compl\u00e8tes, avec\u00a0:<\/p>\n<p>Un affichage classique\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin15.png\" alt=\"\" \/><\/p>\n<p>Un affichage sur le DN\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin16.png\" alt=\"\" \/><\/p>\n<p>On remarque des petits d\u00e9tails, mais qui facilitent la vie de l&#8217;administrateur ou de l&#8217;architecte AD, ici pas besoin de v\u00e9rifier un attributs LDAP pour v\u00e9rifier si le compte est activ\u00e9 ou non, un compte d\u00e9sactiv\u00e9 affichera une ic\u00f4ne sp\u00e9cifique, c&#8217;est vraiment sur ce type de fonction que LEX se distingue de la concurrence, il apporte une \u00ab\u00a0intelligence\u00a0\u00bb d&#8217;affichage Active Directory au lieu de se contenter d&#8217;afficher des objets au format LDAP\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin17.png\" alt=\"\" \/><\/p>\n<p>Il est \u00e9galement possible de filtrer les objets affich\u00e9s sans passer par la case requ\u00eate LDAP, directement via un menu d\u00e9roulant, typiquement, la liste des objets utilisateurs d\u00e9sactiv\u00e9s est tr\u00e8s simple \u00e0 afficher\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin18.png\" alt=\"\" \/><\/p>\n<p>Avec la barre de filtre des attributs, on peut sp\u00e9cifier les attributs affich\u00e9s\u00a0: uniquement les attributs avec des valeurs, les attributs multi-value ou non \u2013 il existe aussi un syst\u00e8me de filtre avanc\u00e9 sur les attributs affich\u00e9s\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin19.png\" alt=\"\" \/><\/p>\n<p>Bien \u00e9videmment, les attributs modifiables sont \u00e9ditables depuis l&#8217;explorateur LDAP\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin20.png\" alt=\"\" \/><\/p>\n<p>Un bon exemple des particularit\u00e9s de LEX par rapport \u00e0 un \u00e9diteur LDAP classique est la gestion de l&#8217;attribut \u00ab\u00a0nTSecurityDescriptor\u00a0\u00bb. Cet attribut contient la liste des ACE (AccessControlEntry) pos\u00e9s sur l&#8217;objet, pour faire simple, c&#8217;est ce que vous voyez dans l&#8217;onglet s\u00e9curit\u00e9 de l&#8217;objet. Cet attribut n&#8217;est pas affich\u00e9 dans ADSIEDIT, car Microsoft consid\u00e8re que l&#8217;onglet S\u00e9curit\u00e9 suffit au bonheur des administrateurs\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin21.png\" alt=\"\" \/><\/p>\n<p>Peu de personnes le savent, mais ces informations sur les ACEs sont stock\u00e9es au sein de l&#8217;objet lui-m\u00eame, dans cet attribut. Si l&#8217;on requ\u00eate cet attribut depuis un explorateur LDAP classique, on re\u00e7oit une valeur en binaire\u00a0; inexploitable. LEX a donc int\u00e9gr\u00e9 un convertisseur hexad\u00e9cimal et un parseur afin de pr\u00e9senter l&#8217;attribut et le rendre \u00e9ditable\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin22.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin23.png\" alt=\"\" \/><\/p>\n<p>C&#8217;est tout bonnement g\u00e9nial.<\/p>\n<p>Un autre tr\u00e8s bon exemple des caract\u00e9ristiques avanc\u00e9es de LEX est l&#8217;attribut \u00ab\u00a0userAccountControl\u00a0\u00bb. Quand on requ\u00eate cet attribut via un explorateur LDAP classique, voil\u00e0 ce que l&#8217;on peut trouver\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin24.png\" alt=\"\" \/><\/p>\n<p>L&#8217;attribut userAccountControl est en fait construit avec une somme de valeurs qui d\u00e9crivent certaines options sur le compte utilisateur, par exemple le fait qu&#8217;un utilisateur doit changer son mot de passe \u00e0 la prochaine ouverture de session est contr\u00f4l\u00e9 par cet attribut.<\/p>\n<p>Pour comprendre comment cet attribut est construit et \u00e0 quoi il peut bien servir, je vous conseille la lecture de ces articles\u00a0:<\/p>\n<p><a href=\"https:\/\/blogs.technet.microsoft.com\/askpfeplat\/2014\/01\/15\/understanding-the-useraccountcontrol-attribute-in-active-directory\/\">https:\/\/blogs.technet.microsoft.com\/askpfeplat\/2014\/01\/15\/understanding-the-useraccountcontrol-attribute-in-active-directory\/<\/a><\/p>\n<p><a href=\"https:\/\/msdn.microsoft.com\/fr-fr\/library\/ms680832(v=vs.85).aspx\">https:\/\/msdn.microsoft.com\/fr-fr\/library\/ms680832(v=vs.85).aspx<\/a><\/p>\n<p><a href=\"https:\/\/support.microsoft.com\/fr-fr\/help\/305144\/how-to-use-the-useraccountcontrol-flags-to-manipulate-user-account-pro\">https:\/\/support.microsoft.com\/fr-fr\/help\/305144\/how-to-use-the-useraccountcontrol-flags-to-manipulate-user-account-pro<\/a><\/p>\n<p>A nouveau LEX se d\u00e9marque en pr\u00e9sentant non pas la valeur brute de l&#8217;attribut mais une interface permettant de param\u00e9trer individuellement les diff\u00e9rents param\u00e8tres de comptes, le calcul de la valeur finale (=la valeur de l&#8217;attribut via LDAP) sera fait automatiquement par LEX avant enregistrement des choix de l&#8217;administrateur au niveau de l&#8217;attribut\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/identitycosmos.com\/wp-content\/uploads\/2017\/09\/090717_1944_LEXthedefin25.png\" alt=\"\" \/><\/p>\n<p>Comme nous venons de le voir, LEX est bien plus qu&#8217;un explorateur LDAP, il int\u00e8gre des fonctions qui lui permette quasiment de se substituer \u00e0 la console ADUC\u00a0!<\/p>\n<p>Dans la suite de cette s\u00e9rie d&#8217;articles, nous irons encore plus loin dans la d\u00e9couverte de LEX, croyez-moi, vous n&#8217;\u00eates pas au bout de vos surprises\u2026<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Je viens de commencer une s\u00e9rie d&#8217;articles sur un outil tout \u00e0 fait extraordinaire d\u00e9couvert il y a peu, au hasard d&#8217;\u00e9changes informels avec quelques sp\u00e9cialistes LDAP, j&#8217;ai nomm\u00e9 LDAP Explorer, ou LEX de son petit nom. Non, il ne s&#8217;agit pas d&#8217;une option permettant de jouer Lex Luthor dans un jeu en ligne pour mettre sa racl\u00e9e \u00e0 Superman, mais bel et bien du meilleur explorateur LDAP du march\u00e9\u00a0!<\/p>\n<p>C&#8217;est quoi LEX\u00a0?<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[14,21,39,135,136],"class_list":["post-1969","post","type-post","status-publish","format-standard","hentry","category-technique","tag-active-directory","tag-adsiedit","tag-azure-active-directory","tag-ldap","tag-lex"],"_links":{"self":[{"href":"https:\/\/identitycosmos.com\/index.php\/wp-json\/wp\/v2\/posts\/1969","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/identitycosmos.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/identitycosmos.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/identitycosmos.com\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/identitycosmos.com\/index.php\/wp-json\/wp\/v2\/comments?post=1969"}],"version-history":[{"count":0,"href":"https:\/\/identitycosmos.com\/index.php\/wp-json\/wp\/v2\/posts\/1969\/revisions"}],"wp:attachment":[{"href":"https:\/\/identitycosmos.com\/index.php\/wp-json\/wp\/v2\/media?parent=1969"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/identitycosmos.com\/index.php\/wp-json\/wp\/v2\/categories?post=1969"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/identitycosmos.com\/index.php\/wp-json\/wp\/v2\/tags?post=1969"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}