La situation initiale des zones de confiance
En 2018 encore, l’administration des postes de travail fixes s’effectuait, dans des zones sûres, sécurisées, à l’intérieur de l’entreprise. Cela a produit une trop grande confiance conduisant à de mauvaises pratiques, comme celle d’attribuer le même mot de passe à tous les administrateurs des postes. Elles générèrent des risques inacceptables, lorsque le nombre d’ordinateurs portables, le télétravail, l’utilisation de suites collaboratives, comme Microsoft 365, sont devenus des pratiques ordinaires catalysées par la pandémie Covid 19 et le confinement qui en a découlé.
L’ouverture permanente à internet
L’ouverture permanente du système d’information à internet, l’utilisation conjointe d’Active Directories on-premise et d’Azure Active Directory, la mise en place d’une administration partielle du parc informatique à distance, nous ont conduit inéluctablement à devoir considérer que chaque poste fixe pouvait être compromis parce qu’il n’existait plus de zone de confiance absolue. Il devenait donc impératif de minimiser le risque de sécurité lié à l’administration des postes fixes en faisant en sorte qu’une attaque réussie d’un seul poste fixe ne permette pas la compromission du parc dans son ensemble. Chaque poste, chaque serveur devait donc être doté d’un niveau de sécurité tel que chaque administrateur local unique d’un poste possède un mot de passe fort unique aléatoire géré avec Active Directory.
Microsoft propose une solution nommée Local Administrator Password Solution, LAPS en abrégé, qui résout le défaut présenté auparavant. La suite de l’article présente cette solution.
Le déploiement de la solution LAPS basique nommée Legacy LAPS
L’administration des ordinateurs Windows à l’heure de la sécurité Identity centric
LAPS est une solution gratuite de Microsoft pour durcir les réseaux Windows sur site (On Premise). Elle contribue à rendre plus difficile les mouvements latéraux entre les machines d’un réseau Windows. Traditionnellement, l’installation et le maintien en conditions opérationnelles et de sécurité des machines Windows s’effectuent d’une manière industrialisée à l’aide de masters, de Play books. Très fréquemment, le mot de passe d’administrateur local est le même pour chacune des machines d’un domaine. Ce mot de passe commun est une faille flagrante à combler, surtout, si l’on pense aux précautions d’usage (mot de passe fort, changement fréquent du mot de passe, authentification forte multi-facteurs) exigées de la part des utilisateurs ordinaires sans privilège particulier.
La solution LAPS, moyennant la modification du schéma Active Directory sur site (Windows server 2003 SP1, rôle AD minimum) et l’installation d’un agent sur les postes de travail, permet d’associer un mot de passe fort unique aléatoire à chaque identifiant de sécurité, le SID, de l’administrateur local et de stocker ce mot de passe dans l’annuaire. Plus précisément, à chaque ordinateur, enrôlé dans un domaine Active Directory, deux attributs sont associés : le premier attribut est le mot de passe de l’administrateur local (msMcsAdmPwd), le second (msMcsAdmPwdExpirationTime). A la suite de ces modifications, chaque administrateur local peut être muni d’un mot de passe fort, aléatoire, modifié régulièrement. Le logiciel LAPS GUI outille le travail des administrateurs du parc informatique.
Ainsi, un ordinateur compromis dont le mot de passe administrateur local est connu ne pourra pas être facilement utilisé pour généraliser pour rebondir sur chaque ordinateur du domaine.
A ce stade, une incise au sujet des identifiants de sécurité est nécessaire pour comprendre le mécanisme mis en œuvre. La règle : “l’identifiant de sécurité, le SID, doit être unique pour l’autorité qui l’utilise”. Un ordinateur possède un SID (machine SID), les comptes locaux possèdent un SID relatif, un RID. Pour un administrateur local le RID vaut 500, son SID = machine SID – 500. Lorsque l’ordinateur rejoint un domaine, un SID unique pour Active Directory est construit pour le compte AD de l’ordinateur à partir du Domain ID : Domain Computer account ID = Domain ID – <unique number>. En stockant le mot de passe de l’administrateur et sa durée comme attribut de chaque compter account du Domaine la solution LAPS garantit la correspondance unique.
La solution LAPS renforce l’identité des administrateurs locaux. Cette solution colmate indirectement l’exploitation des brèches des protocoles réseaux NTLM et Kerberos utilisés par les annuaires Active Directory sur site (On Premise). Nous pouvons aussi considérer que ce renforcement de l’identité est un marqueur de la transition d’une sécurité Network Centric vers une sécurité Identity Centric.
La nécessité de compléter LAPS par une surveillance des utilisateurs et Pingcastle
La solution LAPS ralentit une attaque ordinaire, fondée sur les protocoles réseaux NTLM ou Kerberos, comme Pass-The-Hash, Ticket Golden Ticket, mais ce n’est pas la panacée. Il est nécessaire d’éviter des variantes de PTH et TGT.
La faille consiste dans le fait que l’utilisateur, qui joint un ordinateur à un domaine dans Active Directory, endosse le rôle et les privilèges de créateur de cet objet de l’annuaire. Or les privilèges de créateur de l’ordinateur autorisent la lecture du mot de passe LAPS qui est stocké en clair dans l’Active Directory sur site. Par conséquent, les bénéfices de la solution LAPS sont réduits à néant sans quelques précautions d’usage.
La politique par défaut autorise chaque utilisateur ordinaire non administrateur à enrôler dix ordinateurs dans le domaine Active Directory. Il va de soi, que la création d’un compte de service dont le rôle est de joindre les ordinateurs aux domaines minimise les possibilités de malveillance des insiders. Une politique pertinente, une GPO, interdira, à un utilisateur ordinaire, la possibilité de joindre un ordinateur au domaine.
L’étape suivante consiste à surveiller les activités des utilisateurs à privilège sans oublier cet utilisateur de service dont le rôle est de joindre les ordinateurs dont les privilèges de créateur sont furtifs.
Le danger est rendu acceptable en renforçant la surveillance des utilisateurs et le niveau de risque des domaines Active Directory sur site. L’une des solutions possibles se nomme pingcastle. Il devient alors possible de mesurer en permanence la performance sécurité (Key Performance Indicator, KPI) des annuaires Active Directory sur site.
La solution étendue : de Legacy LAPS AD à Windows LAPS pour Azure
LAPS et le move to cloud
LAPS est un prérequis pour sécuriser une architecture hybride dont la sécurité est fondée sur les Active directory On Premise et Azure Active Directory, qui est une solution complète de gestion des accès et des identités, proposée par Microsoft. Les versions actuelles des postes et des serveurs Windows supportent la solution LAPS sans laquelle la brèche historique, qui est décrite dans l’introduction de cet article, demeurerait exploitable. Ceci étant LAPS n’est pas la panacée puisque nous avons souligné que le risque de compromission est reporté successivement des postes et serveurs vers les Active Directory, On Premise, puis dans Azure Active Directory, On Cloud parce que les mots de passe LAPS sont stockés en clair, sans chiffrement, dans les annuaires, en tant que métadonnées associées aux postes et aux serveurs enregistrés. Par conséquent, le colmatage d’une faille locale, qui présente l’inconvénient de générer une faiblesse dans les annuaires, nécessite la mise en place d’un complément de surveillance Active Directory ou Azure via des solutions telles que PingCastle, Purple Knight et BloodHound que nous présenterons dans un article à venir.
LAPS une étape de la démarche Zero Trust
Au lieu de présumer que tout ce qui se trouve derrière le pare-feu de l’entreprise est sûr, le modèle Zero Trust présuppose la possibilité de compromissions et le besoin de s’en prémunir ce qui implique la nécessité d’authentifier précisément l’identité des administrateurs des postes et d’éliminer la possibilité d’un mot de passe commun pour les administrateurs locaux de deux postes Windows distincts. En évitant cette faille, LAPS contribue à la mise en œuvre de la démarche Zero Trust.
La situation actuelle de architectures hybrides Zero Trust
Un parc informatique moderne ne comprend plus de zone de confiance absolue ce qui impose le déploiement de règles de sécurité et de surveillance sur chaque composant (poste fixe, Laptop, serveur, utilisateur ordinaire, utilisateur à privilège, application, données au repos, données en transit) puisque chacun d’entre eux peut être compromis. La solution LAPS fait donc partie des nécessités induites par une démarche Zero Trust, mais elle présente des lacunes, comme le stockage en clair, par défaut, des mots de passe dans l’AD. Pour pallier ce défaut qui rend la solution Legacy LAPS non conforme aux recommandations de la CNIL, Microsoft a intégré une nouvelle solution, nommée Windows LAPS, dans Windows 11, elle fonctionne avec Azure AD, AD et chiffre les mots de passe stockés.