<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LAPS &#8211; erwan.guillemard</title>
	<atom:link href="https://erwanguillemard.com/tag/laps/feed/" rel="self" type="application/rss+xml" />
	<link>https://erwanguillemard.com</link>
	<description></description>
	<lastBuildDate>Sun, 01 Sep 2024 18:41:00 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8</generator>

<image>
	<url>https://erwanguillemard.com/wp-content/uploads/2024/02/cropped-Logo-sans-baseline-32x32.png</url>
	<title>LAPS &#8211; erwan.guillemard</title>
	<link>https://erwanguillemard.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>WIN &#8211; AD &#038; Windows LAPS</title>
		<link>https://erwanguillemard.com/win-ad-windows-laps/</link>
		
		<dc:creator><![CDATA[Erwan Guillemard]]></dc:creator>
		<pubDate>Sun, 01 Sep 2024 20:23:00 +0000</pubDate>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[LAPS]]></category>
		<category><![CDATA[Securité]]></category>
		<guid isPermaLink="false">https://erwanguillemard.com/?p=2220</guid>

					<description><![CDATA[L&#8217;une des tâches les plus pénibles d&#8217;un SysAdmin à mon sens reste je le crois la gestion des mots de passes d&#8217;administrateur locaux. Il faut se connecter sur chacun des serveurs, se rendre dans la gestion de l&#8217;ordinateur blablablabla. Quand il n&#8217;y a que quelques serveurs ça peut aller vite. Quand le nombre augmente ça...]]></description>
										<content:encoded><![CDATA[
<p>L&rsquo;une des tâches les plus pénibles d&rsquo;un SysAdmin à mon sens reste je le crois la gestion des mots de passes d&rsquo;administrateur locaux. Il faut se connecter sur chacun des serveurs, se rendre dans la gestion de l&rsquo;ordinateur blablablabla. Quand il n&rsquo;y a que quelques serveurs ça peut aller vite. Quand le nombre augmente ça devient vite chronophage et semblable au tonneau des danaïdes.</p>



<p>Changer les mots de passe des comptes c&rsquo;est un fait, mais ensuite où les stocker ? Dans un gestionnaire de coffre fort, un excel ? Comment s&rsquo;assurer que le mot de passe saisie et celui copier dans le fichier/gestionnaire est identique ?</p>



<p>Ca nous fait tous de même un ch*ée de question&#8230; Et je termine avec une petite dernière, en <a href="https://blog.lastpass.com/posts/2022/12/notice-of-security-incident">cas de compromission du support de stockage des mots de passe</a>, quel temps nous accordons pour tout changer ?</p>



<p class="has-text-align-center"><strong>C&rsquo;est bon Père Fouras, tu as terminé ? Oui je crois. 🙂</strong></p>



<p>J&rsquo;ai une mélodie qui me vient en tête&#8230;</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>C&rsquo;est petit joli c&rsquo;est doux c&rsquo;est fort, C&rsquo;est plein de sécu&#8230; Pour l&rsquo;amour l&rsquo;ennui ou pour la mort. Pour éviter les pleurs. Les Passwords&#8230;<br>LAPS pour Windows</em></p>
<cite>Un IT fan de StarMania &#8211; <a href="https://www.youtube.com/watch?v=KcyVeKC0Eb8">Lien</a></cite></blockquote>



<p>Nous aborderons donc comment éviter le casse tête de la gestion et le stockage des mots de passe du compte administrateur local des environnements WINDOWS (joint à un domaine) avec Windows LAPS<sup data-fn="43a7ac84-f517-4d17-aae0-72099dbf4484" class="fn"><a href="#43a7ac84-f517-4d17-aae0-72099dbf4484" id="43a7ac84-f517-4d17-aae0-72099dbf4484-link">1</a></sup>.</p>



<p>Je n&rsquo;aborderai pas la partie LAPS Legacy père de Windows LAPS.</p>





<h2 class="wp-block-heading">Prérequis</h2>



<ul class="wp-block-list">
<li><strong>SE :</strong>&nbsp;Windows 2019 minimum (niveau fonctionnel/domain 2016 et plus)</li>



<li><strong>Apps :&nbsp;</strong>Powershell</li>



<li><strong>Autres :</strong>
<ul class="wp-block-list">
<li>SMTP</li>
</ul>
</li>
</ul>



<h2 class="wp-block-heading">Avant-Propos</h2>



<p>Dans un temps <a href="https://www.youtube.com/watch?v=G76pMAgNZNI">Far Far Away</a> où WS2016 n&rsquo;était pas encore présent, la gestion des mots de passe administrateurs locaux serveur et ordinateur pouvait se faire par GPO<sup data-fn="8ef8e335-9928-4e25-a99b-c87309295117" class="fn"><a href="#8ef8e335-9928-4e25-a99b-c87309295117" id="8ef8e335-9928-4e25-a99b-c87309295117-link">2</a></sup>. Malheureusement, cela impliquait d&rsquo;être moins regardant sur l&rsquo;aspect sécuritaire du SI :</p>



<ul class="wp-block-list">
<li>Mot de passe en clair dans la GPO</li>



<li>Pas de rotation de mot de passe</li>



<li>Mot de passe identique pour tous les CIs<sup data-fn="47e39968-a4b2-4a76-968a-d728b6970196" class="fn"><a href="#47e39968-a4b2-4a76-968a-d728b6970196" id="47e39968-a4b2-4a76-968a-d728b6970196-link">3</a></sup> lié à la GPO</li>
</ul>



<p>Ainsi pour chaque changement de mot de passe, il fallait se connecter sur chaque serveur pour modifier ce dernier ou modifier la GPO ordinateur, appliquer la GPO etc. C&rsquo;était toujours mieux que rien, toutefois cette époque est révolu et aujourd&rsquo;hui il n&rsquo;est pas envisageable ni concevable d&rsquo;aborder la gestion des accès dans ce sens.</p>



<p>L&rsquo;arrivée de LAPS à permis de répondre à ce point bien plus tard courant 2016. C&rsquo;est en 2021 que LAPS devient LAPS Legacy. Ce dernier étant déprécié pour les SE W11 23h2. LAPS Legacy est remplacé par Windows LAPS.</p>



<p>De plus, si LAPS Legacy est un composant tiers à déployer sur chaque poste pour gérer le mot de passe administrateur local, Windows LAPS est dorénavant inclu directement à partir de la <em>Tuesday Update d&rsquo;Avril 2023</em> à partir des SEs Serveur 2019 et SEs Computer W10.</p>



<p>Néanmoins, pour bénéficier pleinement de toutes les fonctionnalités de LAPS, il est nécessaire d&rsquo;avoir un DFL<sup data-fn="9c146a4a-dd6a-43a4-8f38-c17efa423a83" class="fn"><a href="#9c146a4a-dd6a-43a4-8f38-c17efa423a83" id="9c146a4a-dd6a-43a4-8f38-c17efa423a83-link">4</a></sup> 2016 ou plus (ce qui à cette heure n&rsquo;existe pas encore. Peut être avec WS 2025 ???) .</p>



<p>Microsoft résume tout cela dans un joli tableau.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img fetchpriority="high" decoding="async" width="585" height="431" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0023_MatricePrerequis.png" alt="" class="wp-image-2275" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0023_MatricePrerequis.png 585w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0023_MatricePrerequis-300x221.png 300w" sizes="(max-width: 585px) 100vw, 585px" /></figure></div>


<p>Dans mon cas et le périmètre que je souhaite traiter, l&rsquo;ensemble de mon SI est constitué de SE pris en charge par Windows LAPS (comme par hasard) et mon DFL est en 2016 (encore une coïncidence). Je ne toucherai donc pas à la parti émulation de LAPS Legacy à travers Windows LAPS (et en plus il est fainéant le gazier&#8230;).</p>



<h2 class="wp-block-heading">Théories</h2>



<p>Cette partie (sans vouloir la paraphraser et m&rsquo;attribuer ce qui appartient à Caesar) relève d&rsquo;un synthèse et de ma compréhension du sujet. Il est possible naturellement de sauter cette partie où de lire l&rsquo;intégralité de l&rsquo;article <a href="https://learn.microsoft.com/fr-fr/windows-server/identity/laps/laps-concepts-overview">technet</a>.</p>



<p>Il est également important que je vous précise (une nouvelle fois ?) que je ne traiterai pas non plus de la partie Azure AD/Entra ID. Je ne possède pas de tenant de test Microsoft O365. C&rsquo;est pourquoi tous schéma d&rsquo;origine abordant les composants Azures seront modifiés pour faciliter la lecture et se limiter au périmètre que je souhaite traiter.</p>



<h3 class="wp-block-heading">Architecture</h3>



<p>Une image vaut bien milles mots parait il&#8230;</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="821" height="457" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0024_Architecture.png" alt="" class="wp-image-2276" style="width:577px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0024_Architecture.png 821w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0024_Architecture-300x167.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0024_Architecture-768x427.png 768w" sizes="(max-width: 821px) 100vw, 821px" /></figure></div>


<h3 class="wp-block-heading">Scénario Windows Serveur AD</h3>



<p>La gestion des mots de passe administrateur locaux à travers un Serveur AD va se dérouler par GPO.</p>



<p>Dans mon approche, je souhaite protéger l&rsquo;ensemble des ordinateurs du domaine ainsi que les contrôleurs de domaine.</p>



<p>Afin de garder un certain niveau de sécurité, je vais créer 3 GPOs ayant chacun un périmètre défini d&rsquo;application et d&rsquo;exploitation.</p>



<ul class="wp-block-list">
<li><strong>LAPS_Computers</strong> : Pour la gestion des ordinateurs du domaine (comprendre poste utilisateurs) avec les droits de lecture et de déchiffrement du mot de passe aux équipes opérationnelles (Centre de service, technicien et administrateurs délégués)</li>



<li><strong>LAPS_Serveurs</strong> : Pour la gestion des ordinateurs du domaine (comprendre les serveurs du domaine hors Contrôleurs de domaine) avec les droits de lecture et de déchiffrement uniquement des administrateurs du domaines.</li>



<li><strong>LAPS_ServeursDCs</strong> : Pour la gestion des Contrôleurs de domaine avec les droits de lecture et de déchiffrement uniquement des administrateurs du domaines.</li>
</ul>



<p>Il reste néanmoins important de garder en tête le principe fondamental de moindre privilège et d&rsquo;usage lié à LAPS. Résumé trop joliment comme ci-dessous :</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="587" height="597" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0026_Privileges.png" alt="" class="wp-image-2279" style="width:288px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0026_Privileges.png 587w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0026_Privileges-295x300.png 295w" sizes="(max-width: 587px) 100vw, 587px" /></figure></div>


<p>Une fois la stratégie configurée et appliquée, lorsque le mot de passe va expirer, un nouveau mot de passe va être générer selon les critères de complexité défini puis être stocké et chiffré dans l&rsquo;AD avant d&rsquo;être appliqué sur l&rsquo;équipement concernée.</p>



<p class="has-text-align-center"><strong>Question ? Comment le mot de passe est il chiffré en base ?</strong></p>



<p>Il faut pour rappel avoir un DFL en 2016. Pour la suite, l&rsquo;ensemble d&rsquo;outil cryptographique DPAPI CNG<sup data-fn="76f032ff-b612-45ea-95b0-b4a8abbabe60" class="fn"><a href="#76f032ff-b612-45ea-95b0-b4a8abbabe60" id="76f032ff-b612-45ea-95b0-b4a8abbabe60-link">5</a></sup> via l&rsquo;algorithme AES-256<sup data-fn="e6a22236-92f0-437a-b1ae-9667566bc825" class="fn"><a href="#e6a22236-92f0-437a-b1ae-9667566bc825" id="e6a22236-92f0-437a-b1ae-9667566bc825-link">6</a></sup> assurera de chiffrer notre mot de passe.</p>



<p>Il est également possible de définir un historique des mots de passe et de forcer le renouvellement du mots de passe avant la date d&rsquo;expiration.</p>



<p>Dans la même philosophie, Windows LAPS inclus également une protection contre la falsification de compte. C&rsquo;est à dire que si un outil ou un individu vient à modifier le mot de passe Administrateur local sans passer par l&rsquo;AD, Windows LAPS va rejeter la tentative de modification :</p>



<ul class="wp-block-list">
<li><em>STATUS_POLICY_CONTROLLED_ACCOUNT (0xC000A08B)</em></li>



<li><em>ERROR_POLICY_CONTROLLED_ACCOUNT (0x21CE\8654)</em></li>
</ul>



<p>Illustré par l&rsquo;évènement suivant côté poste ordinateur.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="533" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0027_Falsification-1024x533.png" alt="" class="wp-image-2290" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0027_Falsification-1024x533.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0027_Falsification-300x156.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0027_Falsification-768x400.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0027_Falsification-1536x799.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0027_Falsification.png 1674w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>


<h3 class="wp-block-heading">Cycle de vie</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td>Le cycle de vie est plutôt simple. Le logigramme ci contre résume parfaitement le fonctionnement.<br><br>Si le mot de passe a atteint ça date d&rsquo;expiration. Le DC va générer un nouveau mot de passe selon les critères établis. Stocker ce dernier dans l&rsquo;AD le chiffrer (si les prérequis sont présents) avant d&rsquo;appliquer ce dernier sur l&rsquo;équipement concernée.<br><br>Dans le cas contraire où la date d&rsquo;expiration n&rsquo;est pas atteinte, aucun changement n&rsquo;est réalisé.</td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="150" height="475" class="wp-image-2277" style="width: 150px;" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0025_Cycle.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0025_Cycle.png 518w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0025_Cycle-95x300.png 95w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0025_Cycle-323x1024.png 323w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0025_Cycle-485x1536.png 485w" sizes="auto, (max-width: 150px) 100vw, 150px" /></td></tr></tbody></table></figure>



<p>Maintenant, je pense que nous pouvons passer à la pratique.</p>



<h2 class="wp-block-heading">Pratiques</h2>



<h3 class="wp-block-heading">Vérifications</h3>



<p>Vérification de la présence de LAPS sur nos DC<sup data-fn="7ad00b28-38d1-4cfb-a321-e67f48a84499" class="fn"><a href="#7ad00b28-38d1-4cfb-a321-e67f48a84499" id="7ad00b28-38d1-4cfb-a321-e67f48a84499-link">7</a></sup> :</p>



<pre class="wp-block-code"><code><strong>&gt; Import-Module LAPS
&gt; Get-Command -Module LAPS</strong></code></pre>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="681" height="284" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0001_LAPSchecks.png" alt="" class="wp-image-2221" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0001_LAPSchecks.png 681w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0001_LAPSchecks-300x125.png 300w" sizes="auto, (max-width: 681px) 100vw, 681px" /></figure></div>


<p>Les commandes sont bien présentes sur notre DC concernant le module LAPS. Pour autant, ce dernier n&rsquo;est pas présent dans le Schéma de notre AD<sup data-fn="951d22ae-5f4b-4ed0-9290-9a0a65b1cdda" class="fn"><a href="#951d22ae-5f4b-4ed0-9290-9a0a65b1cdda" id="951d22ae-5f4b-4ed0-9290-9a0a65b1cdda-link">8</a></sup>. Il sera donc nécessaire d&rsquo;ajouter celui-ci en mettant jour le Schéma.</p>



<h3 class="wp-block-heading">Mise à jour du Schéma</h3>



<figure class="wp-block-table"><table class="has-background has-fixed-layout" style="background-color:#f2ee1d"><tbody><tr><td><strong><span style="text-decoration: underline;">/!\Attention :</span></strong> La mise à jour du schéma est irréversible. Il est nécessaire au préalable de s&rsquo;assurer que la sauvegarde des ADs sont viables et correcte. Ainsi que la sauvegarde Windows Backup.</td></tr></tbody></table></figure>



<p>La mise à jour nécessite d&rsquo;avoir les privilèges <strong>Administrateur du Schéma</strong>. Dans le cas du respect des bonnes pratiques de sécurité, vérifier au préalable que l&rsquo;utilisateur qui va être utilisé pour réaliser l&rsquo;opération de mise à jour soit bien membre de ce groupe. A la fin de la mise à jour il sera nécessaire de retirer celui-ci pour des raisons de sécurité.</p>



<pre class="wp-block-code"><code><strong>&gt; Update-lapsADschema</strong></code></pre>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="938" height="103" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0003_UpdateSchema.png" alt="" class="wp-image-2222" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0003_UpdateSchema.png 938w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0003_UpdateSchema-300x33.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0003_UpdateSchema-768x84.png 768w" sizes="auto, (max-width: 938px) 100vw, 938px" /></figure></div>


<p>La mise à jour du Schéma réalisée, actualisons notre console de gestion AD. Regardons les propiétés d&rsquo;un objet computer.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="489" height="123" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0002_BeforeAD.png" alt="" class="wp-image-2223" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0002_BeforeAD.png 489w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0002_BeforeAD-300x75.png 300w" sizes="auto, (max-width: 489px) 100vw, 489px" /></figure></div>


<p>Un onglet supplémentaire est apparu (non par magie mais grâce à la mise à jour du Schéma). L&rsquo;ajout d&rsquo;attribut ayant été apporté aux objets de type computer.</p>



<figure class="wp-block-table aligncenter"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-center" data-align="center">LAPS TAB</td><td class="has-text-align-center" data-align="center">LAPS Attributs</td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="500" height="370" class="wp-image-2224" style="width: 500px;" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0004_LAPSUI.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0004_LAPSUI.png 472w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0004_LAPSUI-300x222.png 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /></td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="500" height="387" class="wp-image-2225" style="width: 500px;" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0005_LAPSAttributes.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0005_LAPSAttributes.png 473w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0005_LAPSAttributes-300x232.png 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /></td></tr></tbody></table></figure>



<p>Si nous rentrons dans le détails des attributs et de l&rsquo;onglet ?</p>



<ul class="wp-block-list">
<li><strong><span style="text-decoration: underline;">Expiration actuelle du mot de passe LAPS</span></strong> : Date d&rsquo;expiration actuelle du mot de passe. Une fois la date atteinte, le mot de passe sera changé automatiquement.</li>



<li><strong><span style="text-decoration: underline;">Définit l&rsquo;expiration du nouveau mot de passe LAPS</span></strong> : Date de la prochaine expiration du mot de passe. Il est possible de réaliser le changement du mot de passe immédiatement en réalisant une action sur le bouton Expirer maintenant.</li>



<li><span style="text-decoration: underline;"><strong>Nom du compte d&rsquo;administrateur local LAPS</strong></span> : Nom du compte concerné</li>



<li><strong><span style="text-decoration: underline;">Mot de passe du compte d&rsquo;administrateur local LAPS</span></strong> : Le mot de passe du compte est defacto chiffré et ne peut être déchiffré que par les utilisateurs autorisés.</li>
</ul>



<h3 class="wp-block-heading">Configuration</h3>



<h4 class="wp-block-heading">Computers Objects</h4>



<p>Mon avis sur le sujet est de faire la différence entre les postes utilisateurs, les serveurs divers et les serveurs AD. Soit, de réaliser une politique pour chaque rôle tiers. Il est nécessaire d&rsquo;inscrire ces politiques dans la PSSI (oui c&rsquo;est chiant, mais au moins comme ça c&rsquo;est carré.).</p>



<p>Commençons par donner les autorisations aux ordinateurs membres de l&rsquo;OU Rebond de venir écrire les attributs LAPS.</p>



<pre class="wp-block-code"><code><strong>> Set-LapsADComputerSelfPermission -Identity "OU=Rebond,OU=Computers,OU=_root,DC=ronelab,DC=lan"</strong></code></pre>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="987" height="92" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0006_SetPermissions.png" alt="" class="wp-image-2228" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0006_SetPermissions.png 987w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0006_SetPermissions-300x28.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0006_SetPermissions-768x72.png 768w" sizes="auto, (max-width: 987px) 100vw, 987px" /></figure></div>


<p>Maintenant que les permissions sont défini il est nous faut faire une petite GPO 🙂 [Ne pas oublier de copier le fichier <em><strong>C:\Windows\PolicyDefinitions\laps.{admx,adml}</strong></em> dans le magasin central]</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2220_52bd53-36 kt-accordion-has-6-panes kt-active-pane-0 kt-accordion-block kt-pane-header-alignment-left kt-accodion-icon-style-basic kt-accodion-icon-side-right" style="max-width:none"><div class="kt-accordion-inner-wrap" data-allow-multiple-open="false" data-start-open="none">
<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-1 kt-pane2220_58e6e9-03"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">1 &#8211; Emplacement de Sauvegarde</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p>Il est possible de définir l&#8217;emplacement de sauvegarde du mot de passe local du compte adminitrateur dans l&rsquo;AD (OnPremise) ou dans AAD (Cloud) voir le laisser désactivé.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="683" height="633" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_Emplacement.png" alt="" class="wp-image-2230" style="width:437px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_Emplacement.png 683w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_Emplacement-300x278.png 300w" sizes="auto, (max-width: 683px) 100vw, 683px" /></figure></div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2220_93f7bd-ca"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">2 &#8211; Politiques et Complexité du MDP</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p>Nous définissons selon ce qui est décrit dans la PSSI la politique de mot de passe local ainsi que sa complexité.</p>



<p>Devons nous faire une distinction entre les postes utilisateurs et les serveurs par exemple ?</p>



<p>Il s&rsquo;agit d&rsquo;un compte Administrateur local donc la politique doit être la plus forte possible. Aucun besoin pour qu&rsquo;un utilisateur utilise le compte d&rsquo;administration local.</p>



<p>Pour cela j&rsquo;aime bien me référer à cette image fournit par Hive SYSTEMS et repris par l&rsquo;<a href="https://www.francenum.gouv.fr/magazine-du-numerique/combien-de-temps-un-pirate-met-il-pour-trouver-votre-mot-de-passe-comment">ANSSI</a>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="683" height="686" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_PSSI.png" alt="" class="wp-image-2231" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_PSSI.png 683w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_PSSI-300x300.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_PSSI-150x150.png 150w" sizes="auto, (max-width: 683px) 100vw, 683px" /></figure></div>


<p>Donc pour ma part, c&rsquo;est 26 caractères, Majuscule, Minuscule, Chiffre et Spéciaux. J&rsquo;ai choisi de faire expirer, renouveller le mot de passe tous les 30 jours.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="687" height="633" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_PSSIPolicy.png" alt="" class="wp-image-2232" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_PSSIPolicy.png 687w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_PSSIPolicy-300x276.png 300w" sizes="auto, (max-width: 687px) 100vw, 687px" /></figure></div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2220_fc690b-1e"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">3 &#8211; Chiffrement du mot de passe</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p>Par défaut le mot de passe est chiffré avant d&rsquo;être stocké. Toutefois, je pense (et c&rsquo;est mon point de vu) que forcer l&rsquo;activation est une bonne chose. Nous ne sommes jamais assez prudent.</p>



<figure class="wp-block-table"><table class="has-background has-fixed-layout" style="background-color:#f8f627"><tbody><tr><td><strong><span style="text-decoration: underline;">/!\ Attention :</span></strong> Car le chiffrement est pris en compte pour un niveau fonctionnel Windows Server 2016. En dessous, cela ne sera pas pris en compte.</td></tr></tbody></table></figure>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="686" height="634" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_EnableEncryption.png" alt="" class="wp-image-2237" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_EnableEncryption.png 686w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_EnableEncryption-300x277.png 300w" sizes="auto, (max-width: 686px) 100vw, 686px" /></figure></div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane2220_b35f53-77"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">4 &#8211; Historique</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p>Il est possible de garder un historique des mots de passe générer. Je pense par sécurité que garder 12 entrées est une bonne chose.</p>



<p>En lien avec la complexité du mot de passe est la fréquence de renouvellement défini, cela permet de vérifier que le changement a bien eu lieu et de remonter en cas d&rsquo;avarie sur le mot de passe Administrateur local actuel à ceux défini précédemment.</p>



<p class="has-text-align-center"><em><strong>365 Jours = Fq Renouvellement x Nb Retention Historique</strong></em></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="686" height="636" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_History.png" alt="" class="wp-image-2236" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_History.png 686w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_History-300x278.png 300w" sizes="auto, (max-width: 686px) 100vw, 686px" /></figure></div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane2220_4dd39f-a7"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">5 &#8211; Compte Administration Local</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p>Il nous faut spécifier le compte local dont nous souhaitons manager la rotation des mots passe.</p>



<p>Si le compte reste Administrateur, nous pouvons passer notre route. Toutefois cela ne représente pas selon moi une bonne pratique. Le compte Administrateur local doit être désactivé est un compte doit être créé, membre du groupe Administrateur.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="687" height="637" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_Users.png" alt="" class="wp-image-2235" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_Users.png 687w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_Users-300x278.png 300w" sizes="auto, (max-width: 687px) 100vw, 687px" /></figure></div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane2220_fe81eb-40"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">6 &#8211; Habilitation, gestion des MDP</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p>Questions, qui peut lire et déchiffrer les mots de passe ?</p>



<p>Par défaut c&rsquo;est uniquement le groupe Administrateur du Domaine qui a ce privilège. Mais voilà, nous nous retrouvons à un carrefour sécuritaire.</p>



<p>Admettons (et c&rsquo;est une bonne raison) que je souhaite donner les droits à mes équipes d&rsquo;accéder au mot de passe chiffré des comptes administrateurs locaux des postes utilisateurs uniquement.</p>



<ul class="wp-block-list">
<li>Soit je fais de la délégation sur les attributs en plus de la délégation en place sur l&rsquo;AD</li>



<li>Soit je les passe membre du groupe Administrateur du domaine</li>



<li>Soit je ne leur donne pas les droits et je surcharge l&rsquo;équipe d&rsquo;administration avec ce genre de requête.</li>
</ul>



<p>Ou alors, je leurs créé uniquement les droits que pour les objets computers concernés par cette politique.</p>



<p>Au préalable, nous avons créé un GLS<sup data-fn="a1fafd83-b409-49d7-8e3e-05ef16dedcb4" class="fn"><a href="#a1fafd83-b409-49d7-8e3e-05ef16dedcb4" id="a1fafd83-b409-49d7-8e3e-05ef16dedcb4-link">9</a></sup> propre au déchiffrement des mots de passe ayant pour membre les utilisateurs. Récupérons l&rsquo;objectSID et collons la valeur dans le champs du paramètre de la GPO Déchiffreurs de mdp autorisés.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="684" height="633" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_SID.png" alt="" class="wp-image-2239" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_SID.png 684w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_SID-300x278.png 300w" sizes="auto, (max-width: 684px) 100vw, 684px" /></figure></div>


<p>Sauf que voilà, avec l&rsquo;utilisateur qui à la délégation, cela ne fonctionne pas&#8230; Pourtant le groupe est bien le bon ?</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="697" height="203" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_delegate.png" alt="" class="wp-image-2241" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_delegate.png 697w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_delegate-300x87.png 300w" sizes="auto, (max-width: 697px) 100vw, 697px" /></figure></div>


<p>Alors là, il suffit de RTFM. Nous pouvons faire deux constats.</p>



<ul class="wp-block-list">
<li>Le compte Administreur du domaine (celui que j&rsquo;utilise actuellement) n&rsquo;est PLUS de facto autorisé à lire les mots de passe. Donc il va être nécessaire d&rsquo;ajouter le groupe Admin du Domaine comme membre de notre GLS.</li>



<li>Il nous manque les autorisations de lecture sur l&rsquo;OU, comme nous l&rsquo;avons fait initialement. Sans quoi, le groupe n&rsquo;a pas le droit de venir lire les attributs</li>
</ul>



<pre class="wp-block-code"><code><strong>> Set-LapsADReadPasswordPermission -Identity "OU=Rebond,OU=Computers,OU=_root,DC=ronelab,DC=lan" -AllowedPrincipals "RONELAB\GLS_SECU_LAPS_REBOND_DECRYPT"</strong></code></pre>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="71" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_delegateAddPermissions-1024x71.png" alt="" class="wp-image-2244" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_delegateAddPermissions-1024x71.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_delegateAddPermissions-300x21.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_delegateAddPermissions-768x53.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_delegateAddPermissions.png 1451w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div></div></div></div>
</div></div></div>



<h4 class="wp-block-heading">Domain Controllers Objects</h4>



<p>Tout comme ce que nous avons pu voir précédemment l&rsquo;une des grandes puissances de Windows LAPS est la capacité de pouvoir sauvegarder et de réaliser une rotation du mot de passe DSRM pour les DCs.</p>



<p>Ce mot de passe n&rsquo;est que trop peu modifié et même j&rsquo;ose le dire quasiment jamais modifié. Cela entrainant une vulnérabilité de sécurité importante pour l&rsquo;ensemble de notre SI.</p>



<p>Si nous regardons de nouveau les propriétés de l&rsquo;un de nos ADs, nous remarquerons que l&rsquo;onglet LAPS est également présent, bien que différent dans son affichage.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="495" height="528" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_DSRM.png" alt="" class="wp-image-2246" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_DSRM.png 495w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_DSRM-281x300.png 281w" sizes="auto, (max-width: 495px) 100vw, 495px" /></figure></div>


<p>Définition donc notre stratégie DSRM 🙂</p>



<p>Attribuons les droits pour autoriser nos AD à écrire le mot de passe DSRM.</p>



<pre class="wp-block-code"><code><strong>> Set-LapsADComputerSelfPermission -Identity "OU=Domain Controllers,DC=ronelab,DC=lan"</strong></code></pre>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="903" height="89" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_DSRMCMD.png" alt="" class="wp-image-2247" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_DSRMCMD.png 903w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_DSRMCMD-300x30.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_DSRMCMD-768x76.png 768w" sizes="auto, (max-width: 903px) 100vw, 903px" /></figure></div>


<p>Configurons notre GPO.</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2220_d6ad64-b1 kt-accordion-has-6-panes kt-active-pane-0 kt-accordion-block kt-pane-header-alignment-left kt-accodion-icon-style-basic kt-accodion-icon-side-right" style="max-width:none"><div class="kt-accordion-inner-wrap" data-allow-multiple-open="false" data-start-open="none">
<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-1 kt-pane2220_5a124c-eb"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">1 &#8211; Emplacement de Sauvegarde</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p>Il est possible de définir l&#8217;emplacement de sauvegarde du mot de passe local du compte adminitrateur dans l&rsquo;AD (OnPremise) ou dans AAD (Cloud) voir le laisser désactivé.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="683" height="633" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_Emplacement.png" alt="" class="wp-image-2230" style="width:437px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_Emplacement.png 683w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_Emplacement-300x278.png 300w" sizes="auto, (max-width: 683px) 100vw, 683px" /></figure></div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2220_029055-b4"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">2 &#8211; Politiques et Complexité du MDP</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p>Nous définissons selon ce qui est décrit dans la PSSI la politique de mot de passe local ainsi que sa complexité.</p>



<p>Devons nous faire une distinction entre les postes utilisateurs et les serveurs par exemple ?</p>



<p>Il s&rsquo;agit d&rsquo;un compte Administrateur local donc la politique doit être la plus forte possible. Aucun besoin pour qu&rsquo;un utilisateur utilise le compte d&rsquo;administration local.</p>



<p>Pour cela j&rsquo;aime bien me référer à cette image fournit par Hive SYSTEMS et repris par l&rsquo;<a href="https://www.francenum.gouv.fr/magazine-du-numerique/combien-de-temps-un-pirate-met-il-pour-trouver-votre-mot-de-passe-comment">ANSSI</a>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="683" height="686" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_PSSI.png" alt="" class="wp-image-2231" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_PSSI.png 683w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_PSSI-300x300.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_PSSI-150x150.png 150w" sizes="auto, (max-width: 683px) 100vw, 683px" /></figure></div>


<p>Donc pour ma part, c&rsquo;est 26 caractères, Majuscule, Minuscule, Chiffre et Spéciaux. J&rsquo;ai choisi de faire expirer, renouveller le mot de passe tous les 30 jours.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="687" height="633" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_PSSIPolicy.png" alt="" class="wp-image-2232" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_PSSIPolicy.png 687w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_PSSIPolicy-300x276.png 300w" sizes="auto, (max-width: 687px) 100vw, 687px" /></figure></div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2220_3d4348-09"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">3 &#8211; Chiffrement du mot de passe</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p>Par défaut le mot de passe est chiffré avant d&rsquo;être stocké. Toutefois, je pense (et c&rsquo;est mon point de vu) que forcer l&rsquo;activation est une bonne chose. Nous ne sommes jamais assez prudent.</p>



<p>/!\ Attention : Car le chiffrement est pris en compte pour un niveau fonctionnel Windows Server 2016. En dessous, cela ne sera pas pris en compte.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="686" height="634" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_EnableEncryption.png" alt="" class="wp-image-2237" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_EnableEncryption.png 686w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_EnableEncryption-300x277.png 300w" sizes="auto, (max-width: 686px) 100vw, 686px" /></figure></div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane2220_9c7fff-b5"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">4 &#8211; Historique</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p>Il est possible de garder un historique des mots de passe générer. Je pense par sécurité que garder 12 entrées est une bonne chose.</p>



<p>En lien avec la complexité du mot de passe est la fréquence de renouvellement défini, cela permet de vérifier que le changement a bien eu lieu et de remonter en cas d&rsquo;avarie sur le mot de passe Administrateur local actuel à ceux défini précédemment.</p>



<p class="has-text-align-center"><em><strong>365 Jours = Fq Renouvellement x Nb Retention Historique</strong></em></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="686" height="636" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_History.png" alt="" class="wp-image-2236" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_History.png 686w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0007_GPO_History-300x278.png 300w" sizes="auto, (max-width: 686px) 100vw, 686px" /></figure></div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane2220_92aa5c-19"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">5 &#8211; Compte DSRM</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p>Le prérequis pour réaliser la sauvegarde du mot de passe DSRM dans l&rsquo;AD réside dans la réalisation du point N°3 Chiffrement du mot de passe.</p>



<p>Alors il suffit d&rsquo;activer le paramètre.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="686" height="632" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_GPO_DSRM.png" alt="" class="wp-image-2248" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_GPO_DSRM.png 686w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_GPO_DSRM-300x276.png 300w" sizes="auto, (max-width: 686px) 100vw, 686px" /></figure></div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane2220_aa546e-f6"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">6 &#8211; Habilitation, gestion des MDP</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p>Contrairement à la partie précédente concernant les Computers Objects, il est impensable d&rsquo;ouvrir et de déléguer l&rsquo;accès au mot de passe DSRM à toutes autres personnes que les membres du groupe Admin du domaine. Et quand bien même l&rsquo;information doit être accessible par le mois de personne possible.</p>



<p>Dans mon cas, ayant mis un semblant de RBAC Tiers 3 sur l&rsquo;AD, je laisserai le groupe Admin du Domain.</p>
</div></div></div>
</div></div></div>



<p>Une fois la GPO appliqué sur notre OU Domain Controllers, jetons un œil sur les valeurs de nos attributs LAPS (en powershell ce coup ci).</p>



<pre class="wp-block-code"><code><strong>&gt; Get-LapsADPassword -Identity "EGSRV-AD01" -IncludeHistory</strong></code></pre>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-center" data-align="center"><strong>With -AsPlainText</strong></td><td class="has-text-align-center" data-align="center"><strong>Without -AsPlainText</strong></td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="500" height="226" class="wp-image-2249" style="width: 500px;" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_GPO_Result_clear.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_GPO_Result_clear.png 798w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_GPO_Result_clear-300x136.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_GPO_Result_clear-768x347.png 768w" sizes="auto, (max-width: 500px) 100vw, 500px" /></td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="500" height="259" class="wp-image-2250" style="width: 500px;" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_GPO_Result_blind.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_GPO_Result_blind.png 692w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0008_GPO_Result_blind-300x155.png 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /></td></tr></tbody></table></figure>



<p>J&rsquo;ai volontairement demandé un rotation du mot de passe manuellement. Force est de constater que tout fonctionne. Egalement, étant avec un compte Administrateur du domaine, je peux déchiffrer le mot de passe. Néanmoins, si nous ne précisons pas le classique <em><strong>-AsPlainText</strong></em>, ce dernier n&rsquo;affichera que le type <strong>SecureString</strong>.</p>



<h4 class="wp-block-heading">Mise en garde</h4>



<p>Il est important de noter qu&rsquo;il y a un risque à automatiser la rotation des mots de passe locaux. Surtout dans le cas des comptes DSRM. Prenons l&rsquo;exemple ci-dessous.</p>



<p>Admettons que nous ne pouvons plus nous connecter à notre contrôleur de domaine hébergeant les rôles FSMO. Nous envisageons la procédure classique de passer par une restauration à partir du mot de passe DSRM. Nous saisissons le mot de passe et normalement nous devrions commencer à suer du CIF (et je parle pas de SQL&#8230;). Hé oui, le mot de passe a changé dans le cadre de la rotation que nous avons paramétrés. Alors que faire ?</p>



<p>Je me suis posé la question de vérifier s&rsquo;il était possible de récupérer ce dernier depuis VEEAM dans les attributs.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-center" data-align="center"><strong>Standard Objects Computers</strong></td><td class="has-text-align-center" data-align="center"><strong>DC Objects Computers</strong></td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="429" class="wp-image-2254" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0010_restoredComputer.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0010_restoredComputer.png 588w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0010_restoredComputer-300x234.png 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="210" class="wp-image-2255" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0011_restoredDC.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0011_restoredDC.png 839w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0011_restoredDC-300x115.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0011_restoredDC-768x294.png 768w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr></tbody></table></figure>



<p>Pour les objets ordinateurs « standards » ou « communs », le mot de passe local est bien présent mais chiffré Toutefois, il est surprenant de se rendre compte qu&rsquo;il n&rsquo;existe aucun objet ordinateur dans l&rsquo;OU Domain Controllers (normal au vu de la criticité du rôle et logiquement, cela reviendrait à faire une restauration du serveur lui-même en non autoritaire/autoritaire selon le scénario envisagé).</p>



<p>Bref, pour réinitialiser un mot de passe local pour un serveur ou un poste, nous avons toujours la bonne vieille méthode du média d&rsquo;installation. Pour l&rsquo;AD, c&rsquo;est compromis&#8230; Restera alors à passer par un autre DC et de reset si possible le mot de passe DSRM de notre DC impacté (avec ce bon vieux ntdsutils).</p>



<p>Je recommande donc dans la logique de ne pas instancier la rotation des mots de passe DSRM s&rsquo;il n&rsquo;y a pas de procédure en place. Dans le cas contraire, il est nécessaire d&rsquo;être d&rsquo;une rigueur extrême dans le MCO des mots de passe.</p>



<h3 class="wp-block-heading">Journalisation</h3>



<p>Ce qui m&rsquo;a tapé dans l&rsquo;œil avec LAPS c&rsquo;est quelques choses de très simple mais souvent négligé dans certains outils. Les actions sont loggées dans l&rsquo;Observateur d&rsquo;évènements ! Comme quoi il suffit certaines fois de pas grand chose&#8230; 🙂</p>



<p class="has-text-align-center"><strong>Journaux d&rsquo;applications &gt; Microsoft &gt; Windows &gt; LAPS</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="672" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0009_event-1024x672.png" alt="" class="wp-image-2251" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0009_event-1024x672.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0009_event-300x197.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0009_event-768x504.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0009_event.png 1136w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>


<h3 class="wp-block-heading">MCO</h3>



<p>Comme toutes solutions, c&rsquo;est bien beau d&rsquo;avoir une application qui sécurise et administre les comptes d&rsquo;administrations locaux, mais comment s&rsquo;assurer que les politiques sont bien appliquées sur les postes et qu&rsquo;il n&rsquo;y a pas de trou dans la raquette pouvant amené à rendre vulnérable notre SI ?</p>



<p>Si j&rsquo;ai fait les louanges dans la partie précédente concernant la journalisation. Là c&rsquo;est je pense un gros manque pour assurer un niveau de sécurité du système d&rsquo;information.</p>



<p>Je pense qu&rsquo;il existe des outils sur le net développé par d&rsquo;autres SysAdmins consciencieux de leurs jobs et de leurs postes. Toutefois, et si aucune solution existe, il serait pas mal de se faire un petit outil non ? Et si cet outil nous envoyait un rapport par mail ? Ca serait merveilleux et nous pourrions <a href="https://fr.wikipedia.org/wiki/Marguerite_Duras">hurler sans bruit</a> !</p>



<h2 class="wp-block-heading">Implémentation LAPS Audit</h2>



<p>Dans un premier temps, il convient de définit notre infrastructure. Notre outil (script) sera exécuté directement sur le serveur AD hébergeant les rôles FSMO pour plus de sécurité.</p>



<p>Dans le respect des bonnes pratiques, nous bénéficions d&rsquo;une infrastructure 3 tiers. Du fait de cette infrastructure nous n&rsquo;autorisons pas notre tiers 0 (nos DCs) à communiquer vers l&rsquo;extérieur. Pour envoyer le rapport par mail, nous utiliserons un serveur SMTP dans notre tiers 1 qui jouera le rôle de relai SMTP vers notre serveur SMTP externe.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="816" height="553" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0012_schema.png" alt="" class="wp-image-2258" style="width:506px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0012_schema.png 816w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0012_schema-300x203.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0012_schema-768x520.png 768w" sizes="auto, (max-width: 816px) 100vw, 816px" /></figure></div>


<p>Je considère que nous avons déjà un serveur relai SMTP configuré et fonctionnel sur notre infrastructure (Mutt ou Windows). Il sera nécessaire également de réaliser sur l&rsquo;UTM les policies interlans et outbounds.</p>



<h3 class="wp-block-heading">Analyse du script</h3>



<p>Le script (SS_040_WIN_LAPS-Audit) dans sa version 1.0 est plutôt simple et comporte quatre fonctions :</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>getADComputersObject</strong> : Fonction qui permettra de retourner l&rsquo;ensemble des objets ordinateurs joint à notre domaine. Je prends soins de faire une distinction entre les Contrôleurs de Domaines, les Serveurs et les Ordinateurs.<br><br><strong>getLAPSAudit</strong> : Fonction qui permettra de retourner les attributs Microsoft LAPS des objets ordinateurs du domaine indiquant si LAPS est appliqué sur les objets et l&rsquo;échéance de rotation des mots de passe du compte Administrateur local.<br><br><strong>getLAPSHTML_Report</strong>: Fonction qui va générer le rapport HTML pour chaque objet ordinateur et l&rsquo;état LAPS associé.<br><br><strong>sendSMTPMail</strong> : Fonction qui va envoyé le mail, notre rapport à notre serveur SMTP.</td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="182" class="wp-image-2261" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0013_fonction.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0013_fonction.png 341w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0013_fonction-300x99.png 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr></tbody></table></figure>



<p>Il convient d&rsquo;éditer le script est d&rsquo;adapter les constantes suivantes :</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>$From :</strong> De type string, l&rsquo;adresse mail de l&rsquo;émetteur. Généralement le nom de votre serveur AD.<br><br><strong>$To </strong>: De type string, l&rsquo;adresse mail du récepteur.<br><br><strong>$SMTPServer</strong> : De type string, le FQDN ou l&rsquo;IP du serveur SMTP interne.<br><br><strong>$Port</strong> : De type int, à voir si le serveur interne accepte le protocole SMTP, SMTPS ou TLS.</td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="137" class="wp-image-2262" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0014_constantes.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0014_constantes.png 325w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0014_constantes-300x75.png 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr></tbody></table></figure>



<p>Et c&rsquo;est tout. Il n&rsquo;y a rien d&rsquo;autre à faire. Si ce n&rsquo;est implémenter ce dernier. Sur notre serveur AD.</p>



<h3 class="wp-block-heading">Implémentation</h3>



<p>Avant toutes choses, la méthode reste libre quant à l&rsquo;exécution de la tâche. Certains dirons j&rsquo;aime faire de la MSA<sup data-fn="81691b3f-93b7-4272-80cb-8a262077db5d" class="fn"><a href="#81691b3f-93b7-4272-80cb-8a262077db5d" id="81691b3f-93b7-4272-80cb-8a262077db5d-link">10</a></sup>, d&rsquo;autre de la gMSA<sup data-fn="35bad14b-25e8-4a5e-9dff-44329f03e3ec" class="fn"><a href="#35bad14b-25e8-4a5e-9dff-44329f03e3ec" id="35bad14b-25e8-4a5e-9dff-44329f03e3ec-link">11</a></sup> et d&rsquo;autres les puristes qui n&rsquo;ont pas été mise à jour depuis longtemps des comptes utilisateurs restreints. (<em>Il existe aussi une autre catégorie de SysAdmin du Dimanche qui utilisent des comptes non restreints. Mais il faut le dire doucement pour ne pas réveiller leurs impérities</em>). </p>



<p>Il est important de préciser avant de prendre ma dernière aparté pour une réflexion condescendante de ma part et remplie d&rsquo;orgueil que je ne suis pas dans le jugement. Le manque de compétence se corrige en se remettant en cause chaque jour. Ce qui a pour conséquence de venir palier et combler les impérities. Pour le reste, c&rsquo;est toujours la question classique du « <em><strong>Quelle est la différence entre le bon et le mauvais SysAdmin</strong></em>« . Restons dans la dynamique du Plan-Do-Check-Act. 🙂</p>



<p>Bref, chacun voit midi à sa porte et nous sommes responsable de nos décisions et de nos choix. Je passe donc la partie compte dédié.</p>



<p>Sous <strong>C:\</strong> créer un répertoire scripts avec pour sous répertoire <em><strong>SS_040_WIN_LAPS-Audit</strong></em> contenant notre script. Modifions les ACLs comme ci dessous en prenant soin de désactiver l&rsquo;héritage.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="430" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0015_ACLs-1024x430.png" alt="" class="wp-image-2264" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0015_ACLs-1024x430.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0015_ACLs-300x126.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0015_ACLs-768x323.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0015_ACLs.png 1235w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>Ouvrons le TaskManager et créons notre tâches.</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2220_7ec0c0-b8 kt-accordion-has-6-panes kt-active-pane-0 kt-accordion-block kt-pane-header-alignment-left kt-accodion-icon-style-basic kt-accodion-icon-side-right" style="max-width:none"><div class="kt-accordion-inner-wrap" data-allow-multiple-open="false" data-start-open="none">
<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-1 kt-pane2220_03c922-14"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">1 &#8211; Général</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p>Comme d&rsquo;accoutumé, je reprends En nom de tâche le nom du répertoire racine du projet. Je renseigne le compte utilisateur qui va exécuter la tâche (ici un compte restreint avec une sécurité qui m&rsquo;est propre). Naturellement nous n&rsquo;enregistrons pas le mot de passe et nous configurons la tâche pour les Windows Server 2022 (nous sommes sur notre DC et ce dernier Dieu m&rsquo;en est témoin, ce n&rsquo;est pas un 2008 !).</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="636" height="483" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0016_task1.png" alt="" class="wp-image-2266" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0016_task1.png 636w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0016_task1-300x228.png 300w" sizes="auto, (max-width: 636px) 100vw, 636px" /></figure></div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2220_5b70e2-b7"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">2 &#8211; Triggers</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p>Point un peu plus sensible et singulier, quand recevoir le rapport d&rsquo;audit ? Ayant définit la rotation des mots de passe à 30 jours au plus bas, il me semble logique de réaliser un déclencheurs tous les mois.</p>



<p>C&rsquo;est pourquoi, je configure la tâche à s&rsquo;exécuter tous les Premiers Lundis de chaque mois sans échéance de fin.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="663" height="525" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0017_task2.png" alt="" class="wp-image-2267" style="width:380px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0017_task2.png 663w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0017_task2-300x238.png 300w" sizes="auto, (max-width: 663px) 100vw, 663px" /></figure></div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2220_bfa404-17"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">3 &#8211; Actions</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p><a href="https://www.youtube.com/watch?v=StKVS0eI85I">Call me, call me any, anytime !</a> Nous allons préciser que l&rsquo;action a réaliser et d&rsquo;exécuter notre script avec l&rsquo;argument <em>-File Path</em> utilisant le programme <em>powershell.exe</em>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="662" height="520" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0018_task3.png" alt="" class="wp-image-2268" style="width:400px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0018_task3.png 662w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0018_task3-300x236.png 300w" sizes="auto, (max-width: 662px) 100vw, 662px" /></figure></div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane2220_31c70b-e6"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">4 &#8211; Conditions</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p>Décochez ou cochez selon vos envies les conditions. Pour ma part, pas de conditions particulières.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="639" height="488" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0019_task4.png" alt="" class="wp-image-2269" style="width:351px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0019_task4.png 639w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0019_task4-300x229.png 300w" sizes="auto, (max-width: 639px) 100vw, 639px" /></figure></div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane2220_fbfed4-a6"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">5 &#8211; Settings</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner"><div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="642" height="491" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0020_task5.png" alt="" class="wp-image-2270" style="width:375px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0020_task5.png 642w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0020_task5-300x229.png 300w" sizes="auto, (max-width: 642px) 100vw, 642px" /></figure></div>


<p>J&rsquo;autorise la possibilité d&rsquo;exécuter cette tâche manuellement et d&rsquo;arrêter la tâche si cette dernière au bout de 3 jours. Surtout, et je crois que c&rsquo;est important (du moins pour moi) de ne pas démarrer une nouvelle instance si la tâche est déjà en cours d&rsquo;exécution.</p>
</div></div></div>
</div></div></div>



<p></p>



<p>En résumé, si nous attendons patiemment la prochaine exécution de la tâche planifiée ou que nous exécution manuellement cette dernière, nous devrions recevoir dans notre BAL le rapport ci-dessous.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="636" src="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0022_Notifications-1024x636.png" alt="" class="wp-image-2271" style="width:572px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0022_Notifications-1024x636.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0022_Notifications-300x186.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0022_Notifications-768x477.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/08/WIN_001_0022_Notifications.png 1039w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>Nous n&rsquo;allons pas nous mentir et vous pouvez rameuter vos collègues FrontEnd, mon CSS et HTML sont plus que nauséeux. Mais mon avocat tiens à vous rappeler que je déteste faire du HTML et CSS, et qu&rsquo;au vu de l&rsquo;effort fournit vous devriez plutôt m&rsquo;encourager (et initier une troisième mi-temps. Car n&rsquo;oublions pas, <a href="https://www.youtube.com/watch?v=7fwCXvPzuSs">On&nbsp;voit quand j&rsquo;ai bu, on&nbsp;voit pas quand j&rsquo;ai soif.</a> &lt;3).</p>



<p>Oui, il y a de quoi penser à une version 1.0.1 en ajoutant des fonctionnalités telles qu&rsquo;un peu de forme, des statistiques sur le périmètre protégé par LAPS, un suivi d&rsquo;Azure AD etc. Toutefois, je vais laisser un peu de temps avant de pousser ces bugs, ou features [rayer la mention utile].</p>



<h2 class="wp-block-heading">GitHub</h2>



<p>La première version stable de mon petit outils. Toutefois il sera nécessaire de suivre la partie précédente pour implémenter ce dernier.</p>



<p class="has-text-align-center"><a href="https://github.com/EGuillemard/SS_040_WIN_LAPS-Audit/tree/9464b65fd063885319fadecf7493fb1d46e139f7">Miaou</a></p>



<h2 class="wp-block-heading">Conclusion</h2>



<p>Je vais être honnête et vous dire que je me suis éclaté sur cette technologie. C&rsquo;est un outil puissant, simple et complet. Le seul bémol que je pointe (et que j&rsquo;ai pointé) reste la partie audit et reporting.</p>



<p>Il est également important de prendre avec précaution la rotation des mots de passe DSRM. Il est nécessaire d&rsquo;aborder ce point dans la PSSI et de définir le rythme ainsi que tous les caractéristiques de son renouvellement et de l&#8217;emplacement de stockage de ces derniers.</p>



<p>N&rsquo;oublions pas néanmoins que nous ne traitons que des comptes d&rsquo;administration local des postes qui sont joint au domaine et non des postes, serveurs qui n&rsquo;y sont pas. Il faudra en cas d&rsquo;avarie définir la procédure de rotation des mots de passe et des ressources non concernés par cette automatisation d&rsquo;être traitées en priorité selon leurs criticités.</p>



<p>L&rsquo;un des points qui me frustre et que je n&rsquo;ai pas détaillé car je me suis cassé les dents (pour l&rsquo;instant) reste de ne pas avoir pu déchiffrer un mot de passe LAPS depuis la restauration de l&rsquo;attribut VEEAM. Mais je ne désespère pas et vais y passer d&rsquo;avantage de temps. Je reviendrai plus tard sur ce billet 🙂</p>



<p>Le mot de la fin</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>Le mot de passe ? Comment est votre blanquette. Caput Draconis? Nous avons un gagnant. Vous repartez avec votre point en gratin dauphinois sur un air latinos ! OH-oh-OH</em></p>
<cite>Erwan GUILLEMARD</cite></blockquote>



<h2 class="wp-block-heading">Sources</h2>



<ul class="wp-block-list">
<li>Windows LAPS : <a href="https://learn.microsoft.com/en-us/windows-server/identity/laps/laps-overview">Guide</a></li>



<li>Windows LAPS : <a href="https://learn.microsoft.com/fr-fr/windows-server/identity/laps/laps-concepts-overview">Concept Guide</a></li>



<li>Windows LAPS : <a href="https://learn.microsoft.com/fr-fr/windows/win32/seccng/cng-dpapi">DPAPI CNG</a></li>



<li>ANSSI : <a href="https://www.francenum.gouv.fr/magazine-du-numerique/combien-de-temps-un-pirate-met-il-pour-trouver-votre-mot-de-passe-comment">Politique et complexité des MDPs</a></li>
</ul>


<ol class="wp-block-footnotes"><li id="43a7ac84-f517-4d17-aae0-72099dbf4484">LAPS : Local Administrator Password Solution <a href="#43a7ac84-f517-4d17-aae0-72099dbf4484-link" aria-label="Aller à la note de bas de page 1">↩︎</a></li><li id="8ef8e335-9928-4e25-a99b-c87309295117">GPO : Group Policy Object <a href="#8ef8e335-9928-4e25-a99b-c87309295117-link" aria-label="Aller à la note de bas de page 2">↩︎</a></li><li id="47e39968-a4b2-4a76-968a-d728b6970196">CIs : Configurations Items <a href="#47e39968-a4b2-4a76-968a-d728b6970196-link" aria-label="Aller à la note de bas de page 3">↩︎</a></li><li id="9c146a4a-dd6a-43a4-8f38-c17efa423a83">DFL : Domain Forest Level  <a href="#9c146a4a-dd6a-43a4-8f38-c17efa423a83-link" aria-label="Aller à la note de bas de page 4">↩︎</a></li><li id="76f032ff-b612-45ea-95b0-b4a8abbabe60">DPAPI CNG : DataProtection API New Generation <a href="#76f032ff-b612-45ea-95b0-b4a8abbabe60-link" aria-label="Aller à la note de bas de page 5">↩︎</a></li><li id="e6a22236-92f0-437a-b1ae-9667566bc825">AES-256 : Advanced Encryption Standard 256 bits <a href="#e6a22236-92f0-437a-b1ae-9667566bc825-link" aria-label="Aller à la note de bas de page 6">↩︎</a></li><li id="7ad00b28-38d1-4cfb-a321-e67f48a84499">DC : Domain Controler <a href="#7ad00b28-38d1-4cfb-a321-e67f48a84499-link" aria-label="Aller à la note de bas de page 7">↩︎</a></li><li id="951d22ae-5f4b-4ed0-9290-9a0a65b1cdda">AD : Active Directory <a href="#951d22ae-5f4b-4ed0-9290-9a0a65b1cdda-link" aria-label="Aller à la note de bas de page 8">↩︎</a></li><li id="a1fafd83-b409-49d7-8e3e-05ef16dedcb4">GLS : Group <em>domain</em> Local Security <a href="#a1fafd83-b409-49d7-8e3e-05ef16dedcb4-link" aria-label="Aller à la note de bas de page 9">↩︎</a></li><li id="81691b3f-93b7-4272-80cb-8a262077db5d">MSA : Managed Service Accounts  <a href="#81691b3f-93b7-4272-80cb-8a262077db5d-link" aria-label="Aller à la note de bas de page 10">↩︎</a></li><li id="35bad14b-25e8-4a5e-9dff-44329f03e3ec">gMSA : Group Managed Service Accounts  <a href="#35bad14b-25e8-4a5e-9dff-44329f03e3ec-link" aria-label="Aller à la note de bas de page 11">↩︎</a></li></ol>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
