Aller au contenu

L'authentification avec Active Directory

·8 mins
Sommaire

Encore de nos jours, beaucoup d’organismes utilisent Microsoft Active Directory (AD) afin de centraliser la gestion des comptes de leurs personnels. Si en soit ce genre de mécanisme est une bonne chose, il semblerait que, pour des raisons historiques, un aspect pourtant quasi-systématique de la mise en œuvre d’un AD est devenu obsolète voir même contre-productif. Voyons donc cela avec une une petite mise en perspective historique.

Dans le présent article je ne m’intéresserai qu’aux solution d’authentification. Les aspects tels que par exemple la gestion des mises à jour ou l’administration à distance reposant sur l’AD ne seront donc volontairement pas abordés.

Il y a quelques décennies
#

Il y a une vingtaine d’années, les ordinateurs fixe dominaient encore le marché. En effet, les ordinateurs portables étaient plus transportables que réellement portables et à performances égales avaient le défaut de coûter assez cher. De plus, avec la quasi-nonexistence du télétravail, l’utilisation des ordinateurs portables pour des motifs professionnels était plutôt réservés aux quelques personnes dont les missions impliquaient de se déplacer fréquemment. Pour cette première partie je propose donc de ne considérer que le cas majoritaire, c’est à dire celui de l’utilisation exclusive d’ordinateurs fixes.

En revanche, ce qui n’est pas nouveau est le besoin de travailler depuis plusieurs endroits. C’est par exemple le cas d’un cadre qui intervient sur plusieurs sites différents et utilisera donc un ordinateur fixe différent sur chaque site, ou bien d’un personnel d’une section logistique devant accéder aux ordinateurs situés dans les différents entrepôts. Citons également l’existence du « flex office » avant que ça ne devienne la mode, en particulier dans les écoles où l’on trouve des salles informatiques dans lesquelles chaque étudiant doit pouvoir se connecter sur n’importe quelle machine.

Analysons les risques d’une telle situation. Les ordinateurs étant fixes, leur accès physique est restreint par la protection physique des locaux. Dans une telle situation il y a donc peu d’intérêt de déployer une solution de chiffrement des disques durs, sous réserve bien entendu de ne pas être dans un cadre particulièrement sensible.

En fait, ce qui va être le plus important c’est la restriction d’accès des utilisateurs. Il faut en effet que chaque ordinateurs puisse accepter l’ensemble des utilisateurs autorisés, liste qui varie avec le temps. Dans un tel cas de figure, il est très difficile et risqué de vouloir maintenir cette liste manuellement sur chaque machine.

Affin de répondre à cette problématique, des solutions techniques de synchronisation à distances sont apparues. Si certaines, principalement basées sur LDAP, sont libres et ouvertes, la solution très majoritairement déployée dans les entreprises et organismes gouvernementaux est Microsoft Active Directory qui a l’avantage de particulièrement bien s’intégrer dans un environnement basé sur Microsoft Windows.

N’oublions tout de même pas que les cambriolages ont toujours existé et qu’il reste pertinent de chiffrer ses disque dès qu’on le peut. Cependant, déployer une solution d’authentification centralisée incluant le chiffrement des données n’est pas une mince affaire et n’est donc quasiment jamais mise en œuvre. À vrai dire je ne sais pas si ça existe.

La situation actuelle
#

Aujourd’hui, la situation a bien changé. Les ordinateurs portables sont devenus bien plus fins et légers, ce qui en fait de véritables terminaux nomades. Ils ont ainsi contribué à la mise en œuvre du télétravail qui s’est grandement démocratisé depuis la pandémie de Covid-19.

Cependant, avec la réticences de certains cadres, le télétravail est presque toujours partiel, ce qui force les personnels à revenir régulièrement au bureau. Ceci contribue tout de même à une baisse de fréquentation des bureaux et, si l’on part du principe qu’il y a toujours une part des employés en télétravail, il est ainsi possible d’avoir des locaux plus petits qui ne disposent pas d’une place attitrée pour chaque employé. Dans une telle situation, les personnels les plus en bas de l’échelle sociale doivent partager des bureaux communs, ce que l’on nomme le « flex-office » afin de donner une connotation positive à une perte de confort. Remarquez que les personnes le plus en haut de la chaîne hiérarchique gardent toujours leur bureau attitré, et ce même si ces personnes télétravaillent régulièrement.

Dans cette nouvelle situation, les risques sont bien différents. Les personnels utilisant les ordinateurs portables hors des locaux de l’entreprise, nous n’avons plus la sécurité physique sur laquelle nous nous reposions précédemment. Il est désormais indispensable de chiffrer les disques durs afin que les données ne fuitent pas en cas de perte ou vol d’un ordinateur portable professionnel.

La gestion des mots de passe
#

Maintenant que nous avons explicité ce changement de paradigme, voyez-vous le problème ? Les personnels n’ont plus besoin de se connecter sur plusieurs machines fixes, ils disposent désormais d’une machine nomade qui leur est attitrée qu’ils transportent avec eux. S’agissant de l’accès aux machines, nous avons donc perdu le besoin de synchronisation.

De plus, les ordinateurs étant chiffrés, l’élément principal assurant la sécurisation de l’accès à la machine n’est plus le mot de passe du compte utilisateur (ce qui n’était pas au top j’en conviens), mais celui permettant de déchiffrer la machine. Le mot de passe du compte utilisateur est tout de même utile pour éviter les accès frauduleux à la machine durant de courtes périodes d’absence, mais à ce moment là le modèle de menace est plus, au bureau, votre collègue facétieux ou bien, en télétravail, le conjoint ou voisin de train indiscret. Le mot de passe utilisateur n’a donc plus vraiment besoin d’être particulièrement fort.

Si l’AD n’a pas complètement disparu de nous jours c’est à mon avis pour deux raisons. La première est qu’il est utilisé pour autre chose que le simple accès aux machines, en particulier la gestion des ressources accessibles via le réseau et notamment les dossiers partagés ainsi que certains composants de l’intranet. La seconde est un manque criant de réflexion sur le sujet, les personnes en charge de cet aspect ayant du mal à analyser les risques et optant donc systématiquement pour la seule solution qu’ils connaissent. Parce qu’historiquement c’est la seule solution que la plupart des gens connaissent, c’est en conséquent la seule qu’on déploie, donc la seule qu’on enseigne dans les formations axées sur la pratique, donc la seule qui est connue des nouveaux arrivants sur le marché du travail, et ainsi de suite. C’est le serpent qui se mord la queue.

Le pire dans l’histoire c’est que, de part le fait qu’il est utilisé pour se connecter au compte local de la machine, le mot de passe doit pouvoir être mémorisé et tapé à la main. Ceci anéantit totalement les gains de sécurités liés à l’utilisation d’un gestionnaire de mots de passe. Si je ne m’attends pas à ce que tous les personnels utilisent un gestionnaire de mots de passe, je constate en revanche que la mise en œuvre irréfléchie d’un AD empêche les personnels en mesure de le faire d’augmenter significativement le niveau de sécurité en utilisant un mot de passe vraiment fort pour les services utilisant l’AD pour l’authentification.

Faut-il remplacer l’AD et si oui, par quoi ?
#

Mème Internet en 4 panneaux détournant une scène du film Astérix et Obélix : Mission Cléopâtre. Dans le premier panneau, Cléopâtre dit « Amonbofis, il faut changer la gestion centralisée de l'authentification, c'est une infection ! ». Dans le second panneau, Amonbofis répond « Ha ? Pourtant j'ai déployé un Active Directory comme on fait tout le temps. ». Dans le troisième panneau, Cléopâtre réplique « C'est bien ça le problème avec vous Amonbofis, vous faites toujours comme on fait tout le temps. ». Enfin, dans le quatrième panneau, Amonbofis déclare « Ba, oui puisqu'on a tout le temps fait comme ça… ».
Ne devenez pas comme Amonbofis, ne déployez pas des solutions juste parce qu’on a tout le temps fait comme ça.

Comme vous l’aurez compris, d’après moi il faut absolument cesser d’utiliser l’AD pour sécuriser l’accès aux comptes des utilisateurs locaux de chaque machine. Pour ça, il est tout à fait envisageable de se reposer sur une gestion locale du mot de passe sans particulièrement surveiller la complexité de ce dernier. D’ailleurs, utiliser un mot de passe relativement faible pour ça peut avoir un effet bénéfique dans le sens où les personnels ne seront pas dissuadés de verrouiller leur machine à chaque petite absence par flemme de devoir sans cesse devoir manuellement taper un mot de passe fort et donc long.

À l’inverse, il est absolument nécessaire de s’assurer que le mot de passe de déchiffrement de la machine ainsi que celui de l’accès à l’ensemble des ressources réseau soient forts. Si pour le déchiffrement de la machine on privilégiera une phrase de passe afin que ce soit mémorisable et pouvant être tapé à la main relativement simplement, pour tout le reste on privilégiera l’utilisation d’un gestionnaire de mots de passe.

Pour les dossiers partagés, il est possible de faire du NFSv4 en utilisant Kerberos ou bien des certificats. AD supportant Kerberos ça peut être utile, mais il existe des alternatives sans doute plus fiables, notamment l’authentification par certificats. En général, si vous déployez un VPN vous utilisez déjà une authentification par certificats et savez donc maintenir ce genre de solution.

Pour les applications métier, en particulier l’intranet, la situation peut être bien différente car il reste la nécessité d’avoir une gestion centralisée des accès. Si l’AD s’est, à mon grand regret, imposé au fil du temps, il n’est cependant pas le seul acteur dans le domaine. Niveau protocole, on trouve principalement Kerberos, OpenID Connect (OIDC) et SAML.

Pour ma part j’ai une très nette préférence pour OIDC et, à défaut lorsque la situation l’exige, j’accepte Kerberos ou SAML. J’en profite pour promouvoir l’intégration ProConnect qui se fait à l’aide d’OIDC.

Au final, on se rends compte qu’il est tout à fait possible, dans un grand nombre de situations, de remplacer un AD par une solution libre. Les deux solutions les plus complètes et connues sont Keycloak et FreeIPA. Si ces solutions sont complètes, elles ne sont pas forcément des plus faciles à déployer. C’est pour ça que ces derniers temps je regarde le développement d’une nouvelle solution, Kanidm, qui se veut moderne et simple à déployer.

Si possible, utilisez Kanidm. Ceci était un message de la Rust Evangelism Strike Force. 🦀

J’insiste sur le fait que ces solutions ne devraient pas être utilisées pour gérer les accès au compte local des machines. Libres ou non, le problème resterait le même qu’avec l’AD.