<?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>Securité &#8211; erwan.guillemard</title>
	<atom:link href="https://erwanguillemard.com/tag/securite/feed/" rel="self" type="application/rss+xml" />
	<link>https://erwanguillemard.com</link>
	<description>Blog personnel</description>
	<lastBuildDate>Thu, 12 Mar 2026 08:28:08 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://erwanguillemard.com/wp-content/uploads/2024/02/cropped-Logo-sans-baseline-32x32.png</url>
	<title>Securité &#8211; erwan.guillemard</title>
	<link>https://erwanguillemard.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>WIN &#8211; ADDS &#038; Temporary Group Membership</title>
		<link>https://erwanguillemard.com/win-adds-temporary-group-membership/</link>
		
		<dc:creator><![CDATA[Erwan Guillemard]]></dc:creator>
		<pubDate>Sat, 04 Apr 2026 14:50:00 +0000</pubDate>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ADDS]]></category>
		<category><![CDATA[Securité]]></category>
		<guid isPermaLink="false">https://erwanguillemard.com/?p=3327</guid>

					<description><![CDATA[Il n&#8217;est jamais trop tard pour parler de sécurité et de découvrir des fonctionnalités existantes sur lesquelles je suis passé allégrement à côté et ce depuis 2016&#8230; Comme quoi, il n&#8217;est jamais trop tard. Alors de quel mécanisme de sécurité vais-je aborder ? Dans l&#8217;ère du temps, nous parlons sans cesse de PAM, PIM, ZTNA,...]]></description>
										<content:encoded><![CDATA[
<p>Il n&rsquo;est jamais trop tard pour parler de sécurité et de découvrir des fonctionnalités existantes sur lesquelles je suis passé allégrement à côté et ce depuis 2016&#8230; Comme quoi, il n&rsquo;est jamais trop tard.</p>



<p class="has-text-align-center"><strong>Alors de quel mécanisme de sécurité vais-je aborder ? </strong></p>



<p>Dans l&rsquo;ère du temps, nous parlons sans cesse de PAM<sup data-fn="ec10b2ae-5ea1-491a-a70e-30a705e606ba" class="fn"><a href="#ec10b2ae-5ea1-491a-a70e-30a705e606ba" id="ec10b2ae-5ea1-491a-a70e-30a705e606ba-link">1</a></sup>, PIM<sup data-fn="44bed6e4-dd83-4e4d-a36d-3d5b0d5e1df7" class="fn"><a href="#44bed6e4-dd83-4e4d-a36d-3d5b0d5e1df7" id="44bed6e4-dd83-4e4d-a36d-3d5b0d5e1df7-link">2</a></sup>, ZTNA<sup data-fn="a7f26285-202f-4abc-8fbe-495c821aa98b" class="fn"><a href="#a7f26285-202f-4abc-8fbe-495c821aa98b" id="a7f26285-202f-4abc-8fbe-495c821aa98b-link">3</a></sup>, termes qui jusqu&rsquo;il y a quelques années étaient obscurs et commençaient tous justes à émerger. Si aujourd&rsquo;hui ces termes sont incontournables, je m&rsquo;interroge à implémenter ces derniers dans un environnement OnPremise (pour ne pas dire mon environnement) en tenant compte :</p>



<ul class="wp-block-list">
<li>Du modèle de tiering de l&rsquo;infrastructure</li>



<li>De la segmentation en place des rôles et permissions</li>



<li>Du durcissement de sécurité</li>
</ul>



<p>Toutefois et encore une fois, comme le disait un ancien collègue la sécurité ce n&rsquo;est pas pratique et je souhaite mettre en place une certaine souplesse à certains comptes utilisateurs bien identifiés.</p>



<p class="has-text-align-center"><a href="https://www.youtube.com/watch?v=IOtfbXAGKG4&amp;list=RDIOtfbXAGKG4&amp;start_radio=1">Pif, PAM, Pouf, Je suis informaticien ; Pif, PAM, Pouf ça c&rsquo;est vraiment trop bien !</a></p>



<p>Donc me voilà parti pour l&rsquo;étude et l&rsquo;implémentation d&rsquo;une des fonctionnalités PAM fournit par Windows, l&rsquo;appartenance temporaire à un groupe ou Temporary Group Membership (TGM<sup data-fn="8172a65b-8801-4743-896d-7be205dc4dea" class="fn"><a href="#8172a65b-8801-4743-896d-7be205dc4dea" id="8172a65b-8801-4743-896d-7be205dc4dea-link">4</a></sup>).</p>





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



<p>Je pars du principe que nous avons un environnement Windows avec un contrôleur ADDS<sup data-fn="329a3ad9-bad6-4ee9-8018-4f04b6a0ce09" class="fn"><a href="#329a3ad9-bad6-4ee9-8018-4f04b6a0ce09" id="329a3ad9-bad6-4ee9-8018-4f04b6a0ce09-link">5</a></sup>. Ce dernier est OnPremise est non hybride (pas de jonction avec AAD<sup data-fn="66200fbf-59c4-4470-8c5f-4a5d63bd91a8" class="fn"><a href="#66200fbf-59c4-4470-8c5f-4a5d63bd91a8" id="66200fbf-59c4-4470-8c5f-4a5d63bd91a8-link">6</a></sup>).</p>



<p>Notre architecture se base sur la segmentation en tiering de notre SI<sup data-fn="b2c40b43-9f6f-4d0d-9f38-135df62b4c9b" class="fn"><a href="#b2c40b43-9f6f-4d0d-9f38-135df62b4c9b" id="b2c40b43-9f6f-4d0d-9f38-135df62b4c9b-link">7</a></sup> et notre ADDS est durci selon les préconisations de l&rsquo;ANSSI<sup data-fn="1b7dbd0d-2d64-4802-83f8-a9c929f472c5" class="fn"><a href="#1b7dbd0d-2d64-4802-83f8-a9c929f472c5" id="1b7dbd0d-2d64-4802-83f8-a9c929f472c5-link">8</a></sup>.</p>



<p>L&rsquo;objectif que je me fixe est donc de mettre en place la fonctionnalité d&rsquo;attribution de droit d&rsquo;administration temporairement à un utilisateur sans à avoir de :</p>



<ul class="wp-block-list">
<li>Créer un compte d&rsquo;administration dédié à un usage ponctuel</li>



<li>D&rsquo;attribuer les droits d&rsquo;administration (domaine ou local) permanent</li>
</ul>



<p>Comme d&rsquo;accoutumé (car nous ne changeons pas les bonnes vieilles habitudes) l&rsquo;environnement Windows sera durci selon les bonnes pratiques et j&rsquo;utiliserai mes deux contrôleurs de domaine 2025 en CORE.</p>



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



<ul class="wp-block-list">
<li><strong>SE :</strong>
<ul class="wp-block-list">
<li>Windows Server : 2k16 et version ultérieures</li>
</ul>
</li>



<li><strong>Apps :</strong>
<ul class="wp-block-list">
<li>ADDS</li>
</ul>
</li>



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



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



<p>Il est important de comprendre comment fonctionne et ce qu&rsquo;apporte l&rsquo;ajout de la fonctionnalité « Privileged Access Management Feature ».</p>



<p>Il est impératif et primordial que l&rsquo;ensemble des serveurs AD soit <mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"><span style="text-decoration: underline;">au minima en version WS 2k16</span></mark> et donc que le schéma de la forêt soit en version 2016.</p>



<p>Au vu des derniers propos énoncés, nous pouvons nous douter que nous allons altérer le schéma de notre AD. Ce qui est implicite (mais enfonçons une porte ouverte), l&rsquo;installation de cette fonctionnalité sera irréversible (oui c&rsquo;est une extension du schéma&#8230; La base j&rsquo;en encore envie d&rsquo;écrire. Oups c&rsquo;est fait).</p>



<h3 class="wp-block-heading">Extension du schéma Active Directory</h3>



<p>Je juge important de savoir ce qui va être ajouté. C&rsquo;est pourquoi une sous partie va être nécessaire pour regarder plus en détail la liste des nouveaux objets et attributs.</p>



<p>La liste n&rsquo;est pas longue. Toutefois il convient de rappeler que « ce n&rsquo;est pas le nombre d&rsquo;objet qui fait la force » mais leur usage.</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id3327_85f65d-fd kt-accordion-has-4-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-pane3327_72b917-7f"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>Objets</strong></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>L&rsquo;un des objets centraux de PAM est l&rsquo;object <strong>msDS-ShadowPrincipal</strong>. Son rôle représente un principal de sécurité fantôme qui sert notamment de jonction temporaire entre un utilisateur ou groupe à un groupe privilégié.</p>



<p>Le second objet est un container <strong>msDS-ShadowPrincipalContainer</strong>. Ce dernier va contenir les objets de type msDS-ShadowPrincipal et garantir une organisation de la configuration PAM.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane3327_bbbea9-ea"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>Attributs</strong></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 distinguons deux types d&rsquo;attributs. Les attributs spécifiques propres à PAM et les attributs étendus.</p>



<ul class="wp-block-list">
<li><strong><span style="text-decoration: underline;">msDS-ShadowPrincipalSid :</span></strong> De type SID, ce dernier permet de prendre le SID<sup data-fn="4efd3a4f-04e4-49de-8f24-1f8166178ee7" class="fn"><a href="#4efd3a4f-04e4-49de-8f24-1f8166178ee7" id="4efd3a4f-04e4-49de-8f24-1f8166178ee7-link">9</a></sup> du compte utilisateur ou du groupe (externe ou interne) et de créer la jonction d&rsquo;appartenance temporaire. En plus simple, c&rsquo;est ce qui va permettre à notre AD<sup data-fn="190798aa-1ac2-44b6-be35-e16ee5e894f0" class="fn"><a href="#190798aa-1ac2-44b6-be35-e16ee5e894f0" id="190798aa-1ac2-44b6-be35-e16ee5e894f0-link">10</a></sup> de traiter l&rsquo;appartenance temporaire (fantôme) comme un groupe de sécurité à part entière.</li>



<li><strong><span style="text-decoration: underline;">memberTimeToLive : </span></strong>De type integer, ce dernier va prendre en compte la durée du TTL<sup data-fn="e6bbd41f-636e-49b9-ac13-b18007210b46" class="fn"><a href="#e6bbd41f-636e-49b9-ac13-b18007210b46" id="e6bbd41f-636e-49b9-ac13-b18007210b46-link">11</a></sup> en secondes de l&rsquo;appartenance de notre compte utilisateur ou groupe à un autre groupe. Cet attribut fonctionne avec les groupes member et memberOf. Une fois la durée expiré, la suppression est automatique.</li>
</ul>



<p>Dans le cas des attributs étendus ces derniers sont déjà présents dans le schéma initial. Néanmoins, ces derniers deviennent d&rsquo;une haute criticité avec l&rsquo;ajout de la fonctionnalité PAM. Pourquoi ? Simplement parce qu&rsquo;il va avoir la capacité de prendre en comptes des valeurs avec TTL.</p>



<p>Ceci est vrai pour l&rsquo;attribut member.</p>



<p class="has-text-align-center">member;TTL=3600</p>



<p>L&rsquo;attribut memberOf quant à lui va gérer les appartenances temp</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane3327_89f519-6c"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>Droits étendus</strong></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>Du côté des droits étendus (où <em>Extended Rights</em> pour nos amis anglophones) liés au Shadow Principal sont à noter les droits suivants :</p>



<ul class="wp-block-list">
<li><strong>Create msDS-ShadowPrincipal objects</strong></li>



<li><strong>Manage Shadow Principal Membership</strong></li>
</ul>



<p>Ces deux extensions sont relativement importantes puisqu&rsquo;elles permettent de générer des flux d&rsquo;approbation (Approbation Workflows), les scripts d&rsquo;automatisations et le MIM<sup data-fn="e9681cdd-0dac-4c25-a6dd-b2b28e9fe052" class="fn"><a href="#e9681cdd-0dac-4c25-a6dd-b2b28e9fe052" id="e9681cdd-0dac-4c25-a6dd-b2b28e9fe052-link">12</a></sup> PAM.</p>



<p class="has-text-align-center"><a href="https://www.youtube.com/watch?v=arXrc2UqHFM">Barrez vous ! Cons de mimes !</a></p>



<p>Attention, il est important de dissocier deux points bien précis concernant MIM et PIM<sup data-fn="504a3fd7-1971-42ff-a3b1-99c39c72cfbc" class="fn"><a href="#504a3fd7-1971-42ff-a3b1-99c39c72cfbc" id="504a3fd7-1971-42ff-a3b1-99c39c72cfbc-link">13</a></sup>. MIM pour Microsoft Identity Manager et un composant OnPremise qui n&rsquo;a absolument rien à voir avec PIM du cloud Azure.</p>



<p></p>
</div></div></div>
</div></div></div>



<p></p>



<p class="has-text-align-center">Et avec tous les points, quand est-il des risques ? Oh quasi rien (#MDR)</p>



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



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id3327_47471e-43 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-pane3327_88f8c1-db"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>Structurels</strong></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>L&rsquo;un des premiers risques seraient lors du déploiement de la fonctionnalité. Il est important de bien prendre en compte le côté irréversible de l&rsquo;opération. Je recommanderai de vérifier en amont l&rsquo;état de santé des DCs et de la topologie souhaitée. L&rsquo;objectif étant de ne pas se coltiner une dette technique des familles à la suite d&rsquo;une mauvaise conception.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane3327_20140b-43"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>Délégations</strong></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">
<figure class="wp-block-table aligncenter"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td>Attention à la délégation sur notre container (CN=Shadow Principal Configuration). Si ces derniers sont trop larges un type comme Waldo peut se définir Admin du Domain en créant un ShadowPrincipal. Et hop ! Une escalade invisible&#8230;</td><td><img fetchpriority="high" decoding="async" width="850" height="1801" class="wp-image-3380" style="width: 850px;" src="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_000_Odlaw.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_000_Odlaw.jpg 253w, https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_000_Odlaw-142x300.jpg 142w" sizes="(max-width: 850px) 100vw, 850px" /></td></tr></tbody></table></figure>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane3327_39200c-8b"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>Sécurités</strong></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>Continuons de parler d&rsquo;escalade (<a href="https://youtube.com/shorts/wSKFuIuek_o?feature=share">perso, moi c&rsquo;est le bloc jusqu&rsquo;à ce que je ni**e deux ménisques</a>), le risque d&rsquo;une escalade furtive et temporaire&#8230; </p>



<p>Les mécanismes PAM octroyant des droits temporaires, l&rsquo;usage d&rsquo;un compte admin temporaire serait peu visibles dans les journaux d&rsquo;audit et sont souvent peu, voire mal surveillés. Ainsi, un attaquant peut devenir Admin du Domain pour 1 heure réaliser une opération de type DCsync plus la création d&rsquo;une backdoor et ce je la jouer à la <a href="https://www.youtube.com/watch?v=DGpYL-0hyic">David Copperfield</a>&#8230;</p>



<p>Une attaque directe par ShadowPrincipals à travers un compte compromis ayant les droits PAM. De cette manière, notre Charlie ou Waldo peut créer un ShadowPrincipal ajoutant un TTL à un groupe d&rsquo;administration (Tiers 0) sans à avoir besoin de modifier directement le groupe. Cette méthode permettrait de contourner un grand nombre de mécanisme de sécurité en place.</p>



<p>L&rsquo;attaque par SID, le classique des classiques. Comme vu précédemment, l&rsquo;attribut msDS-ShadowPrincipalSid accepte des SID internes et externes (dans le cas de forêt approuvé). Ainsi, une mauvaise gestion des relations d&rsquo;approbations ou la compromission d&rsquo;une forêt externe donnerait automatiquement un accès privilégié au SI local.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane3327_a9f58a-e2"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>Opérationnels</strong></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>La perte d&rsquo;un accès administrateur qui aurait été délégué sur une mauvaise évaluation de la durée du TTL pourrait être lourd de conséquence. Risque de ne plus être administrateur durant une opération critique nécessitant les droits d&rsquo;administrations par exemple et donc de se retrouver totalement bloqué.</p>



<p>Une complexité trop élevée peut également relever d&rsquo;un frein. Cela peut rendre les débogages longs et fastidieux (un peu comme ma b**e&#8230; Très très drôle M&rsquo;sieur&#8230;) ainsi que des comportements inattendus. La pire chose possible reste la mauvaise formation des équipes et le risque d&rsquo;erreurs fréquentes par les équipes de Niveau 0 ou 1.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane3327_52f57d-da"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>Gouvernances et Humains</strong></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>De la mauvaise formation des équipes relèvent souvent de processus non définis ou totalement ignoré. Ainsi il ne serait pas rare d&rsquo;assigner des TTLs trop longs dans le temps pour avoir la paix (qu&rsquo;est-ce que la sécurité peut être pénible) ou de définir des TTLs trop courts et d&rsquo;enchainer les élévations temporaires.</p>



<p class="has-text-align-center"><strong>Se pose alors la question de « Mais à quoi sert le PAM finalement ? »</strong></p>



<p>L&rsquo;excès de confiance et son mauvais usage peut entrainer un faux sentiment de sécurité. Le PAM a été implémenté, nous ne risquons rien. Sauf que les comptes d&rsquo;administrations ne sont pas protégés correctement et dans le cas de compromission d&rsquo;un poste admin&#8230; Je ne fais pas de dessin hein ?</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane3327_3ee10b-e2"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>Audits et Conformités</strong></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 inscrit précédemment, les journaux d&rsquo;évènements sont assez difficiles à identifier et à corréler dans le cadre d&rsquo;attribution temporaire des droits. Ainsi, l&rsquo;expiration d&rsquo;un TTL n&rsquo;est pas un évènement clair pour l&rsquo;audit. Ce qui peut facilement limiter l&rsquo;analyse et le diagnostic de la part des équipes.</p>



<p>C&rsquo;est pourquoi il va être nécessaire de porter une vigilance particulière sur les événements suivants :</p>



<figure class="wp-block-table aligncenter"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-center" data-align="center"><strong>Event ID</strong></td><td><strong>Description / Rôles / Types</strong></td></tr><tr><td class="has-text-align-center" data-align="center">4728</td><td>Ajout à un groupe global</td></tr><tr><td class="has-text-align-center" data-align="center">4732</td><td>Ajout à un groupe local</td></tr><tr><td class="has-text-align-center" data-align="center">4756</td><td>Ajout à un groupe universel</td></tr><tr><td class="has-text-align-center" data-align="center">4729</td><td>Expiration ou Suppression à un groupe global</td></tr><tr><td class="has-text-align-center" data-align="center">4733</td><td>Expiration ou Suppression à un groupe local</td></tr><tr><td class="has-text-align-center" data-align="center">4757</td><td>Expiration ou Suppression à un groupe universel</td></tr><tr><td class="has-text-align-center" data-align="center">5137</td><td>Création d&rsquo;un objet</td></tr><tr><td class="has-text-align-center" data-align="center">5136</td><td>Modification d&rsquo;un objet</td></tr><tr><td class="has-text-align-center" data-align="center">5141</td><td>Suppression d&rsquo;un objet</td></tr><tr><td class="has-text-align-center" data-align="center">4672</td><td>Attribution de privilège élevés</td></tr><tr><td class="has-text-align-center" data-align="center">4624</td><td>Logon d&rsquo;un compte ayant des droits d&rsquo;administration</td></tr><tr><td class="has-text-align-center" data-align="center">4634</td><td>Logoff d&rsquo;un compte ayant des droits d&rsquo;administration</td></tr><tr><td class="has-text-align-center" data-align="center">4648</td><td>Logon explicite d&rsquo;un compte ayant des droits d&rsquo;administration</td></tr><tr><td class="has-text-align-center" data-align="center">4662</td><td>Accès d&rsquo;objets AD sensibles</td></tr><tr><td class="has-text-align-center" data-align="center">4719</td><td>Modification audit policy</td></tr><tr><td class="has-text-align-center" data-align="center">1102</td><td>Effacement des journaux</td></tr><tr><td class="has-text-align-center" data-align="center">4768/4769</td><td>Kerberos (corrélation des TTLs)</td></tr></tbody></table></figure>



<p>A cela s&rsquo;ajoute les diverses solutions du marché qui viennent auditer la santé des SIs et notamment celui des AD. Ces derniers ne prennent pas en compte l&rsquo;attribut <strong>member;TTL</strong> et ShadowPrincipal. Les SIEMs<sup data-fn="a7416798-8244-4996-ba17-b6cb7ce255a7" class="fn"><a href="#a7416798-8244-4996-ba17-b6cb7ce255a7" id="a7416798-8244-4996-ba17-b6cb7ce255a7-link">14</a></sup> valant paroles d&rsquo;évangiles pour les SOCs<sup data-fn="8aee950a-5f95-41a2-9837-c95f7eddccdb" class="fn"><a href="#8aee950a-5f95-41a2-9837-c95f7eddccdb" id="8aee950a-5f95-41a2-9837-c95f7eddccdb-link">15</a></sup>, hop ni une ni deux l&rsquo;informations passent à la trappe.</p>
</div></div></div>
</div></div></div>



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



<p>Les objectifs sont de pouvoir garantir <mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">AUCUN</mark> accès administrateur permanent afin d&rsquo;obtenir une élévation <em><strong>temporaire</strong></em>, <strong><em>traçable</em></strong> et <strong><em>approuvé</em></strong><em><strong>e</strong></em> (je reviendrai sur ces points dans la partie pratique). Tout cela afin de contenir et maitrisé en cas de compromission l&rsquo;impact ainsi que la surface d&rsquo;exposition.</p>



<p>Il est également primordial de comprendre que l&rsquo;usage du PAM au sens windows du terme ne doit servir que pour :</p>



<ul class="wp-block-list">
<li>Admin du Domaine</li>



<li>Administrateur de l&rsquo;entreprise</li>



<li>Administrateur du schéma</li>



<li>Administrateurs DC<sup data-fn="ddad7c45-1971-48e1-9703-8ed11530de1c" class="fn"><a href="#ddad7c45-1971-48e1-9703-8ed11530de1c" id="ddad7c45-1971-48e1-9703-8ed11530de1c-link">16</a></sup></li>



<li>Autres (Comptes ADCS<sup data-fn="fb1718ee-484f-4432-9238-67b667dc952c" class="fn"><a href="#fb1718ee-484f-4432-9238-67b667dc952c" id="fb1718ee-484f-4432-9238-67b667dc952c-link">17</a></sup>, ADFS<sup data-fn="0ec485fd-eeb7-4b54-9765-4384bec2f735" class="fn"><a href="#0ec485fd-eeb7-4b54-9765-4384bec2f735" id="0ec485fd-eeb7-4b54-9765-4384bec2f735-link">18</a></sup>, AAD Connect)</li>
</ul>



<p>L&rsquo;usage pour du helpdesk ou pour des serveurs applicatifs doit être proscrit. Ce qui est logique car il revient à Services Informatiques d&rsquo;arbitrer sur les demandes utilisateurs. Néanmoins, pour octroyer des droits d&rsquo;administrateur à un stagiaire ou prestataire ça fonctionne très bien mais encore une fois sous réserve DE certains mécanismes.</p>



<p>Cela passe donc par plusieurs axes.</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id3327_db657d-6d kt-accordion-has-4-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-pane3327_d6db93-58"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>Architecture</strong></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 important de noter qu&rsquo;avant toutes choses, les serveurs en Tiers 0 ne doivent pas avoir accès à internet en dehors des URLs approuvés (et c&rsquo;est non négociable) et ne doivent contenir QUE les logicielles d&rsquo;architecture et de sécurité (donc vous me virez vos salop***ies de NinjaRMM, LogMeIn, TeamViewer et compagnie).</p>



<ul class="wp-block-list">
<li><strong>URLs des serveurs antivirus (genre TrendMicro etc)</strong></li>



<li><strong>URLs des serveurs de mises à jour Microsoft</strong></li>
</ul>



<p>Il va de soi qu&rsquo;étant en Tiers 0, le réseau est isolé et filtré en entrée et sortie. Il n&rsquo;y a pas d&rsquo;administration direct depuis une ressources de Tiers 1 ou 2.</p>



<figure class="wp-block-table aligncenter"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td>Ci-contre, la topologie comme cette dernière devrait l&rsquo;être avec MIM et PAM.<br><br>Le fait d&rsquo;intercaler un server MIM-PAM entre notre ADDS et nos postes clients permettent d&rsquo;user comme dit précédemment des mécanismes d&rsquo;approbations de workflow et d&rsquo;automatisation.<br><br>Le serveur PAM doit être vu comme un bastion dans un réseau isolé de niveau T0.<br></td><td><img decoding="async" src="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_005_001_Topologie_MIM.jpg" alt="https://learn.microsoft.com/fr-fr/microsoft-identity-manager/media/mim-topo-multitier.png"></td></tr></tbody></table></figure>



<p>La mise place d&rsquo;une telle architecture va être relativement complexe pour moi au vu des ressources disponibles niveau homelab. Je vais donc me passer du serveur intermédiaire MIM PAM.</p>



<p>Cette topologie est compatible et valide bien qui moins recommandée quant aux risques accrus relatif à l&rsquo;audit et d&rsquo;un contrôle moins efficace. Cela nous demandera donc en contrepartie d&rsquo;être irréprochable sur les groupes, droits et permissions lié à la délégation. Il sera nécessaire d&rsquo;avoir un regard et contrôle réguliers des scripts Powershell.</p>



<p>Donc me concernant je resterai sur mon modèle en place de tiering T0-T1-T2 avec segmentation et contrôle des flux.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane3327_d09745-38"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>Comptes &amp; IDs</strong></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>Cela me semble logique, mais important de le répéter il ne faut en aucun cas user d&rsquo;authentification interactif et de ne pas utiliser de compte administrateur. Et cherry on the cake, les comptes sont <strong><span style="text-decoration: underline;">TOUJOURS nominatifs</span></strong> (oui même pour vous les éditeurs).</p>



<p class="has-text-align-center">Ainsi, pas de compte admin permanent. 🙂</p>



<p>Néanmoins, il est important d&rsquo;avoir des comptes <strong><em>brises-glaces</em></strong> afin de ne pas se couper l&rsquo;herbe sous le pied. Dans la logique il en faudrait minimum deux et selon l&rsquo;ANSSI maximum deux (Décidemment la sécurité c&rsquo;est borderline). Naturellement ces comptes doivent être utilisés en cas d&rsquo;extrême urgence et lors de leurs usages une alerte doit être notifiée.</p>



<p>Ce qu&rsquo;il faut comprendre avec PAM, nous ne mettons pas tous nos œufs dans le même panier.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane3327_88c420-62"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>Nomenclatures des groupes</strong></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>Après ce qui a été dit dans le volet ci-haut, il est nécessaire de définir des GGS<sup data-fn="cd2a7bfd-1365-4cfa-876f-ba0c2c749e01" class="fn"><a href="#cd2a7bfd-1365-4cfa-876f-ba0c2c749e01" id="cd2a7bfd-1365-4cfa-876f-ba0c2c749e01-link">19</a></sup> propres au PAM et d&rsquo;ajouter ces derniers en tant que membre des groupes adéquates.</p>



<p>Ainsi pour ma part j&rsquo;userai de la nomenclature suivante :</p>



<p class="has-text-align-center"><strong><em>GGS_PAM_NOM_Elevation</em></strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="883" height="58" src="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_005_002_GGS-1.jpg" alt="" class="wp-image-3383" srcset="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_005_002_GGS-1.jpg 883w, https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_005_002_GGS-1-300x20.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_005_002_GGS-1-768x50.jpg 768w" sizes="(max-width: 883px) 100vw, 883px" /></figure>
</div>


<p>Simple et efficace.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane3327_747b32-20"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>Durée de vie</strong></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>Crucial dilemme de la définition de la durée de l&rsquo;élévation de droit temporaire&#8230; Dans la logique une intervention standard est de 30 à 60 minutes en cas de crise nous pourrions définir 120 minutes maximum. Toute durée supérieure à 2 heures et donc interdit.</p>



<p class="has-text-align-center"><strong>Oui mais voilà, je dois faire une opération sensible en tant que SysAdmin sur un SI sur la journée comment je fais ?</strong></p>



<p>Excellente question à laquelle je répondrai, nous sommes SysAdmin et donc nous avons l&rsquo;accréditation pour intervenir sur notre SI. Donc je n&rsquo;utiliserai pas PAM mais le système classique de mon compte utilisateur avec élévation de droit avec mon compte administrateur délégué ou super administrateur.</p>



<p class="has-text-align-center"><strong>Mon presta doit faire une montée de version de la solution applicative sur l&rsquo;un de nos serveurs pour la journée soit 7 heures de boulot. Comment tu réponds à ça Monsieur jesaistout ?</strong></p>



<p>J&rsquo;ai pour habitude de ne jamais laissé un prestataire intervenir seul sur mon SI ou un SI sous ma responsabilité. Donc je passe ma journée à surveiller d&rsquo;un coin de l&rsquo;œil ces actions. Et dans son cas, je me note de renouveler personnellement toutes les deux heures ça durée de vie. Généralement il n&rsquo;y a pas trop besoin car le prestataire est administrateur local du serveur mais certaines fois il est nécessaire de lui octroyer les droits d&rsquo;administrations du domaine (et ça, ça fait froid dans le dos et en dit long sur la topologie de la solution applicative&#8230;).</p>



<p>En complément, il en va de soi mais la tacite reconduction des renouvellements des TTLs et à bannir et encore une fois pas de TTL trop long par ne pas être emme**é toutes les deux minutes.</p>
</div></div></div>
</div></div></div>



<p></p>



<p>Bien je pense qu&rsquo;avec tout ça nous en savons assez pour passer à la pratique non ?</p>



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



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



<p>Commençons par vérifier le niveau fonctionnel de notre forêt. Nous retrouvons la commande qui devient normalement un automatisme maintenant 🙂</p>



<pre class="wp-block-code has-theme-palette-9-color has-theme-palette-4-background-color has-text-color has-background has-link-color has-small-font-size wp-elements-9307cdc13f0dcaa88fb837c1ea2d0a1c"><code><strong>&gt; Get-ADForest</strong></code></pre>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td>La preuve à l&rsquo;appui, ci-contre la preuve que pour l&rsquo;attribut ForestMode la valeur Windows2016Forest est présente.<br><br>Donc les prérequis sont atteints.<br><br>Néanmoins, je recommande un petit contrôle de santé de l&rsquo;AD par précaution et actions avant de poursuivre.</td><td><img decoding="async" src="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_001_ADForestCheck.jpg" alt=""></td></tr></tbody></table></figure>



<p></p>



<p>Vérifions maintenant si la fonctionnalité est déjà présente ou non sur notre SI.</p>



<pre class="wp-block-code has-theme-palette-9-color has-theme-palette-4-background-color has-text-color has-background has-link-color has-small-font-size wp-elements-8778877ba943af528e8366a29ae16896"><code><strong>&gt; Get-ADOptionalFeature -Filter "name -eq 'Privileged Access Management Feature'"</strong></code></pre>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td>Si la valeur de l&rsquo;attribut EnabledScopes est vide, la fonctionnalité n&rsquo;est pas déployée sur le système. Sinon ba elle l&rsquo;est déjà.<br>Evident Cap&rsquo;taine Obvious !</td><td><img decoding="async" src="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_002_CheckFonctionnality-1024x174.jpg" alt=""></td></tr></tbody></table></figure>



<p></p>



<p>Activons alors cette fonctionnalité.</p>



<p class="has-text-align-center"><strong><span style="text-decoration: underline;"><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0000" class="has-inline-color">/!\</mark></span>Attention :</strong> C&rsquo;est à ce moment que l&rsquo;opération devient irréversible. Et deuxième point de vigilance il faut que nous soyons administrateur du schéma temporairement</p>



<pre class="wp-block-code has-theme-palette-9-color has-theme-palette-4-background-color has-text-color has-background has-link-color has-small-font-size wp-elements-78803b1ab0a9692af268118c413ff224"><code><strong>&gt; Enable-ADOptionalFeature 'Privileged Access Management Feature' -Scope ForestOrConfigurationSet -Target ronelab.lan</strong></code></pre>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td><img decoding="async" src="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_003_AddFonctionnality-1024x89.jpg" alt=""></td><td>Il suffira de valider le déploiement en activant la touche <strong>T</strong> pour <strong>oui pour tout</strong>. Et quelques secondes plus tard, c&rsquo;est terminé.<br><br>Oui tous ces mots pour ça&#8230; Il faut bien faire durer le plaisir non ? &lt;3</td></tr></tbody></table></figure>



<p></p>



<p>Si nous voulons vraiment valider le bon déploiement de notre fonctionnalité, nous pouvons rappeler la seconde commande ci-haut pour vérifier les paramètres d&rsquo;activation de notre scope.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="160" src="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_004_EnabledFonctionnality-1024x160.jpg" alt="" class="wp-image-3346" srcset="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_004_EnabledFonctionnality-1024x160.jpg 1024w, https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_004_EnabledFonctionnality-300x47.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_004_EnabledFonctionnality-768x120.jpg 768w, https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_004_EnabledFonctionnality.jpg 1252w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Nous constatons donc que cette dernière n&rsquo;est plus vide ou $null. Nous pourrions également aller nous balader dans la configuration de notre AD pour trouver notre container.</p>



<p>Place à l&rsquo;assignation temporaire des droits 🙂</p>



<h3 class="wp-block-heading">Attribution temporaire</h3>



<p class="has-text-align-center"><strong>Bhin alors comment qui font qu&rsquo;on fait pour assigner des droits temporaires ? </strong></p>



<p>De la manière la plus simple du monde gazier, même si au passage il faudrait parler un langage au minima courant plutôt que familier.</p>



<p>Pour se faire, un compte admin et un accès à l&rsquo;un de nos DCs en powershell (où au DC en lui même). Je proscris volontairement les RSATs. Pourquoi ? Parce qu&rsquo;un DC doit être le plus isolé possible.</p>



<pre class="wp-block-code has-theme-palette-9-color has-theme-palette-4-background-color has-text-color has-background has-link-color wp-elements-1c923a27fe61de6a2dc967008764a833"><code><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-1-color"># Définir notre TTL en secondes en tant que variable de type Timespan</mark>
&gt; $ttl=New-TimeSpan -Hours 1 -Minutes 15
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-1-color"># Ajouter notre utilisateur temporairement au groupe</mark>
&gt; Add-ADGroupMember -Identity "GGS_PAM_AdminDomain_Elevation" -Members "john.doe" -MemberTimeToLive $ttl</strong></code></pre>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td>Et c&rsquo;est tout. Je vous l&rsquo;avais dit, rien de bien difficile. Un peu de RTFM et de ligne de commande&#8230;<br><br>Ce qui est intéressant c&rsquo;est de s&rsquo;attarder sur les événements de sécurité. Nous retrouvons avec exactitude ce que nous avons énoncé dans la partie théorie concernant le périmètre d&rsquo;audit.</td><td><img loading="lazy" decoding="async" width="550" height="261" class="wp-image-3359" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_006_addMembers.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_006_addMembers.jpg 1882w, https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_006_addMembers-300x142.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_006_addMembers-1024x485.jpg 1024w, https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_006_addMembers-768x364.jpg 768w, https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_006_addMembers-1536x728.jpg 1536w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr></tbody></table></figure>



<p></p>



<p>Ouai mais alors comment vérifier que notre utilisateur à bien des droits qui court dans le temps ?</p>



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



<p>Soyons un peu curieux et penchons nous dans les attributs de notre objets utilisateurs, groupe d&rsquo;élévation (auquel appartient notre utilisateur) et notre groupe final.</p>



<p class="has-text-align-center"><strong><a href="https://www.youtube.com/results?search_query=surprise">No Surprise ! Il n&rsquo;y a rien ! </a></strong></p>



<p>Etonnant non ? 🙂 J&rsquo;ai été surpris et j&rsquo;ai donc reparcouru la documentation en long, large diagonale&#8230; Pourquoi pouvons nous obtenir l&rsquo;information en powershell (oups j&rsquo;ai divulgâché la suite) et pas en GUI ?</p>



<p>C&rsquo;est là que c&rsquo;est malin. La durée de vie se trouve sur le lien entre l&rsquo;objet utilisateur et le groupe d&rsquo;appartenance (rien sur le groupe cible ce qui est logique). </p>



<pre class="wp-block-code has-theme-palette-9-color has-theme-palette-4-background-color has-text-color has-background has-link-color wp-elements-f4169ec1ae36bdfa3fe430d3a55bfd0a"><code><strong>&gt; Get-ADGroup -Filter * -Properties members -ShowMemberTimeToLive | Where-Object {$_.members -match "TTL*"}</strong></code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="873" height="198" src="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_008_checkAdd.jpg" alt="" class="wp-image-3361" srcset="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_008_checkAdd.jpg 873w, https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_008_checkAdd-300x68.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_008_checkAdd-768x174.jpg 768w" sizes="auto, (max-width: 873px) 100vw, 873px" /></figure>



<p>Et donc côté Kerberos qu&rsquo;est ce qui se passe ? La documentation en parle et nous invite à être vigilant sur ces événements (4768 et 4769). Naturellement comme tout ajout à un groupe, il est nécessaire de fermer et d&rsquo;ouvrir de nouveau la session pour prendre en compte le changement.</p>



<pre class="wp-block-code has-theme-palette-9-color has-theme-palette-4-background-color has-text-color has-background has-link-color wp-elements-bf6cc03e4a8c61ccf265ca581bcd015c"><code><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-1-color">#Dans le contexte de l'utilisateur</mark>
&gt; klist</strong></code></pre>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td>Nous pouvons donc constater (modulo mon temps d&rsquo;ouverture de session) que notre TGT<sup data-fn="4e769c23-6a40-4b39-bca0-bf97eef5f8f9" class="fn"><a href="#4e769c23-6a40-4b39-bca0-bf97eef5f8f9" id="4e769c23-6a40-4b39-bca0-bf97eef5f8f9-link">20</a></sup> à une durée de 1h11 / 1h15. Ce qui correspond à la durée définit dans notre délégation.<br>Une fois le temps imparti passé, le ticket sera renouvelé et donc les droits temporaires d&rsquo;administrations retirés.</td><td><img decoding="async" src="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_009_klistTGT.jpg" alt="" style="width: 550px;"></td></tr></tbody></table></figure>



<p></p>



<p class="has-text-align-center"><strong>Et alors côté journaux d&rsquo;événements qu&rsquo;elles sont les nouvelles ma sœur Anne (#BARBEBLEU) ?</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/thumb/8/84/Barbebleue.jpg/500px-Barbebleue.jpg" alt="" style="width:252px;height:auto"/></figure>
</div>


<p>J&rsquo;ai envie de dire il suffit de parcourir les journaux d&rsquo;évènement de sécurité.</p>


<div class="kb-gallery-wrap-id-3327_481d40-e1 alignnone wp-block-kadence-advancedgallery"><div class="kb-gallery-ul kb-gallery-non-static kb-gallery-type-slider kb-gallery-id-3327_481d40-e1 kb-gallery-caption-style-bottom-hover kb-gallery-filter-none" data-image-filter="none" data-lightbox-caption="true"><div class="kt-blocks-carousel splide kt-carousel-container-dotstyle-dark kt-carousel-arrowstyle-whiteondark kt-carousel-dotstyle-dark kb-slider-group-arrow kb-slider-arrow-position-center" data-slider-anim-speed="400" data-slider-scroll="1" data-slider-arrows="true" data-slider-fade="true" data-slider-dots="true" data-slider-type="slider" data-slider-hover-pause="false" data-slider-auto="" data-slider-speed="7000" data-show-pause-button="false"><div class="splide__track"><ul class="kt-blocks-carousel-init kb-blocks-slider splide__list"><li class="kb-slide-item kb-gallery-slide-item splide__slide"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kadence-blocks-gallery-item-hide-caption"><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic kb-gallery-image-ratio-inherit kb-has-image-ratio-inherit" ><img loading="lazy" decoding="async" src="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_1_AddGroupe.jpg" width="565" height="599" alt="" data-full-image="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_1_AddGroupe.jpg" data-light-image="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_1_AddGroupe.jpg" data-id="3367" class="wp-image-3367 skip-lazy" srcset="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_1_AddGroupe.jpg 565w, https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_1_AddGroupe-283x300.jpg 283w" sizes="auto, (max-width: 565px) 100vw, 565px" /></div></div></figure></div></div></li><li class="kb-slide-item kb-gallery-slide-item splide__slide"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kadence-blocks-gallery-item-hide-caption"><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic kb-gallery-image-ratio-inherit kb-has-image-ratio-inherit" ><img loading="lazy" decoding="async" src="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_2_PrivilegeSpeciaux.jpg" width="575" height="566" alt="" data-full-image="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_2_PrivilegeSpeciaux.jpg" data-light-image="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_2_PrivilegeSpeciaux.jpg" data-id="3368" class="wp-image-3368 skip-lazy" srcset="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_2_PrivilegeSpeciaux.jpg 575w, https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_2_PrivilegeSpeciaux-300x295.jpg 300w" sizes="auto, (max-width: 575px) 100vw, 575px" /></div></div></figure></div></div></li><li class="kb-slide-item kb-gallery-slide-item splide__slide"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kadence-blocks-gallery-item-hide-caption"><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic kb-gallery-image-ratio-inherit kb-has-image-ratio-inherit" ><img loading="lazy" decoding="async" src="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_3_TGT.jpg" width="566" height="653" alt="" data-full-image="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_3_TGT.jpg" data-light-image="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_3_TGT.jpg" data-id="3369" class="wp-image-3369 skip-lazy" srcset="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_3_TGT.jpg 566w, https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_3_TGT-260x300.jpg 260w" sizes="auto, (max-width: 566px) 100vw, 566px" /></div></div></figure></div></div></li><li class="kb-slide-item kb-gallery-slide-item splide__slide"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kadence-blocks-gallery-item-hide-caption"><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic kb-gallery-image-ratio-inherit kb-has-image-ratio-inherit" ><img loading="lazy" decoding="async" src="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_4_opensession.jpg" width="570" height="653" alt="" data-full-image="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_4_opensession.jpg" data-light-image="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_4_opensession.jpg" data-id="3370" class="wp-image-3370 skip-lazy" srcset="https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_4_opensession.jpg 570w, https://erwanguillemard.com/wp-content/uploads/2026/01/WIN_011_010_4_opensession-262x300.jpg 262w" sizes="auto, (max-width: 570px) 100vw, 570px" /></div></div></figure></div></div></li></ul></div></div></div></div>


<p></p>



<p>Bon par contre ne nous cachons pas c&rsquo;est un peu pénible pour ne pas dire casse-cou***e de taper les requêtes powershell. Il faut définir le TTL, connaitre les SAMs des utilisateurs, connaitre les groupes. Bref, source d&rsquo;erreur à gogo. Alors à votre avis en tant que fainéant qu&rsquo;ais je bien pu faire ? 🙂</p>



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



<p>Oui, cela peut paraitre étrange, mais j&rsquo;ai réalisé une application GRAPHIQUE. Un jour à marquer dans les calendriers <a href="https://www.youtube.com/shorts/VaZ8991q4kY">FOR SURE</a> d&rsquo;une bière blanche !</p>



<p>J&rsquo;ai commencé à faire l&rsquo;outil en PS CLI, mais j&rsquo;ai vite trouvé que cela n&rsquo;était pas ergonomique. Alors je me suis demandé pourquoi ne pas réaliser une application en VB.NET ? Flemme monstrueuse. Puis pourquoi pas reprendre une frustration passé du GUI en powershell ?</p>



<p>Hé bien voilà, que je réouvre une vieille blessure et alors quel pied put**n ! Je me suis éclaté.</p>



<p>Bon il reste quelques points à améliorer :</p>



<ul class="wp-block-list">
<li>Multitâche pour retourner les valeurs de l&rsquo;AD</li>



<li>Ajouter des petites icones sympas</li>



<li>Ajouter un petit About (j&rsquo;ai droit à mes droits d&rsquo;auteur)</li>



<li>Publier l&rsquo;application en certifiant cette dernière</li>



<li>Quelques contrôles d&rsquo;erreurs ? :p</li>
</ul>



<p>Bref pas mal de petite chose mais rien de bien méchant.</p>



<h3 class="wp-block-heading">Démonstration</h3>



<p class="has-text-align-center">Rien de telle qu&rsquo;une petite démonstration en images successives pour comprendre, aussi appelé vidéo.</p>



<figure class="wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="WIN   ADDS &amp; Temporary Group Membership" width="720" height="405" src="https://www.youtube.com/embed/oaW9DOBak-w?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



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



<p class="has-text-align-center"><a href="https://github.com/EGuillemard/GS_001-WIN_ADDS_TGM.git">Miaou</a></p>



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



<p>Je mettais attaqué à ce morceau en ne pensant à la base ne pas y consacrer autant de temps. Je me suis rendu compte une nouvelle fois que ce sont les choses les plus simples qui requiert davantage de recul et de réflexion.</p>



<p>Je lutte encore entre les bonnes pratiques et recommandations contre mon usage et le périmètre d&rsquo;applicabilité. Dans un certaine mesure <a href="https://www.youtube.com/watch?v=9K-T6h84F7k&amp;list=RD9K-T6h84F7k&amp;start_radio=1">PAM, PAM, PAM je me mettrai bien une cartouche</a> pour ne pas avoir connu plus tôt cette fonctionnalité. Bref, il est nécessaire d&rsquo;étudier avec sérieux son implémentation et son usage.</p>



<p>Je n&rsquo;ai volontairement pas abordé le système de délégation des droits AD et sur les GPOs. Mais cela reste un impondérable car tout va reposer sur cette base. Ouvrir d&rsquo;un côté pour mieux fermer de l&rsquo;autre, dilemme cornélien que la sécurité. Et honnêtement si j&rsquo;avais traité ce point, l&rsquo;article serait insoutenable (comme la poitrine de <a href="https://www.youtube.com/watch?v=KjxVQZ-3upU&amp;list=RDKjxVQZ-3upU&amp;start_radio=1">PAMELA dans Alerte à Malibu</a> ; Franchement tu devais la faire celle-là espèce de 90tard, tu ne pouvais pas t&rsquo;en empêcher ?).</p>



<p>Je suis conscient qu&rsquo;il reste des axes d&rsquo;améliorations (notamment sur le code). Toutefois, je pense que si suite il doit y avoir cela plus sur PIM ce qui ouvrira la voie vers l&rsquo;environnement Azure.</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>Si je PAM sur PAMELLA ? J&rsquo;offre un CADEAU en infogérance ? Malheureusement vous ne pouvez pas Jean-Pat il y a une « couille dehors » en diagonale. Vous retournez en case magouille. Un partout PAM au centre&#8230;</em></p>
<cite>Erwan GUILLEMARD</cite></blockquote>



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



<ul class="wp-block-list">
<li><a href="https://learn.microsoft.com/fr-fr/windows-server/get-started/whats-new-in-windows-server-2016#security-and-assurance">Microsoft : Fonctionnalités WS 2k16</a></li>



<li><a href="https://learn.microsoft.com/fr-fr/microsoft-identity-manager/pam/privileged-identity-management-for-active-directory-domain-services">Microsoft : PAM</a></li>



<li><a href="https://learn.microsoft.com/fr-fr/openspecs/windows_protocols/ms-adsc/5e4a3007-10de-479e-b0a4-3a96271e2640">Microsoft : Class ShadowPrincipal</a></li>



<li><a href="https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-adsc/3ebfa3c1-ad62-4930-852d-2fdc26f72de2">Microsoft : Class Container ShadowPrincipal</a></li>
</ul>


<ol class="wp-block-footnotes"><li id="ec10b2ae-5ea1-491a-a70e-30a705e606ba"><strong>PAM :</strong> Privilege Access Manager <a href="#ec10b2ae-5ea1-491a-a70e-30a705e606ba-link" aria-label="Aller à la note de bas de page 1">↩︎</a></li><li id="44bed6e4-dd83-4e4d-a36d-3d5b0d5e1df7"><strong>PIM :</strong> Privilege Identity Manager <a href="#44bed6e4-dd83-4e4d-a36d-3d5b0d5e1df7-link" aria-label="Aller à la note de bas de page 2">↩︎</a></li><li id="a7f26285-202f-4abc-8fbe-495c821aa98b"><strong>ZTNA :</strong> Zero Trust Network Access <a href="#a7f26285-202f-4abc-8fbe-495c821aa98b-link" aria-label="Aller à la note de bas de page 3">↩︎</a></li><li id="8172a65b-8801-4743-896d-7be205dc4dea"><strong>TGM :</strong> Temporary Group Membership <a href="#8172a65b-8801-4743-896d-7be205dc4dea-link" aria-label="Aller à la note de bas de page 4">↩︎</a></li><li id="329a3ad9-bad6-4ee9-8018-4f04b6a0ce09"><strong>ADDS :</strong> Active Directory Domain Service <a href="#329a3ad9-bad6-4ee9-8018-4f04b6a0ce09-link" aria-label="Aller à la note de bas de page 5">↩︎</a></li><li id="66200fbf-59c4-4470-8c5f-4a5d63bd91a8"><strong>AAD :</strong> Azure Active Directory <a href="#66200fbf-59c4-4470-8c5f-4a5d63bd91a8-link" aria-label="Aller à la note de bas de page 6">↩︎</a></li><li id="b2c40b43-9f6f-4d0d-9f38-135df62b4c9b"><strong>SI :</strong> Système d&rsquo;Information <a href="#b2c40b43-9f6f-4d0d-9f38-135df62b4c9b-link" aria-label="Aller à la note de bas de page 7">↩︎</a></li><li id="1b7dbd0d-2d64-4802-83f8-a9c929f472c5"><strong>ANSSI :</strong> Agence Nationale de Sécurité des Systèmes d&rsquo;Informations <a href="#1b7dbd0d-2d64-4802-83f8-a9c929f472c5-link" aria-label="Aller à la note de bas de page 8">↩︎</a></li><li id="4efd3a4f-04e4-49de-8f24-1f8166178ee7"><strong>SID :</strong> Security IDentifier <a href="#4efd3a4f-04e4-49de-8f24-1f8166178ee7-link" aria-label="Aller à la note de bas de page 9">↩︎</a></li><li id="190798aa-1ac2-44b6-be35-e16ee5e894f0"><strong>AD :</strong> Active Directory <a href="#190798aa-1ac2-44b6-be35-e16ee5e894f0-link" aria-label="Aller à la note de bas de page 10">↩︎</a></li><li id="e6bbd41f-636e-49b9-ac13-b18007210b46"><strong>TTL :</strong> TimeToLive <a href="#e6bbd41f-636e-49b9-ac13-b18007210b46-link" aria-label="Aller à la note de bas de page 11">↩︎</a></li><li id="e9681cdd-0dac-4c25-a6dd-b2b28e9fe052"><strong>MIM :</strong> Microsoft Inditity Manager <a href="#e9681cdd-0dac-4c25-a6dd-b2b28e9fe052-link" aria-label="Aller à la note de bas de page 12">↩︎</a></li><li id="504a3fd7-1971-42ff-a3b1-99c39c72cfbc"><strong>PIM :</strong> Privileged Identity Manager <a href="#504a3fd7-1971-42ff-a3b1-99c39c72cfbc-link" aria-label="Aller à la note de bas de page 13">↩︎</a></li><li id="a7416798-8244-4996-ba17-b6cb7ce255a7"><strong>SIEM :</strong> Security Information Event Management <a href="#a7416798-8244-4996-ba17-b6cb7ce255a7-link" aria-label="Aller à la note de bas de page 14">↩︎</a></li><li id="8aee950a-5f95-41a2-9837-c95f7eddccdb"><strong>SOC :</strong> Security Operation Center  <a href="#8aee950a-5f95-41a2-9837-c95f7eddccdb-link" aria-label="Aller à la note de bas de page 15">↩︎</a></li><li id="ddad7c45-1971-48e1-9703-8ed11530de1c"><strong>DC :</strong> Domain Controler <a href="#ddad7c45-1971-48e1-9703-8ed11530de1c-link" aria-label="Aller à la note de bas de page 16">↩︎</a></li><li id="fb1718ee-484f-4432-9238-67b667dc952c"><strong>ADCS :</strong> Active Directory Certificates Services <a href="#fb1718ee-484f-4432-9238-67b667dc952c-link" aria-label="Aller à la note de bas de page 17">↩︎</a></li><li id="0ec485fd-eeb7-4b54-9765-4384bec2f735"><strong>ADFS :</strong> Active Directory Federation Services <a href="#0ec485fd-eeb7-4b54-9765-4384bec2f735-link" aria-label="Aller à la note de bas de page 18">↩︎</a></li><li id="cd2a7bfd-1365-4cfa-876f-ba0c2c749e01"><strong>GGS :</strong> Groupe Global de Sécurité <a href="#cd2a7bfd-1365-4cfa-876f-ba0c2c749e01-link" aria-label="Aller à la note de bas de page 19">↩︎</a></li><li id="4e769c23-6a40-4b39-bca0-bf97eef5f8f9"><strong>TGT :</strong> Ticket Granting Ticket <a href="#4e769c23-6a40-4b39-bca0-bf97eef5f8f9-link" aria-label="Aller à la note de bas de page 20">↩︎</a></li></ol>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WIN – Password Policies &#038; Event 4740</title>
		<link>https://erwanguillemard.com/win-password-policies-monitoring/</link>
		
		<dc:creator><![CDATA[Erwan Guillemard]]></dc:creator>
		<pubDate>Sun, 05 Oct 2025 18:36:55 +0000</pubDate>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Securité]]></category>
		<guid isPermaLink="false">https://erwanguillemard.com/?p=3190</guid>

					<description><![CDATA[Dans ce billet, j&#8217;avais envie d&#8217;enfoncer des portes ouvertes. Premièrement parce que je trouve facile de faire un billet sur quelque chose de « simple » et deuxièmement si je me dem***e bien je peux faire de l&#8217;audit avec un titre p*te-à-clic ! Plus sérieusement et sans détour, il se trouve que ce sont les choses les...]]></description>
										<content:encoded><![CDATA[
<p>Dans ce billet, j&rsquo;avais envie d&rsquo;enfoncer des portes ouvertes. Premièrement parce que je trouve facile de faire un billet sur quelque chose de « simple » et deuxièmement si je me dem***e bien je peux faire de l&rsquo;audit avec un titre p*te-à-clic !</p>



<p>Plus sérieusement et sans détour, il se trouve que ce sont les choses les plus simples dans la vie qui sont le plus souvent bâclées ou négligées. C&rsquo;est pourquoi je me suis dit, et si je m&rsquo;attardais un peu plus sur les politiques de mots de passe dans un environnement WINDOWS ?</p>



<p>Il relève de nombreux articles déjà sur le net qui traite ce sujet, mais voyez-vous encore une fois je pense aller un peu plus loin que les excellents articles déjà présents. Difficile de parler de ce que j&rsquo;ai fait sans toutefois présenter les bases 🙂</p>



<p class="has-text-align-center"><strong>Mais alors jusqu&rsquo;où es-tu allé cette fois ci ?</strong></p>



<p>Je suis parti de la politique classique de définition de la politique de mot de passe dans un domaine AD<sup data-fn="ee3df61f-a519-4425-8d3e-e24b9d4968ce" class="fn"><a href="#ee3df61f-a519-4425-8d3e-e24b9d4968ce" id="ee3df61f-a519-4425-8d3e-e24b9d4968ce-link">1</a></sup> et du traitement des événements de verrouillage de compte. Sujet traité par mon précédent mentor et qui m&rsquo;a demandé un peu de recherche pour arriver à mes fins (je voulais faire ma propre solution, comprendre et maitriser le sujet).</p>



<p>Bref, cela sera je le pense un petit billet avec du script, des schémas et naturellement du powershell avec une pointe de désinvolture et assurément de sécurité. </p>





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



<p>Comme rédigé légèrement plus tôt, je n&rsquo;ai pas la volonté de faire un article détaillé qui reprend la majorité des articles déjà présent sur le NET. Il me faut néanmoins une base de départ. </p>



<p>Mon mentor, dans le cadre d&rsquo;une esquisse de PSSI<sup data-fn="8a83b3e9-a47a-428b-8eba-109292ff90d3" class="fn"><a href="#8a83b3e9-a47a-428b-8eba-109292ff90d3" id="8a83b3e9-a47a-428b-8eba-109292ff90d3-link">2</a></sup> il y a un certain nombre d&rsquo;année c&rsquo;est dit qu&rsquo;il serait bien d&rsquo;informer l&rsquo;équipe du SI interne (ou externalisé) d&rsquo;un potentiel blocage, verrouillage de compte sur un AD. La première question que nous pourrions nous poser serait d&rsquo;abord quel cas pourrait entrainer un verrouillage d&rsquo;un compte ?</p>



<ul class="wp-block-list">
<li>Un dysfonctionnement de la couche 8 du modèle OSI<sup data-fn="c83eaf51-a4dd-41a4-bd7a-588ddcc4945b" class="fn"><a href="#c83eaf51-a4dd-41a4-bd7a-588ddcc4945b" id="c83eaf51-a4dd-41a4-bd7a-588ddcc4945b-link">3</a></sup> :
<ul class="wp-block-list">
<li>Je suis méchant avec cette couche, je sais bien. Nous parlons ici (ou plutôt je parle car cela n&rsquo;engage que ma responsabilité ET ma personne) du dysfonctionnement entre le siège du bureau et le clavier. Soit en un mot et un seul ? <strong>L&rsquo;utilisateur</strong> bien sûr !! Mais qu&rsquo;est ce que ce mec est condescendant&#8230; C&rsquo;est affligeant. Généralement, le verrouillage de compte est généré par une erreur de frape lors de la saisie et dans certains cas (compte non nominatif utilisé par plusieurs collaborateurs) de la saisie d&rsquo;un mauvais mot de passe.</li>
</ul>
</li>



<li>Une tentative de Charlie qui veut « poutrer » le compte de Bob pour récupérer le cœur d&rsquo;Alice
<ul class="wp-block-list">
<li>On comprend assez aisément le brute force d&rsquo;un intru pour s&rsquo;infiltrer dans le SI<sup data-fn="b2669417-059d-4c69-984f-1d328949f770" class="fn"><a href="#b2669417-059d-4c69-984f-1d328949f770" id="b2669417-059d-4c69-984f-1d328949f770-link">4</a></sup> est tout casser&#8230;</li>
</ul>
</li>



<li>Un dysfonctionnement de la couche 7 du modèle OSI :
<ul class="wp-block-list">
<li>Oui celle-là existe officiellement et concerne la couche applicative :). Je ne peux pas non plus raconter <a href="https://www.youtube.com/watch?v=wPmn9_FQKXs">des conneries en permanence</a> tout de même. Pour faire simple une application a des informations qui ne sont pas à jour (un client de messagerie qui pete un plomb par exemple).</li>
</ul>
</li>
</ul>



<p>Donc l&rsquo;intérêt de notifier l&rsquo;équipe interne ? S&rsquo;assurer que notre utilisateur ne veut pas s&rsquo;octroyer une pause-café supplémentaire ou que nous avons un petit malin dans la place qui veut nous faire passer nos prochains jours à la première place de l&rsquo;enfer dans le plus beau des <a href="https://fr.m.wikipedia.org/wiki/Fichier:John_Martin_Le_Pandemonium_Louvre.JPG">pandémoniums</a> &lt;3</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="676" src="https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_001_pandemonium-1024x676.jpg" alt="" class="wp-image-3194" style="width:670px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_001_pandemonium-1024x676.jpg 1024w, https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_001_pandemonium-300x198.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_001_pandemonium-768x507.jpg 768w, https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_001_pandemonium-1536x1013.jpg 1536w, https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_001_pandemonium-2048x1351.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Mon côté brun ténébreux qui ressort avec les vilains corbeaux de Sir Alan Edgar Poe&#8230; Alors comment faire pour déceler un verrouillage de compte et comment notifier les équipes ? Spoiler ? La suite dans les parties ci-dessous.</p>



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



<ul class="wp-block-list">
<li><strong>SE :</strong>&nbsp;
<ul class="wp-block-list">
<li>Windows Server 2k16 et version ultérieures</li>
</ul>
</li>



<li><strong>Apps :&nbsp;</strong>
<ul class="wp-block-list">
<li>Rôle ADDS</li>
</ul>
</li>



<li><strong>Autres :</strong>
<ul class="wp-block-list">
<li>PowerShell version 5 et supérieure</li>



<li>SMTP</li>



<li>Domaine AD</li>
</ul>
</li>
</ul>



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



<p>Avant de commencer, posons nous la question de comment fonctionne l&rsquo;authentification dans poste dans une domaine (pour faire simple, nous restons dans une forêt avec un seul domaine).</p>



<h3 class="wp-block-heading">Authentification, comment ça marche ?</h3>



<p>En tous lieux, je dirai avec des chaussures&#8230; Ok, je sors&#8230;</p>



<p>Nous pourrions résumer le cycle de vie de l&rsquo;authentification en 7 étapes (encore la magie du nombre 7&#8230;) l&rsquo;authentification d&rsquo;un utilisateur.</p>



<ol class="wp-block-list">
<li><strong>Saisie des identifiants login et mot de passe</strong>
<ul class="wp-block-list">
<li>Rien de bien sorcier, CONTOSO\John.Doe et mon superpassword (si tenter que le mot de passe soit bien celui attendu dans l&rsquo;AD pour l&rsquo;utilisateur John DOE&#8230;</li>
</ul>
</li>



<li><strong>Localisation du DC via DNS</strong>
<ul class="wp-block-list">
<li>Notre poste va alors à travers l&rsquo;enregistrement DNS<sup data-fn="18e69ed2-abc8-46a5-a20d-72f7eb983f95" class="fn"><a href="#18e69ed2-abc8-46a5-a20d-72f7eb983f95" id="18e69ed2-abc8-46a5-a20d-72f7eb983f95-link">5</a></sup> <strong><em>_ldap._tcp.dc._msdcs.contoso.x</em></strong> pour trouver un DC<sup data-fn="0721b4af-c255-4f7e-809c-b8c9286fd00d" class="fn"><a href="#0721b4af-c255-4f7e-809c-b8c9286fd00d" id="0721b4af-c255-4f7e-809c-b8c9286fd00d-link">6</a></sup> disponible</li>
</ul>
</li>



<li><strong>Négociation, KERBEROS ou NTLM ?</strong>
<ul class="wp-block-list">
<li>Deux mots protocoles qui peuvent faire peur. Je ne rentre pas dans le détail des deux protocoles. Gardons à l&rsquo;esprit toutefois que KERBEROS est supérieur au protocole NTLM<sup data-fn="4fcc112f-3418-4247-99c0-2a394beaf5ae" class="fn"><a href="#4fcc112f-3418-4247-99c0-2a394beaf5ae" id="4fcc112f-3418-4247-99c0-2a394beaf5ae-link">7</a></sup> (d&rsquo;ailleurs KERBEROS est utilisé comme protocole par défaut).</li>



<li><mark style="background-color:rgba(0, 0, 0, 0);color:#0074ff" class="has-inline-color">Cas de KERBEROS</mark>, le poste demande un TGT<sup data-fn="3e2a8bc8-2b61-4fd4-b3b4-db26e8c201c2" class="fn"><a href="#3e2a8bc8-2b61-4fd4-b3b4-db26e8c201c2" id="3e2a8bc8-2b61-4fd4-b3b4-db26e8c201c2-link">8</a></sup> auprès du KDC<sup data-fn="3f2db1e6-f957-433a-a801-b23ae4ea333f" class="fn"><a href="#3f2db1e6-f957-433a-a801-b23ae4ea333f" id="3f2db1e6-f957-433a-a801-b23ae4ea333f-link">9</a></sup> du DC à travers une requête. Si le couple d&rsquo;authentification saisie est correct le KDC retournera en réponse le TGT chiffré ainsi qu&rsquo;une clé de session. Le poste à travers le TGT va demander un TGS<sup data-fn="b16e4796-0ae1-459e-91b3-49a78e1a49d6" class="fn"><a href="#b16e4796-0ae1-459e-91b3-49a78e1a49d6" id="b16e4796-0ae1-459e-91b3-49a78e1a49d6-link">10</a></sup> afin d&rsquo;accéder aux différentes ressources du SI (fichiers, imprimantes etc&#8230;).</li>



<li><mark style="background-color:rgba(0, 0, 0, 0);color:#0074ff" class="has-inline-color">Cas de NTLM</mark>, le poste va réaliser un challenge au DC en attendant une réponse.</li>
</ul>
</li>



<li><strong>Validation du compte</strong>
<ul class="wp-block-list">
<li>Une fois la négociation réussi (<a href="https://www.youtube.com/watch?v=jwIUJIfIEWo">Où est-ce qu&rsquo;il a appris à négocier ?</a>), le DC va vérifier le mot de passe haché, le compte doit être actif (soit pas verrouillé, expiré ou désactivé), récupérer les groupes de sécurité de l&rsquo;utilisateur ainsi que les stratégies de connexion et de mot de passe.</li>



<li>C&rsquo;est marrant, c&rsquo;est cette étape qui nous intéresse 🙂</li>
</ul>
</li>



<li><strong>Chargement du profil</strong>
<ul class="wp-block-list">
<li>Si la vérification du compte utilisateur est ok, alors c&rsquo;est réussi. <strong>HIGH FIVE !</strong> Le poste va alors charger le profil local ou selon la configuration un profil itinérant. Dans le pire des cas, un profil temporaire.</li>
</ul>
</li>



<li><strong>Application des GPO</strong>
<ul class="wp-block-list">
<li>Dans la logique, ensuite sont téléchargées et appliquées les GPO<sup data-fn="f45783de-eede-4502-9d26-843d9efb5a18" class="fn"><a href="#f45783de-eede-4502-9d26-843d9efb5a18" id="f45783de-eede-4502-9d26-843d9efb5a18-link">11</a></sup> utilisateurs, ordinateurs&#8230;</li>
</ul>
</li>



<li><strong>Ouverture de session</strong>
<ul class="wp-block-list">
<li>Hé nous voilà normalement sur notre bureau.</li>
</ul>
</li>
</ol>



<p>Bon j&rsquo;avoue que la partie négociation, j&rsquo;avais dit que je ne rentrerai pas dans le détail. J&rsquo;effleure la technicité et croyez moi, nous pourrions aller beaucoup plus loin. Toutefois, demander à vos Admins Systèmes et Réseaux ou Techniciens Systèmes et Réseaux, je ne suis pas certains qu&rsquo;ils vous expliquent clairement le cycle de vie d&rsquo;authentification d&rsquo;un utilisateur&#8230;</p>



<h3 class="wp-block-heading">Stratégie de mot de passe</h3>



<p>Avant de rentrer plus dans le détail de ce qui nous intéresse, il est important de parler de la stratégie de mot de passe. Cela s&rsquo;est plutôt bien démocratisé car nous retrouvons sur la grande majorité des sites web à ce jour le traditionnel message :</p>



<p>Votre mot de passe doit répondre aux critères minimaux ci-dessous :</p>



<ul class="wp-block-list">
<li>16 caractères minimum</li>



<li>1 Majuscule</li>



<li>1 Minuscule</li>



<li>1 caractère numérique</li>



<li>1 caractère spécifique</li>
</ul>



<p>Je vous vois déjà hurler, ou vos utilisateurs vous ont gueulé dessus&#8230; Quant à la politique mis en place. Mais alors que devons nous appliquer et à qui ? L&rsquo;objectif est de sécuriser les SIs sans pour autant être un vrai tyran avec ces utilisateurs. Gardons toujours à l&rsquo;esprit que « Trop de sécurité tue la sécurité ». A quoi bon exiger 26 caractères pour retrouver le mot de passe sur un post-it ou <strong>AZERTY123456AZERTY123456azerty123456azerty123456$</strong>&#8230;</p>



<p>Pour cela, j&rsquo;aime me référer à l&rsquo;ANSSI<sup data-fn="bfa3d65a-4536-4421-a219-6600a3b2a55b" class="fn"><a href="#bfa3d65a-4536-4421-a219-6600a3b2a55b" id="bfa3d65a-4536-4421-a219-6600a3b2a55b-link">12</a></sup> comme ça je peux dire haut et fort, « C&rsquo;est pas moi, c&rsquo;est eux qui veulent. » 🙂 Je suis courageux n&rsquo;est ce pas ? 🙂</p>



<p>Dans le guide de Recommandation relatives à l&rsquo;authentification multi-facteurs et aux mots de passe, il est recommandé d&rsquo;appliquer la politique de mot de passe suivante (R20):</p>



<ul class="wp-block-list">
<li>Catégorie des mots de passe</li>



<li><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-2-color">Longueur des mots de passe</mark> (<mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">Entre 9 et 11, c&rsquo;est faible</mark>. <mark style="background-color:rgba(0, 0, 0, 0);color:#ff9c00" class="has-inline-color">Entre 12 et 14 c&rsquo;est moyen</mark>. <mark style="background-color:rgba(0, 0, 0, 0);color:#6dd826" class="has-inline-color">Au-delà de 15 c&rsquo;est fort</mark>)</li>



<li><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-2-color">Règles de complexité des mots de passe</mark> (le nombre de caractère utilisable)</li>



<li><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-2-color">Délais d&rsquo;expiration des mots de passe</mark> (la fréquence de renouvellement)</li>



<li><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-2-color">Mécanisme de limitation d&rsquo;essais d&rsquo;authentification</mark></li>



<li><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-2-color">Mécanisme de contrôle de la robustesse des mots de passe</mark></li>



<li><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-2-color">Méthode de conservation des mots de passe</mark></li>



<li>Méthode de recouvrement d&rsquo;accès en cas de perte ou de vol des mots de passe</li>



<li>Mise à disposition d&rsquo;un coffre-fort de mot de passe</li>
</ul>



<p>Dans notre cas, seuls les points en vert nous intéressent. Pour définir techniquement notre GPO ou notre FGPP. </p>



<p class="has-text-align-center"><strong><em>D&rsquo;où tu dis que je suis un FDP ?! Gros Tarba va ! Je vais&#8230;.</em></strong> </p>



<p class="has-text-align-left">STOP ! En aucun cas je vous insulte ! FGPP<sup data-fn="e9521bc3-b710-4c91-bf97-8570fc3d067b" class="fn"><a href="#e9521bc3-b710-4c91-bf97-8570fc3d067b" id="e9521bc3-b710-4c91-bf97-8570fc3d067b-link">13</a></sup> ou Fine Grained Password Policy permettent de manière plus simple de définir plusieurs politiques de mots de passe dans une organisation selon les services et criticité de ces derniers. Croyez-moi, c&rsquo;est bien plus simple que la gestion par GPO. Ca nous le verrons rapidement dans la pratique quant au déploiement.</p>



<p class="has-text-align-left">Dans tous les cas, j&rsquo;aime définir la stratégie de mot de passe « par défaut » dans la GPO (vous pouvez me jeter des petits cailloux au visage et du sable dans les yeux), Default Domain Policy : HERESIE ! BLASPHEME ! AU BUCHET ! (Oui ba c&rsquo;est bien la seule chose que je modifie dans la Default Domain Policy) :</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="273" src="https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_002_DefaultDomainPolicy-1024x273.jpg" alt="" class="wp-image-3201" style="width:705px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_002_DefaultDomainPolicy-1024x273.jpg 1024w, https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_002_DefaultDomainPolicy-300x80.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_002_DefaultDomainPolicy-768x205.jpg 768w, https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_002_DefaultDomainPolicy.jpg 1494w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>J&rsquo;ouvre un aparté, dans le cas d&rsquo;un poste hors domaine que nous souhaiterions durcir, il suffira de faire de même. Il faut que je pose la question de scripter cela. Aparté fermée.</p>



<p>J&rsquo;ai donc une politique de mots de passe qui s&rsquo;appliquent (sans verrouillage de compte) par défaut pour l&rsquo;ensemble des utilisateurs de mon parc, de mon domaine. Néanmoins, je vais définir par FGPP une politique par groupe utilisateur.</p>



<p>Dans ma logique, je choisie de faire trois politiques par défaut en respectant le tiering d&rsquo;administration des comptes utilisateurs. </p>



<p class="has-text-align-center">Administrateur du domaine &gt; Utilisateurs avec pouvoir &gt; Utilisateur du domaine</p>



<p>La puissance des FGPPs résident dans la possibilité de définir une pondération sur chaque politique. Ainsi, un utilisateur peut se retrouver avec une ou plusieurs politiques liées. Les politiques ne pouvant se cumuler, la politique avec la pondération la plus forte sera minoritaire par rapport à une politique avec une pondération plus faible.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="431" src="https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_003_FGPP-1024x431.jpg" alt="" class="wp-image-3203" style="width:660px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_003_FGPP-1024x431.jpg 1024w, https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_003_FGPP-300x126.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_003_FGPP-768x323.jpg 768w, https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_003_FGPP.jpg 1105w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>« Unbelievable » diraient nos voisins outre-manche ! Nous retrouvons les mêmes paramètres que dans notre GPO&#8230; A noter et point important, la FGPP vaut sur la GPO si cette dernière est lié à un utilisateur ou un groupe d&rsquo;utilisateur.</p>



<h3 class="wp-block-heading">Authentification &amp; events</h3>



<p>Pour bien comprendre le fonctionnement de l&rsquo;authentification, nous avons vu ci-haut que tout se passe sur nos DCs. Comme le système n&rsquo;est pas trop mal foutu (et qu&rsquo;accessoirement l&rsquo;authentification à un système relève de la plus grande criticité) tout est consigné dans les journaux d&rsquo;événements de sécurité. </p>



<p class="has-text-align-center"><strong>Elle est pas belle la vie ?</strong></p>



<p>Alors la question est la suivante, qu&rsquo;elle est ou plutôt qu&rsquo;elles sont les événements qui nous sont important ? Microsoft est vraiment sympa car ils ont pour nous <a href="https://learn.microsoft.com/fr-fr/windows-server/identity/ad-ds/plan/appendix-l--events-to-monitor">référencier les événements</a> à surveiller&#8230;</p>



<p><a href="https://www.youtube.com/watch?v=D85laB6j85U&amp;list=RDD85laB6j85U&amp;start_radio=1">Mon cœur cogne un truc esthétique</a> ! Vous voyez tout ce qu&rsquo;il est possible de faire en termes de sécurité et de suivi, gestion du SI ? Limite ça me fait ba**er. Je vais soumettre l&rsquo;ID d&rsquo;un nouveau projet au comité qui vie dans ma cafetière.</p>



<p>Dans notre cas, précis il y a deux événements qui nous intéressent :</p>



<ul class="wp-block-list">
<li><strong>4624 :</strong> Hérité des événements 528 et 540, je cite « L’ouverture de session d’un compte s’est correctement déroulée. »</li>



<li><strong>4740 :</strong> Hérité de l&rsquo;événements 644, je cite « Un compte d’utilisateur a été verrouillé. »</li>
</ul>



<p>Il est important de comprendre dans l&rsquo;annexe que la notion de criticité est celle qui remonte dans les journaux d&rsquo;événements. Personnellement certains événements pourraient être revu à la hausse. Enfin, c&rsquo;est mon opinion personnelle qui n&rsquo;a de crédit que pour le type qui écrit ces mots&#8230;</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="787" height="410" src="https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_004_LogEvent.jpg" alt="" class="wp-image-3208" style="width:514px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_004_LogEvent.jpg 787w, https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_004_LogEvent-300x156.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_004_LogEvent-768x400.jpg 768w" sizes="auto, (max-width: 787px) 100vw, 787px" /></figure>
</div>


<p>C&rsquo;est donc dans le déclenchement de l&rsquo;évent <strong>4740</strong> que nous trouverons notre bonheur.</p>



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



<p>La question est comment récupérer l&rsquo;information que le compte d&rsquo;un utilisateur ou compte de service est verrouillé ? </p>



<h3 class="wp-block-heading">Consultation des objets</h3>



<p>Dans un premier temps, j&rsquo;ai pensé à scruter l&rsquo;état de chaque objet utilisateur ou ordinateur de l&rsquo;AD sur un intervalle définis dans le temps. </p>



<p>Le professeur rend les copies, et c&rsquo;est un 4/20 qui tombe&#8230; L&rsquo;idée peut paraitre bien, mais c&rsquo;est mauvais. Oui je vais avoir l&rsquo;information des comptes verrouillés, mais cela n&rsquo;est pas du tout optimisé, cela va charger pour rien le serveur et générer des lenteurs et niveau proactivité c&rsquo;est un zéro pointé. Imaginons si nous étions sur un SI avec genre 2k d&rsquo;objets dans l&rsquo;AD ? </p>



<h3 class="wp-block-heading">Consultation des évènements déclenchés</h3>



<p>La seconde approche consiste à définir une tache planifiée qui se déclenche sur un événement déclenché. Je l&rsquo;ai fait il y a peu pour contourner un dysfonctionnement non patché de MS, donc c&rsquo;est faisable. Mais je n&rsquo;aime pas cette méthode car elle ouvre une vieille blessure intellectuelle&#8230; Ce traumatisme tout bête me dite vous ? Comment retourner et transmettre un paramètre de l&rsquo;événement déclenché dans un script powershell&#8230; </p>



<p class="has-text-align-center"><em>Je peux vous dire qu&rsquo;en 2015 je me suis torturé l&rsquo;esprit à un point ou écouter du Evanescence en slip le soir de la Saint Valentin avec un kebab douteux et de l&rsquo;alcool frelaté relève du plaisir (passe encore pour le kebab et l&rsquo;alcool m&rsquo;enfin).</em></p>



<p>Dix ans après, je rempile sur cette problématique et spoiler je trouve la solution. Comme quoi, un informaticien c&rsquo;est comme un bon vin. Plus on le garde plus c&rsquo;est bon. Enfin tout dépend de l&rsquo;organisation. Oups pardon, je voulais dire la cave 🙂</p>



<p>Vous l&rsquo;aurez compris ça sera la seconde méthode qui sera utilisé. Nous retournerons alors les attributs suivants :</p>



<ul class="wp-block-list">
<li>Le nom du compte qui lock</li>



<li>Le nom de l&rsquo;ordinateur, équipement source qui a cherché à s&rsquo;authentifier</li>



<li>Le nom de domaine</li>
</ul>



<p>Là où j&rsquo;ai merdé, ce que j&rsquo;ai choisi de prendre en temps le temps de déclenchement du script et non le temps de lock de l&rsquo;event. Ce qui du coup dans une configuration spécifique fausse complétement les informations. Donc il doit y avoir une adaptation de ma part sur la première version du code&#8230;</p>



<h3 class="wp-block-heading"> Sécurité</h3>



<p>Nous sommes dans le domaine ? Nous allons réaliser une tâche planifiée ? <a href="https://www.youtube.com/watch?v=F6lVw9sNVic">Alors la réponse elle est vite répondu mon copaing</a> ! Nous passerons par un compte de service managé, oui un gMSA<sup data-fn="9df0753e-8417-42bd-973d-7f3768f6f682" class="fn"><a href="#9df0753e-8417-42bd-973d-7f3768f6f682" id="9df0753e-8417-42bd-973d-7f3768f6f682-link">14</a></sup> comme d&rsquo;habitude (et dire que je ne jugeais que par les comptes de services restreint avant&#8230;).</p>



<p>Les droits seront mis sur le script ainsi que l&rsquo;ensemble des dépendances des utilisateurs externes. Sur le répertoire en somme ? Oui c&rsquo;est ça&#8230;</p>



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



<p>S&rsquo;agissant d&rsquo;un petit projet, je me suis demandé si je devais ou non découper ce billet en différent sous article. Au final, je ne pense pas. Il y a eu plus indigeste que ça par le passé 🙂</p>



<h3 class="wp-block-heading">Topographie – Applicative</h3>



<p>Nous retrouvons donc l&rsquo;architecture classique de mes projets précédents (<a href="https://www.youtube.com/watch?v=1vTYQlzp5Oo">Etonnant non ?</a>) 🙂</p>



<p>A la racine du répertoire, nous retrouvons cette fois ci UN fichier exécutable (au lieu de DEUX) :</p>



<ul class="wp-block-list">
<li><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#40d9de" class="has-inline-color">SS_044_WIN_AD_LOCKACCOUNT_1.0.0_Services.ps1</mark></strong>&nbsp;: Fichier pensé pour fonctionner uniquement en mode service. Il ne peut être exécuté si et seulement si un event 4740 est levé. A voir si je fais un mode debug ou pas.</li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="677" height="266" src="https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_007_TopoApps.jpg" alt="" class="wp-image-3219" srcset="https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_007_TopoApps.jpg 677w, https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_007_TopoApps-300x118.jpg 300w" sizes="auto, (max-width: 677px) 100vw, 677px" /></figure>
</div>


<p>La suite se déroule en 3 répertoires distincts.</p>



<ul class="wp-block-list">
<li><strong>Modules :</strong>&nbsp;Répertoire contenant les modules powershell développé pour l’application. Aujourd’hui au nombre de deux dissociant la partie Windows Système et HTML.</li>



<li><strong>Log :</strong>&nbsp;Répertoire qui va contenir la ou les traces d’exécution du code si l’option est activée. Cela à son importance car il permet au petit gars qui à dev l’application dans sa cave de corriger les bugs. Le fichier ne prend pas de place et est réinitialisé à chaque lancement.</li>



<li><strong>Config :</strong> Répertoire contenant le fichier de configuration powershell. Je reviendrai plus en détail sur le contenu de ce fichier dans la partie Pratique. Contrairement aux projets DreamNebula et GreenRay, je n&rsquo;ai pas développé la fonction de reconstruction, régénération du fichier de configuration. Inutile car il n&rsquo;y a pas de mode manuel et il n&rsquo;y a pas grand-chose dans le fichier de conf&#8230;</li>
</ul>



<h3 class="wp-block-heading">Topographie – Logiciel</h3>



<p>Je me passe par fénéantise la topographie du logiciel. Il n&rsquo;est pas complexe du tout&#8230; Pour faire simple, cela se résume au cycle de vie suivant :</p>



<ul class="wp-block-list">
<li><strong>0</strong>&nbsp;: Entrez dans le journal d&rsquo;événement de sécurité d&rsquo;un événement 4740.</li>



<li><strong>1</strong>&nbsp;: Déclenchement de la tâche planifiée sur l&rsquo;événement. Récupération des informations liées au verrouillage du compte utilisateur, le poste source et le domaine d&rsquo;application. Ces valeurs de type strings sont passés en argument du script powershell qui est exécuté <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-3-color">SS_044_WIN_AD_LOCKACCOUNT_1.0.0_Services.ps1</mark></strong>.</li>



<li><strong>2</strong> : Le script lit la configuration, puis charge les modules. Une fois les modules chargés, le corps du mail est construit et ce dernier est envoyé par mail. Naturellement et selon les options activées, le mode debug redirigeras l&rsquo;ensemble des transactions powershell dans le fichier de log dans le répertoire du même nom.</li>
</ul>



<p>Et le code ? Il est sur GitHub. Je ne souhaite pas le présenter. Toutefois, je partagerai volontiers ces derniers avec celui qui viendra m&rsquo;en exprimer le souhait. Ca sera l&rsquo;occasion de papoter un peu 🙂</p>



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



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



<p>Avant de lancer le script, il est nécessaire de faire un tour vers le fichier de configuration contenu dans le répertoire config à la racine du projet. Je vais prendre le temps de décrire chacune des parties de ce fichier.</p>



<p>Le fichier se découpe en 1 partie et 1 sous-partie.</p>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td>* Une sous-partie globale qui définit les paramètres du script et de son fonctionnement<br><br>* Une sous-partie concernant l’envoie de notification SMTP<sup data-fn="6abe1078-a9b2-473e-9eaf-22a911773d11" class="fn"><a href="#6abe1078-a9b2-473e-9eaf-22a911773d11" id="6abe1078-a9b2-473e-9eaf-22a911773d11-link">15</a></sup>, futur feature/bug (rayer la mention inutile) à venir<br></td><td><img loading="lazy" decoding="async" width="550" height="212" class="wp-image-3212" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_005_configFile.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_005_configFile.jpg 631w, https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_005_configFile-300x116.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr></tbody></table></figure>



<p></p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id3190_f61230-f2 kt-accordion-has-2-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-pane3190_e5b7a3-f5"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>1 &#8211; Global</strong></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><strong>DEBUG&nbsp;:</strong>&nbsp;Prend la valeur boolean $true ou $false. Ce paramètre permet d’activer dans la console le mode debug.</p>



<p><strong>TRANSACTION_SCRIPT&nbsp;:</strong>&nbsp;Prend la valeur boolean $true ou $false. Ce paramètre active ou non la redirection des flux de la console dans un fichier de log. Le fichier est écrasé à chaque exécution du code.</p>



<p><strong>TRANSACTION_SCRIPT_FILE&nbsp;:</strong>&nbsp;Prend la valeur une chaine de caractère de type String. Indique le nom du fichier dans lequel toutes les sorties vont être redirigées. Attention ce dernier n’est pris en compte que si et seulement si le paramètre TRANSACTION_SCRIPT est définie à $true.</p>



<p><strong>AUTHOR&nbsp;:</strong>&nbsp;Prend la valeur une chaine de caractère de type String. Prend la valeur une chaine de caractère de type String. Le nom du créateur des scripts afin d’afficher l’information dans les différents rendus.</p>



<p><strong>VERSION&nbsp;:</strong>&nbsp;Prend la valeur une chaine de caractère de type String. Suivre l’évolution de versionning de l’outil et des scripts.</p>



<p><strong>DATE&nbsp;:</strong>&nbsp;Prend la valeur une chaine de caractère de type String. La date de la dernière modification et version disponible.</p>



<p><strong>MODULES&nbsp;:</strong>&nbsp;Prend en paramètre un tableau de chaine de caractère de type String. L’ensemble des modules définit dans ce tableau seront chargés au démarrage de l’application. Les modules doivent être présent dans le répertoire module au format .psm1</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane3190_cef629-59"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>2 &#8211; SMTP</strong></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><strong>FROM :</strong>&nbsp;Prend la valeur une chaine de caractère de type String. Va contenir l’adresse de l’émetteur. Dans la logique, j’aime à utiliser le nom du serveur ou du rôle, par exemple srv-task01@contoso.com.</p>



<p><strong>TO :</strong>&nbsp;Prend la valeur une chaine de caractère de type String. Va contenir l’adresse du destinataire qui doit recevoir le mail. Dans la logique, préférer une LD<sup><a href="https://erwanguillemard.com/projet-dream-nebula-vmware-kpi-partie-2-pratique/#70c9a30b-c61d-4e80-9e38-3b36d25b68ed">7</a></sup>&nbsp;ou une BAL<sup><a href="https://erwanguillemard.com/projet-dream-nebula-vmware-kpi-partie-2-pratique/#d60f938e-acfd-4304-9be7-299a91ca7350">8</a></sup>&nbsp;partagée pour que l’information et la responsabilité ne soit pas porter que par un individu.</p>



<p><strong>SERVERNAME :</strong>&nbsp;Prend la valeur une chaine de caractère de type String. Le nom du serveur qui fait relai SMTP, pour plus de sécurité, renseigner le FQDN<sup><a href="https://erwanguillemard.com/projet-dream-nebula-vmware-kpi-partie-2-pratique/#fc9e2e62-2fcd-4894-9978-6dd24a213c6c">9</a></sup>&nbsp;en lieu et place d’une IP.</p>



<p><strong>PORT :&nbsp;</strong>Prend la valeur une chaine de caractère de type String. Préciser le port d’écoute du serveur SMTP. 25, 587, 465. Libre à chacun.</p>
</div></div></div>
</div></div></div>



<p></p>



<p>Avec la compréhension du fichier de configuration, je pense que nous pouvons passer à la suite, soit déployer l’application sur le serveur.</p>



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



<p>Je passe alégrement la partie gMSA il y a un certain nombre d&rsquo;article sur le net (comme déjà dit dans des billets précédents) qui traite déjà du sujet. Pour le reste, j&rsquo;ai comme d&rsquo;habitude renforcé la sécurité et implémenté mes propres mécanismes (la preuve en est, j&rsquo;ai passé deux put**n d&rsquo;heures à trouver pourquoi ma tâche ne se lançait pas&#8230;).</p>



<p>Là où ça se corse, c&rsquo;est au niveau de la tache planifiée. Si vous êtes sur un environnement possédant l&rsquo;expérience utilisateur, vous êtes sauvés. En revanche, dans mon cas sur mes serveurs CORE, je l&rsquo;ai mais alors bien profond dans la cucurbitacée&#8230; Voyez vous comme quoi une chose tout insignifiante soit il peut devenir un vrai casse-tête.</p>



<p>Mais alors qu&rsquo;elle est cette petite chose insignifiante ?</p>



<h4 class="wp-block-heading">The ScheduledTask</h4>



<p>A première vue, vous vous demandez pourquoi je parle de la tache planifiée&#8230; Il s&rsquo;avère que dans la version WINDOWS Core, nous ne pouvons pas créer de tache planifiée sur un déclenchement d&rsquo;événement. </p>



<p>En réalité, nous pouvons constater également le dysfonctionnement sur un environnement WINDOWS avec expérience utilisateur. Il suffit d&rsquo;utiliser la console powershell (il suffit de revenir aux bases du RTFM<sup data-fn="58e956e0-f13f-4d89-8d26-b740eaec0aff" class="fn"><a href="#58e956e0-f13f-4d89-8d26-b740eaec0aff" id="58e956e0-f13f-4d89-8d26-b740eaec0aff-link">16</a></sup>).</p>



<p>Donc comment faire une tache planifiée, si :</p>



<ul class="wp-block-list">
<li>Nous n&rsquo;avons pas d&rsquo;interface graphique</li>



<li>Les commandes powershell ne fonctionne pas</li>



<li>Les moyens de contournement comme WAC<sup data-fn="57ebb545-b5d9-40ef-ba6b-5f6925982680" class="fn"><a href="#57ebb545-b5d9-40ef-ba6b-5f6925982680" id="57ebb545-b5d9-40ef-ba6b-5f6925982680-link">17</a></sup> ne fonctionne pas (normale co**ard c&rsquo;est du powershell derrière)</li>



<li>La console mmc.exe en remote pas plus de chance</li>
</ul>



<p>J&rsquo;ai essayé l&rsquo;exécutable schtasks mais je ne suis pas arrivé à mes fins. Vous vous voulez la vérité ? J&rsquo;ai lu qu&rsquo;il fallait faire une fichier XML et ajouté les champs blablablabla&#8230; Je me suis dit « No Way » je vais encore me foirer dans une balise ou je vais avoir un problème d&rsquo;encodage sur des caractères à la mord moi le noeud&#8230;</p>



<p>J&rsquo;ai donc pensé à un autre moyen (tu as surtout épluché le net et les divers forum technet oui&#8230;). Pourquoi ne pas créer la tache sur mon poste avec des paramètres que je modifierai une fois importé ? Et bien ça voyez vous, ça fonctionne.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td>La création de la tâche ne pose pas de problème. <br>Je joins toutefois la petite capture pour la configuration des critères de déclenchement de l&rsquo;évent.</td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="650" height="277" class="wp-image-3225" style="width: 650px;" src="https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_008_scheduledtasks.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_008_scheduledtasks.jpg 1220w, https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_008_scheduledtasks-300x128.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_008_scheduledtasks-1024x436.jpg 1024w, https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_008_scheduledtasks-768x327.jpg 768w" sizes="auto, (max-width: 650px) 100vw, 650px" /></td></tr></tbody></table></figure>



<p></p>



<p>Une fois la tache créée, exportons là et ouvrons cette dernière dans un éditeur de texte.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td>Oh mais dit donc, ça ne serait pas ?<br>Hé si le voilà notre fichier XML que l&rsquo;on devait construire via la commande svctasks.<br><br>Et dire qu&rsquo;une tache planifiée ça ressemble à ça.<br><br>Vous noterez que j&rsquo;ai occulté deux parties.<br><br>La première partie permet de récupérer les valeurs de l&rsquo;événement. Il sera nécessaire de modifier manuellement le fichier XML. Mais je reviendrai plus en détails sur ce point dans la sous partie à venir (c&rsquo;est ça ma frustration décennale !).<br><br>La seconde partie permet de passer les variables que contiennent les valeurs récupérées ci haut en paramètre de notre script.</td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="750" height="740" class="wp-image-3226" style="width: 750px;" src="https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_009_scheduledtasksXML.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_009_scheduledtasksXML.jpg 898w, https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_009_scheduledtasksXML-300x296.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_009_scheduledtasksXML-768x758.jpg 768w" sizes="auto, (max-width: 750px) 100vw, 750px" /></td></tr></tbody></table></figure>



<p></p>



<p>Bien. Maintenant importons la tâche 🙂</p>



<pre class="wp-block-code has-theme-palette-4-background-color has-background has-small-font-size"><code><mark style="background-color:var(--global-palette4)" class="has-inline-color has-theme-palette-9-color">&gt; $myTask = Get-Content "PATH_WHERE_XML_FILE\myTask.xml" | Out-String
&gt; Register-ScheduledTask -XML $myTask -TaskName "PROD_EVENT_4740" -TaskPath "\_ronelab"</mark></code></pre>



<h4 class="wp-block-heading">Récupérer les valeurs</h4>



<p>Comme écrit plus haut, ce point va mettre fin à une frustration longue de 10 ans. Comment retourner les valeurs levées dans un event depuis l&rsquo;exécution d&rsquo;une tâche planifiée&#8230;</p>



<p>Là j&rsquo;ai lu un nombre important de documentation pour comprendre comment cela fonctionne et comment mettre en œuvre la chose surtout. Toujours dans la démarche des 3S<sup data-fn="7ce633ec-415b-40dd-8fe5-9a646966011c" class="fn"><a href="#7ce633ec-415b-40dd-8fe5-9a646966011c" id="7ce633ec-415b-40dd-8fe5-9a646966011c-link">18</a></sup>. </p>



<p>Dans les approches :</p>



<ul class="wp-block-list">
<li>Quel est la structure, schéma du fichier XML d&rsquo;une tache planifié : <a href="https://learn.microsoft.com/en-us/windows/win32/taskschd/task-scheduler-schema">Lien</a></li>



<li>Quel est la structure la plus adapté pour un eventTrigger de type complexe : <a href="https://learn.microsoft.com/en-us/windows/win32/taskschd/taskschedulerschema-eventtriggertype-complextype">Lien</a></li>



<li>Un exemple d&rsquo;implémentation : <a href="https://learn.microsoft.com/en-us/previous-versions//aa446889(v=vs.85)">Lien</a></li>
</ul>



<p>Avec la plus grande sincérité du monde, je n&rsquo;avais pas il y a 10 ans de cela la maturité intellectuelle pour assimiler cette notion. Aujourd&rsquo;hui je rougis de l&rsquo;imbécile que je suis et de la simplicité et évidence de son mécanisme.</p>



<p>Maintenant que j&rsquo;ai compris (mais que je n&rsquo;ai pas expliqué 🙂 Il faut bien que vous vous investissiez aussi non ? Passons à la compréhension d&rsquo;un événement. Il faudra sélectionner un évent 4740 et se rendre dans la vue Detail en Friendly, mais nous pouvons aussi se la jouer XML.</p>



<p>Nous notons deux catégories que nous pouvons déployer :</p>



<ul class="wp-block-list">
<li><strong>System :</strong> Va contenir l&rsquo;ensemble des balises et valeurs propres au déclenchement de la tâche avec les propriétés de l&rsquo;évent. Comme dit plus tôt, l&rsquo;un des attributs qui pourrait nous intéresser est le temps où l&rsquo;évent a été inscrit dans le journal. Je prenais le temps de lancement du script, mais ce dernier n&rsquo;est pas la bonne source de temps. Bref, il convient alors de noter le chemin de l&rsquo;attribut qui nous intéresse :
<ul class="wp-block-list">
<li><mark style="background-color:rgba(0, 0, 0, 0);color:#3fa34a" class="has-inline-color">Event</mark><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-1-color">/System/TimeCreated/</mark><mark style="background-color:rgba(0, 0, 0, 0);color:#ea1212" class="has-inline-color">@SystemTime</mark></li>
</ul>
</li>
</ul>



<p class="has-text-align-center"><strong>Il est important de noter que tout part de notre événement d&rsquo;où le <mark style="background-color:rgba(0, 0, 0, 0);color:#3fa34a" class="has-inline-color">Event</mark> en début de path. Puis le chemin <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-1-color">/System/TimeCreated/</mark> jusqu&rsquo;à la variable qui contient notre valeur spécifiée par le <mark style="background-color:rgba(0, 0, 0, 0);color:#ea1212" class="has-inline-color">@</mark> devant <mark style="background-color:rgba(0, 0, 0, 0);color:#ea1212" class="has-inline-color">SystemTime</mark></strong></p>



<ul class="wp-block-list">
<li><strong>EventData : </strong>Va contenir l&rsquo;ensemble des balises et valeurs propres à l&rsquo;évènement de sécurité déclenché. Ce qui nous intéresse ce sont les attributs TargetUserName qui contient le login utilisé et verrouillé, TargetDomainName qui contient le nom de poste cible où la connexion a tenté d&rsquo;être initier et le SubjectDomainName qui contient le nom de domaine cible du compte verrouillé. Soit alors les les chemins suivants :
<ul class="wp-block-list">
<li><mark style="background-color:rgba(0, 0, 0, 0);color:#3fa34a" class="has-inline-color">Event</mark><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-1-color">/EventData/Data/</mark><mark style="background-color:rgba(0, 0, 0, 0);color:#ea1212" class="has-inline-color">@[Name= »TargetDomainName »]</mark></li>



<li><mark style="background-color:rgba(0, 0, 0, 0);color:#3fa34a" class="has-inline-color">Event</mark><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-1-color">/EventData/Data/</mark><mark style="background-color:rgba(0, 0, 0, 0);color:#ea1212" class="has-inline-color">@[Name= »SubjectDomainName »]</mark></li>



<li><mark style="background-color:rgba(0, 0, 0, 0);color:#3fa34a" class="has-inline-color">Event</mark><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-1-color">/EventData/Data/</mark><mark style="background-color:rgba(0, 0, 0, 0);color:#ea1212" class="has-inline-color">@[Name= »TargetUserName »]</mark></li>
</ul>
</li>
</ul>



<p>Alors comment intégrer proprement dans notre fichier XML correspondant à notre tache planifier nos 4 paths pour récupérer les valeurs ?</p>



<p>Normalement, nous avons eu toutes les informations ci-haut pour réaliser l&rsquo;opération 🙂</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="627" height="87" src="https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_010_valueQueries.jpg" alt="" class="wp-image-3232" srcset="https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_010_valueQueries.jpg 627w, https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_010_valueQueries-300x42.jpg 300w" sizes="auto, (max-width: 627px) 100vw, 627px" /></figure>
</div>


<p>Nous avons défini nos variables qui contiennent nos données. Il suffit alors de passer nos variables en arguments de notre script. Je passe une nouvelle fois mon tour. Le passage de variable en arguments d&rsquo;un script powershell c&rsquo;est un basique. La modification peut être réalisé en graphique dans le TaskScheduler ou directement dans le fichier XML.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="787" height="44" src="https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_011_actionArgs.jpg" alt="" class="wp-image-3233" srcset="https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_011_actionArgs.jpg 787w, https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_011_actionArgs-300x17.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2025/10/WIN_010_011_actionArgs-768x43.jpg 768w" sizes="auto, (max-width: 787px) 100vw, 787px" /></figure>
</div>


<p>Maintenant, il ne reste plus qu&rsquo;à réimporter la tache de nouveau puis de réaliser un test.</p>



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



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td>Pour le test, rien de plus facile&#8230;<br>J&rsquo;ai choisie d&rsquo;initier une connexion à l&rsquo;une des ressources des domaines à partir d&rsquo;un compte pour lequel la FGPP est active :<br><br>* RONEALB\erwan.guillemard<br><br>Depuis une instance de bureau à distance, je décide de mettre en application ma plus belle couche 8 en saisissant 5 fois mon mot de passe de manière erroné.<br><br>Windows m&rsquo;informe que mon compte a été verrouillé à la suite de plusieurs tentatives d&rsquo;authentifications infructueuses.<br><br>Quelques minutes après, je reçois le mail ci-contre.</td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="650" height="575" class="wp-image-3215" style="width: 650px;" src="https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_006_mail.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_006_mail.jpg 702w, https://erwanguillemard.com/wp-content/uploads/2025/09/WIN_010_006_mail-300x265.jpg 300w" sizes="auto, (max-width: 650px) 100vw, 650px" /></td></tr></tbody></table></figure>



<p></p>



<p>En regardant en détail, j&rsquo;ai bien les informations qui m&rsquo;informe que le compte erwan.guillemard a été verrouillé à la suite d&rsquo;une plusieurs tentatives de connexions depuis la machine EGWKS-RDB01 le 26/09/2025 à 20:31:40 sur le domaine RONELAB.</p>



<p>Toutefois et si je regarde avec précision le déclenchement de la tâche, j&rsquo;ai 7 minutes de retard dans le temps affiché dans mon mail et la date d&rsquo;entrée dans le journal de sécurité. Ce retard s&rsquo;explique par une mauvaise prise en compte de la valeur DateTime. Je pensais que la valeur Datetime du script serait définis lors du lancement du script à la détection de l&rsquo;événement. Cependant, mon SI étant très ancien, la tache met une bonne dizaine de minutes (en grossissant le trait) à se lancer. Ainsi je génère un delta ce qui n&rsquo;est pas super en termes de sécurité. Il faudrait donc que je récupère la valeur DateTime présente dans l&rsquo;événement.</p>



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



<p>Je suis content d&rsquo;avoir réinventé mon propre système de notification sur le verrouillage d&rsquo;un compte utilisateur dans un domaine à partir de la problématique qu&rsquo;avait il y a maintenant plusieurs années un ancien collègue. Ainsi, j&rsquo;ai pu combler une problématique vieille de 10 ans en relation avec les événements et les taches planifiées (dans mon projet de mémoire sur la supervision Shinken).</p>



<p>J&rsquo;ai également constaté que les modules développés dans les projets précédents m&rsquo;ont fait gagner un temps monstrueux. Cela me permet donc de me dire et de m&rsquo;auto-confirmer que premièrement je ne fais pas que de la merde, secondement qu&rsquo;à partir de maintenant je vais prendre un chemin différent quant à l&rsquo;ensemble des problématiques qui nécessite un dev en powershell.</p>



<p>Le plus difficile restera je le pense de toujours garder une vision claire et qui réponde au 3S.</p>



<p>Si je devais être efficient, je reprendrais mes bouts de code existant concernant la création de ticket dans la solution ITSM de COMBODO (ITOP) pour générer un ticket en criticité haute pour le verrouillage d&rsquo;un compte. De cette manière, le centre de service ou les équipes locales (internalisées ou externalisées) pourraient être proactives quant à tous comportements succès en relation avec l&rsquo;authentification et l&rsquo;accès à des ressources. Ce qui pourrait alors se résumer selon notre bon vieux William Shakespear par « Le plaisir d&rsquo;un travail en guérit la peine ».</p>



<p>J&rsquo;ai encore une fois repris une idée. Je pense qu&rsquo;il serait temps que je reprenne un peu de temps pour innover. Certes, comprendre et mettre en pratique les idées de mes paires et une bonne chose mais je pense qu&rsquo;il est souhaitable de vivre pleinement une nouvelle fois cette satisfaction personnelle. Mon ultime rature se limitera à « <strong>Est ce que cela valait ce billet ?</strong>« .</p>



<p>Je vous laisse jugez de tout ça et prendre contact si vous voulez le bout de code 🙂</p>



<p>Le mot de la fin&nbsp;:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Vous êtes surqualifié pour le poste ? Que neni, j&rsquo;aime les salsifis et je sens vaguement le chou. Je vous embauche et Toper Harley reste dans la boucle. Merci, j&rsquo;ai les films de programmateurs.</p>
<cite>Erwan GUILLEMARD</cite></blockquote>



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



<ul class="wp-block-list">
<li><a href="https://cyber.gouv.fr/sites/default/files/2021/10/anssi-guide-authentification_multifacteur_et_mots_de_passe.pdf">ANSSI : Guide d&rsquo;authentification multi facteur et mots de passe</a></li>



<li><a href="https://learn.microsoft.com/fr-fr/windows-server/security/windows-authentication/credentials-processes-in-windows-authentication">WINDOWS : Authentification &amp; Identification</a></li>



<li><a href="https://learn.microsoft.com/fr-fr/windows-server/identity/ad-ds/plan/appendix-l--events-to-monitor">WINDOWS : Evénements à surveiller</a></li>



<li><a href="https://learn.microsoft.com/fr-fr/windows/win32/wes/eventschema-eventtype-complextype">WINDOWS : Type Complexe EventType</a></li>



<li><a href="https://learn.microsoft.com/fr-fr/windows-server/security/kerberos/kerberos-authentication-overview">WINDOWS : KERBEROS</a></li>



<li><a href="https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/schtasks-create">WINDOWS : Svctasks</a></li>



<li><a href="https://learn.microsoft.com/en-us/powershell/module/scheduledtasks/new-scheduledtask?view=windowsserver2025-ps">WINDOWS : New-ScheduledTask</a></li>



<li><a href="https://learn.microsoft.com/en-us/powershell/module/scheduledtasks/register-scheduledtask?view=windowsserver2025-ps">WINDOWS : Register-ScheduledTask</a></li>



<li><a href="https://learn.microsoft.com/en-us/windows/win32/taskschd/taskschedulerschema-eventtriggertype-complextype">WINDOWS : Event &amp; Queries</a></li>
</ul>


<ol class="wp-block-footnotes"><li id="ee3df61f-a519-4425-8d3e-e24b9d4968ce"><strong>AD :</strong> Active Directory <a href="#ee3df61f-a519-4425-8d3e-e24b9d4968ce-link" aria-label="Aller à la note de bas de page 1">↩︎</a></li><li id="8a83b3e9-a47a-428b-8eba-109292ff90d3"><strong>PSSI :</strong> Politique de Sécurité des Systèmes d&rsquo;Informations <a href="#8a83b3e9-a47a-428b-8eba-109292ff90d3-link" aria-label="Aller à la note de bas de page 2">↩︎</a></li><li id="c83eaf51-a4dd-41a4-bd7a-588ddcc4945b"><strong>OSI :</strong> Open Systems Interconnection <a href="#c83eaf51-a4dd-41a4-bd7a-588ddcc4945b-link" aria-label="Aller à la note de bas de page 3">↩︎</a></li><li id="b2669417-059d-4c69-984f-1d328949f770"><strong>SI</strong> : Système d&rsquo;Informations <a href="#b2669417-059d-4c69-984f-1d328949f770-link" aria-label="Aller à la note de bas de page 4">↩︎</a></li><li id="18e69ed2-abc8-46a5-a20d-72f7eb983f95"><strong>DNS :</strong> Domain Name Service <a href="#18e69ed2-abc8-46a5-a20d-72f7eb983f95-link" aria-label="Aller à la note de bas de page 5">↩︎</a></li><li id="0721b4af-c255-4f7e-809c-b8c9286fd00d"><strong>DC :</strong> Domain Controller <a href="#0721b4af-c255-4f7e-809c-b8c9286fd00d-link" aria-label="Aller à la note de bas de page 6">↩︎</a></li><li id="4fcc112f-3418-4247-99c0-2a394beaf5ae"><strong>NTLM :</strong> NT Lan Manager <a href="#4fcc112f-3418-4247-99c0-2a394beaf5ae-link" aria-label="Aller à la note de bas de page 7">↩︎</a></li><li id="3e2a8bc8-2b61-4fd4-b3b4-db26e8c201c2"><strong>TGT</strong> : Ticket Granting Ticket <a href="#3e2a8bc8-2b61-4fd4-b3b4-db26e8c201c2-link" aria-label="Aller à la note de bas de page 8">↩︎</a></li><li id="3f2db1e6-f957-433a-a801-b23ae4ea333f"><strong>KDC :</strong> Key Distribution Center <a href="#3f2db1e6-f957-433a-a801-b23ae4ea333f-link" aria-label="Aller à la note de bas de page 9">↩︎</a></li><li id="b16e4796-0ae1-459e-91b3-49a78e1a49d6"><strong>TGS :</strong> Ticket Granting Server <a href="#b16e4796-0ae1-459e-91b3-49a78e1a49d6-link" aria-label="Aller à la note de bas de page 10">↩︎</a></li><li id="f45783de-eede-4502-9d26-843d9efb5a18"><strong>GPO :</strong> Group Policy Object <a href="#f45783de-eede-4502-9d26-843d9efb5a18-link" aria-label="Aller à la note de bas de page 11">↩︎</a></li><li id="bfa3d65a-4536-4421-a219-6600a3b2a55b"><strong>ANSSI :</strong> Agence Nationale de Sécurité des Systèmes Informatiques <a href="#bfa3d65a-4536-4421-a219-6600a3b2a55b-link" aria-label="Aller à la note de bas de page 12">↩︎</a></li><li id="e9521bc3-b710-4c91-bf97-8570fc3d067b"><strong>FGPP :</strong> Fine Grained Password Policy <a href="#e9521bc3-b710-4c91-bf97-8570fc3d067b-link" aria-label="Aller à la note de bas de page 13">↩︎</a></li><li id="9df0753e-8417-42bd-973d-7f3768f6f682"><strong>gMSA :</strong> Group Managed Service Account <a href="#9df0753e-8417-42bd-973d-7f3768f6f682-link" aria-label="Aller à la note de bas de page 14">↩︎</a></li><li id="6abe1078-a9b2-473e-9eaf-22a911773d11"><strong>SMTP :</strong> Simple Mail Transfert Protocol <a href="#6abe1078-a9b2-473e-9eaf-22a911773d11-link" aria-label="Aller à la note de bas de page 15">↩︎</a></li><li id="58e956e0-f13f-4d89-8d26-b740eaec0aff"><strong>RTFM :</strong> Read The F*cking Manual <a href="#58e956e0-f13f-4d89-8d26-b740eaec0aff-link" aria-label="Aller à la note de bas de page 16">↩︎</a></li><li id="57ebb545-b5d9-40ef-ba6b-5f6925982680"><strong>WAC :</strong> Windows Admin Center <a href="#57ebb545-b5d9-40ef-ba6b-5f6925982680-link" aria-label="Aller à la note de bas de page 17">↩︎</a></li><li id="7ce633ec-415b-40dd-8fe5-9a646966011c"><strong>3S :</strong> Simple, Standard, Sécurisé <a href="#7ce633ec-415b-40dd-8fe5-9a646966011c-link" aria-label="Aller à la note de bas de page 18">↩︎</a></li></ol>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WIN – AD &#038; Certificats</title>
		<link>https://erwanguillemard.com/win-ad-certificats/</link>
		
		<dc:creator><![CDATA[Erwan Guillemard]]></dc:creator>
		<pubDate>Sat, 01 Feb 2025 21:56:46 +0000</pubDate>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[Certificat]]></category>
		<category><![CDATA[Securité]]></category>
		<guid isPermaLink="false">https://erwanguillemard.com/?p=2668</guid>

					<description><![CDATA[J&#8217;ai toujours toléré sur mes infrastructures ainsi que sur celle des clients les certificats auto-signés et ce malgré cette « petite » alerte de nos navigateurs nous indiquant que notre « Connexion n&#8217;est pas privée ». Logique dans un sens puisque le certificat auto-généré par ce même équipement ne peut-être juge est parti. Le certificat doit être demandé par...]]></description>
										<content:encoded><![CDATA[
<p>J&rsquo;ai toujours toléré sur mes infrastructures ainsi que sur celle des clients les certificats auto-signés et ce malgré cette « petite » alerte de nos navigateurs nous indiquant que notre « Connexion n&rsquo;est pas privée ».</p>



<p>Logique dans un sens puisque le certificat auto-généré par ce même équipement ne peut-être juge est parti. Le certificat doit être demandé par l&rsquo;équipement à une autorité certifiant que c&rsquo;est bien lui.</p>



<p>M&rsquo;enfin comme le dirai notre bon vieux LAGAFFE, j&rsquo;ai défait fait un billet dans ce sens et je ne vais donc pas user de la combinaison Ctrl+C, Ctrl+V. Et gardons à l&rsquo;esprit jeune damoiseau (plus encore pour longtemps) les bonnes résolutions de rédaction de cette année 2025.</p>



<p>Nous voilà en route pour aborder le sujet des certificats d&rsquo;infrastructure à clé publique (PKI<sup data-fn="0a4cc086-5c58-47b8-bfb5-a3270597c32c" class="fn"><a href="#0a4cc086-5c58-47b8-bfb5-a3270597c32c" id="0a4cc086-5c58-47b8-bfb5-a3270597c32c-link">1</a></sup>) dans un environnement windows avec domaine pour renforcer la sécurité de nos SIs<sup data-fn="8b5a77dc-0e30-40d5-80d6-82e432db31c8" class="fn"><a href="#8b5a77dc-0e30-40d5-80d6-82e432db31c8" id="8b5a77dc-0e30-40d5-80d6-82e432db31c8-link">2</a></sup>, ménager nos WebBrowser quant à l&rsquo;affichage de ce type d&rsquo;avertissement.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="658" height="651" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_0_INTRO.png" alt="" class="wp-image-2706" style="width:262px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_0_INTRO.png 658w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_0_INTRO-300x297.png 300w" sizes="auto, (max-width: 658px) 100vw, 658px" /></figure>
</div>


<p>Et surtout, préparons nous à nous arracher les cheveux par moment. </p>



<p>Mais alors pourquoi faire de nouveau un article sur ce sujet si tu as déjà couvert ce même sujet ? Difficile de tester et de traiter de certain sujet sans avoir de serveur PKI. Implémenter des fonctionnalités c&rsquo;est bien. Les sécuriser c&rsquo;est mieux.</p>



<p>Cet article permettra par la suite de pouvoir traiter de sujet comme (et ce n&rsquo;est qu&rsquo;un exemple) :</p>



<ul class="wp-block-list">
<li>WinRM Over HTTPS</li>



<li>SMB OverQuick</li>



<li>Applications en HTTPS</li>



<li>etc</li>
</ul>



<p>Une autre raison, reste d&rsquo;avoir de maintenir un niveau technique cohérent avec mon cercle professionnel et non pas rester sur le banc de touche. Si la théorie est acquise, la pratique ne l&rsquo;est pas, du moins ne l&rsquo;était pas avant la rédaction de ce papier.</p>





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



<ul class="wp-block-list">
<li><strong>SE :</strong>&nbsp;Windows Server 2k19 et version ultérieures</li>



<li><strong>Apps :&nbsp;</strong>N/A</li>



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



<li>Applications supportant TLS/SSL</li>
</ul>
</li>
</ul>



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



<p>Avant de rentrer dans le vif du sujet et d&rsquo;aborder ce qui est propre Windows, je pense utile de faire un rappel des bases de la cryptographie moderne aussi loin qu&rsquo;il m&rsquo;est possible de me remémorer mes cours de cryptographie.</p>



<p><strong>Sinon à quoi bon aborder le sujet de certificat sans en piper le moindre mot ? <a href="https://www.youtube.com/watch?v=kaJJ6t1dFmI&amp;ab_channel=Vid%C3%A9osAnnonces">Et croyez moi, je fume bien la pipe&#8230;.</a> </strong></p>



<p>Déjà, le pourquoi de chiffrer une information ? Pour cela nous devons faire appel à CAIN.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="350" height="439" class="wp-image-2770" style="width: 350px;" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_000_cain_ricci.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_000_cain_ricci.jpg 375w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_000_cain_ricci-239x300.jpg 239w" sizes="auto, (max-width: 350px) 100vw, 350px" /></td><td>Rien à voir avec Abdel se faisant tuer par Cain premier meurtrier, mais il me faisait plaisir de partager l&rsquo;œuvre de Sebastiano RICCI que je trouve magnifique (la confiture c&rsquo;est comme la culture, moins on en a plus on l&rsquo;étale).<br><br>Plus sérieusement :<br><br><strong>C</strong> : <em>Confidentialité</em> des informations stockées ou manipulées<br><br><strong>A</strong> : <em>Authentification</em> des protagonistes lors des des communications<br><br> <strong>I</strong> : <em>Intégrité</em> des informations stockées ou manipulées<br><br><strong>N</strong> : <em>Non-Répudiation</em> des informations</td></tr></tbody></table></figure>



<p></p>



<p>En complément du premier principe fondamental, j&rsquo;enchainerai avec un second qui est précieux pour mon petit cœur, le principe de <a href="https://fr.wikipedia.org/wiki/Auguste_Kerckhoffs">Kerckhoffs</a>.</p>



<ul class="wp-block-list">
<li>La sécurité repose sur la clé de chiffrement et non sur le secret de l&rsquo;algorithme</li>



<li>Le déchiffrement d&rsquo;un contenu chiffré doit être impossible dans un temps raisonnable</li>



<li>Déterminer la clé à partir du contenu en clair et du contenu chiffré doit être impossible dans un temps raisonnable</li>
</ul>



<p><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-1-color">Soit, toute attaque doit être envisagée en supposant que l&rsquo;attaquant connait tous les détails du cryptosystème.</mark></em></p>



<p>Je pense qu&rsquo;avec ces deux principes, nous pouvons faire un grand pas en avant et plonger dans le monde de la cryptographie moderne. [<em>Je ne suis pas un spécialiste de la question, je laisse à mes pères le droit de me sabrer sur le sujet</em>.]</p>



<p>La cryptographie moderne tourne autour du chiffrement asymétrique et de plusieurs algorithmes. Tout est régis dans notre bas monde par ces algorithmes et la capacité et puissance des nombres premiers. Toutefois l&rsquo;émergence de la technologie quantique et de l&rsquo;age d&rsquo;or de l&rsquo;IA<sup data-fn="e602c7b7-cfb6-4f05-af60-fffdddc229f4" class="fn"><a href="#e602c7b7-cfb6-4f05-af60-fffdddc229f4" id="e602c7b7-cfb6-4f05-af60-fffdddc229f4-link">3</a></sup> va remettre assez rapidement en cause ce paradigme.</p>



<p class="has-text-align-center"><strong><a href="https://www.lemondeinformatique.fr/actualites/lire-la-cle-rsa-2048-cassee-par-un-systeme-quantique-92034.html">L&rsquo;un des derniers en date.</a> Cela fait froid dans le dos hein ?</strong></p>



<p>Bref, parlons peu mais parlons bien. Qu&rsquo;est que le chiffrement asymétrique ?</p>



<p>Le chiffrement asymétrique consiste à la génération d&rsquo;une clé dite privée et d&rsquo;une clé publique. A travers de fonction unique, il n&rsquo;est pas possible de déchiffrer un message chiffré par la même clé.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="654" height="263" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_000_2_keys.png" alt="" class="wp-image-2772" style="width:455px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_000_2_keys.png 654w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_000_2_keys-300x121.png 300w" sizes="auto, (max-width: 654px) 100vw, 654px" /></figure>
</div>


<p></p>



<p>Ainsi, la clé privée est l&rsquo;élément sensible et doit rester connu que de la source et non de la cible. Seule la clé publique et communiqué. Ainsi, prenons le cas d&rsquo;un échange entre Alice et Bob (sacré Robert et Alice, toujours là depuis des décennies à s&rsquo;envoyer des messages sans jamais arriver à conclure ou pécho pour les millénials&#8230; Tout ça car Charlie veut pécho Alice ou Bob. C&rsquo;est un peu l&rsquo;Antigone 3.0 de notre temps&#8230; Je laisse à Jean Anouilh la version 2.0).</p>



<p>Ainsi, si nous regardons un échange entre Alice et Bob sans inclure Charlie :</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="685" height="404" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_000_3_keys.png" alt="" class="wp-image-2773" style="width:393px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_000_3_keys.png 685w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_000_3_keys-300x177.png 300w" sizes="auto, (max-width: 685px) 100vw, 685px" /></figure>
</div>


<p>Alice étant folle amoureuse de Bob, elle a communiqué sa clé publique (mais pas à Charlie) mais garde sa clé publique. Si Alice veut écrire un message à Bob <strong>(1)</strong>, elle va chiffrer son message avec sa clé publique et déposer son fichier dans le grand tuyau qu&rsquo;est l&rsquo;internet. Charlie qui <a href="https://www.youtube.com/watch?v=m3YX8zlR4BU&amp;ab_channel=Ang%C3%A8le">est caché derrière son écran et qui veut de la thune</a> (et pas que) ne voit passé qu&rsquo;un message incompréhensible car il n&rsquo;a pas la clé publique d&rsquo;Alice. Bob, lui reçoit le message chiffré, qu&rsquo;il pourra déchiffrer grâce à la clé publique qu&rsquo;Alice lui a transmis. Mais voilà <strong>(2)</strong>, Bob est un peu beauf et ne comprend pas l&rsquo;amour que lui porte Alice et lui répond qu&rsquo;il aime les moules frites et les soirées tunnings. Il chiffre sa réponse avec la clé publique et la retourne à Alice. Charlie, lui aime le tunning mais il ne pourra jamais déchiffrer à temps le message&#8230; Alice reçoit la réponse de Bob, est malgré la clé privée ne devrait pas déchiffrer le message de Bob.</p>



<p>Mais à l&rsquo;inverse, si nous admettons qu&rsquo;Alice échange également avec Charlie (donc que Charlie possède la clé publique d&rsquo;Alice), Charlie peut pas échanger des menaces de morts à Bob de manière sécurisé MAIS Bob ne sera pas dans la capacité de déchiffrer le message de Charlie. <em>Bob, petit conseil d&rsquo;ami, compose le numéro de police secours, j&rsquo;dis ça, j&rsquo;dis rien.</em></p>



<p>Bref, Alice finira dans sa baignoire à écouter « <a href="https://www.youtube.com/watch?v=5NPBIwQyPWE&amp;ab_channel=AvrilLavigneVEVO">Avril Lavigne</a> » (a prononcer avec l&rsquo;accent) avant d&rsquo;être de nouveau figurante dans un schéma d&rsquo;explication d&rsquo;un échange cryptographique.</p>



<p>Nous avons donc l&rsquo;idée du fonctionnement. Et bien les certificats c&rsquo;est presque pareil dans le fonctionnement, mais en complément nous allons retrouver des informations permettant d&rsquo;identifier le fournisseur, la source. Afin de garantir la sécurité, une durée de vie est définie dans le temps. Ce dernier devra être regénéré. Les certificats sont uniques et intrinsèques à une entreprise, une personne.</p>



<p>J&rsquo;espère donc avec cette courte introduction ne pas avoir dit d&rsquo;ânerie. C&rsquo;est que 2013 ce n&rsquo;est plus si proche que ça. Sinon, je corrigerai ou supprimerai l&rsquo;article. <a href="https://www.youtube.com/watch?v=msObVR8EDYk&amp;ab_channel=JejeinhoII">J&rsquo;assumerai l&rsquo;entière responsabilité de cet échec en me retirant définitivement de la cryptographie&#8230;</a> Non, je retournerai en khôls sur les bancs de la fac (<strong><em>#IUTdeLens #StadeBollaert #RinceCochon #Frites</em></strong>).</p>



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



<p>Je pense que nous sommes assez armés pour aborder la suite. Comment construire et définir correctement son architecture PKI dans son SI.</p>



<p>La première vraie question est qu&rsquo;est ce que je souhaite implémenter et comment je souhaite gérer les inscriptions et demande de certificat ?</p>



<p>C&rsquo;est à cette question que nous allons tâcher de répondre.</p>



<h3 class="wp-block-heading">Architecture &amp; Best Pratices</h3>



<p>La documentation Microsoft est pour le coup pas mal gaulé. Et deux architectures sont proposées. Bien que l&rsquo;une convienne plus à une autre en termes de sécurité, il est important de définir le temps et la complexité à passer par l&rsquo;équipe en place pour administrer la solution.</p>



<p>Sortir une architecture autonome pour 4 serveurs, utilisé par 30 personnes et administré par 1 seul SysAdmin c&rsquo;est un peu surdimensionné. Oui c&rsquo;est une bonne pratique mais quand même. Alors qu&rsquo;une architecture d&rsquo;entreprise serait plus appropriée.</p>



<p class="has-text-align-center"><strong>Oh Pt&rsquo;ain le con il a lâché les deux types d&rsquo;infrastructures comme ça ! T&rsquo;es un précoce de la vie non ? </strong></p>



<p class="has-text-align-center">T&rsquo;inquiète, j&rsquo;ai encore une balle dans la chambre lapin.</p>



<p class="has-text-align-left">Peu importe le type d&rsquo;architecture, nous devons considérer qu&rsquo;un serveur ADCS<sup data-fn="e8a10f21-1470-4795-b2f4-3899c98bcacb" class="fn"><a href="#e8a10f21-1470-4795-b2f4-3899c98bcacb" id="e8a10f21-1470-4795-b2f4-3899c98bcacb-link">4</a></sup> (ou avec les rôles PKIs) est critique pour l&rsquo;organisation du SI. Donc il passe directement en case T0 du modèle de tiering.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><img decoding="async" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_000_3_T1_Entreprise.png" alt="" style=""></td><td>Ainsi, il est primordial que ce serveur ADCS ne soient pas accessible de n&rsquo;importe qui et de n&rsquo;importe où.<br><br>Si ce dernier se fait compromettre, c&rsquo;est l&rsquo;ensemble de notre SI qui sera hors service. Vous pouvez toujours dire ce n&rsquo;est pas moi et aller pointer au France Travail.<br><br>Blague à part, notre serveur va nous servir à délivrer les certificats de notre SI. Le serveur certifiera ces derniers comme valider par lui, autorité de confiance. Or, ce même serveur s&rsquo;appuie sur ADDS<sup data-fn="056e2f26-9895-45f7-b31f-df4084ac39fa" class="fn"><a href="#056e2f26-9895-45f7-b31f-df4084ac39fa" id="056e2f26-9895-45f7-b31f-df4084ac39fa-link">5</a></sup>. Donc, nous n&rsquo;avons pas à exposer ce dernier (mais je reviendrai sur ce point car il y a des exceptions).</td></tr></tbody></table></figure>



<p class="has-text-align-left"></p>



<p>Le modèle ci-dessus représente clairement l&rsquo;architecture <strong>d&rsquo;autorité d&rsquo;entreprise</strong>. Cette architecture convient au petit système d&rsquo;information et donc au PME<sup data-fn="6b0c6db6-adeb-4d8d-9538-74ed8d47046d" class="fn"><a href="#6b0c6db6-adeb-4d8d-9538-74ed8d47046d" id="6b0c6db6-adeb-4d8d-9538-74ed8d47046d-link">6</a></sup>. Il convient donc de joindre le serveur ADCS à notre domaine. Notre serveur d&rsquo;autorité de certification sera donc disponible et validera les demandes d&rsquo;inscriptions ains que les différents modèles. Le problème réside dans la sécurité de ce dernier. Si nous voulons nous assurer que notre autorité de certification racine ne soit pas compromis, il serait bien de la rendre inaccessible. Microsoft, recommande clairement d&rsquo;éteindre ce dernier. Toutefois, ce n&rsquo;est pas possible car ce dernier est unique et en plus joint au domaine&#8230;</p>



<p>C&rsquo;est ainsi que rentre en jeu l&rsquo;architecture d&rsquo;autorité autonome. Comme son nom l&rsquo;indique, cette architecture est indépendante de notre domaine, mais nécessite un serveur dit d&rsquo;autorité secondaire ou d&rsquo;autorité intermédiaire. Ce qui concrètement nous donne le modèle suivant de tiering.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><img loading="lazy" decoding="async" width="450" height="415" class="wp-image-2778" style="width: 450px;" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_000_3_T1_Autonome.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_000_3_T1_Autonome.png 651w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_000_3_T1_Autonome-300x276.png 300w" sizes="auto, (max-width: 450px) 100vw, 450px" /></td><td>Nous déployons hors domaine dans une bulle à part notre serveur d&rsquo;autorité de certification racine. <br>Nous définissons notre certificat racine.<br><br>Dans notre bulle T0, nous allons créer un nouveau serveur dit d&rsquo;autorité intermédiaire ou secondaire. Ce dernier va avoir un certificat que va être certifié par l&rsquo;autorité racine. <br>Ainsi, ce dernier aura dérogation pour délivrer les certificats et les inscriptions sur notre SI. Dérogation et délégation oui, mais pas les pleins pouvoirs.<br><br>C&rsquo;est là que ça devient fun. Niveau sécurité, il ne reste plus qu&rsquo;à éteindre notre serveur d&rsquo;autorité racine. Il n&rsquo;est pas au domaine donc qu&rsquo;est qu&rsquo;on en a à fo***re ? Si nous en avons besoin, nous le remettrons sous tension et pas de risque de tombstone.</td></tr></tbody></table></figure>



<p></p>



<p>Nous pouvons descendre d&rsquo;un niveau hiérarchique supplémentaire en parlant d&rsquo;une autorité de certification émettrice. Mais je n&rsquo;irai pas jusqu&rsquo;à ce niveau là d&rsquo;architecture. Dans le cas commun des entreprises, un niveau de hiérarchie voir deux sont suffisantes.</p>



<ul class="wp-block-list">
<li><strong>Niveau 1 :</strong> Autorité de Certification Racine
<ul class="wp-block-list">
<li><strong>Niveau 2 </strong>: Autorité de Certification Secondaire/Intermédiare (ou de Stratégie)
<ul class="wp-block-list">
<li><strong>Niveau 3</strong> : Autorité de Certification émettrice</li>
</ul>
</li>
</ul>
</li>
</ul>



<p>Dans les architectures les plus complexes il est également possible de réaliser des approbation inter-certificat, comme nous pourrions le faire avec une relation d&rsquo;approbation inter-domaine. Mais je n&rsquo;ai jamais vu, ni même penser cela possible jusqu&rsquo;à ce que je mette ma truffe dans la documentation. Je vais déposer les armes devant cette architecture car je ne pense pas que cela soit monnaie courante (quoi que&#8230;). Joker, je fais appel à mon droit de véto pour cette fois. </p>



<p>Bien, mais alors vu que le serveur qui porte les rôles d&rsquo;autorité de certification racine n&rsquo;est pas au domaine, les fonctionnalités et services proposés ne peuvent être les mêmes qu&rsquo;une autorité de certification d&rsquo;entreprise ? Tout juste.</p>



<p>Clairement, je ne vais pas me faire ch**r et vais donc reprendre le tableau de Microsoft. J&rsquo;ai une flemme de montrer ma maitrise en paraphrase.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-center" data-align="center"><strong>Caractéristique</strong></td><td class="has-text-align-center" data-align="center"><strong>Autorité de certification autonome</strong></td><td class="has-text-align-center" data-align="center"><strong>Autorité de certification d’entreprise</strong></td></tr><tr><td class="has-text-align-center" data-align="center">Utilisation classique</td><td class="has-text-align-center" data-align="center">Vous utilisez généralement une autorité de certification autonome pour les autorités de certification hors connexion.</td><td class="has-text-align-center" data-align="center">Vous utilisez généralement une autorité de certification d’entreprise pour émettre des certificats pour les utilisateurs, les ordinateurs et les services. Vous ne pouvez pas l’utiliser en tant qu’autorité de certification hors connexion.</td></tr><tr><td class="has-text-align-center" data-align="center">Dépendances AD DS</td><td class="has-text-align-center" data-align="center">Une autorité de certification autonome ne dépend pas d’AD DS.</td><td class="has-text-align-center" data-align="center">Une autorité de certification d’entreprise s’appuie sur AD DS comme sa base de données de configuration et d’inscription. Une autorité de certification d’entreprise utilise également AD DS pour publier des certificats et leurs métadonnées.</td></tr><tr><td class="has-text-align-center" data-align="center">Méthodes de demande de certificat</td><td class="has-text-align-center" data-align="center">Les utilisateurs peuvent demander des certificats auprès d’une autorité de certification autonome à l’aide d’une procédure manuelle ou d’une inscription via le web.</td><td class="has-text-align-center" data-align="center">Les utilisateurs peuvent demander des certificats auprès d’une autorité de certification d’entreprise à l’aide de l’inscription manuelle, de l’inscription via le web, de l’inscription automatique, de l’inscription pour le compte de et des services web.</td></tr><tr><td class="has-text-align-center" data-align="center">Méthodes d&rsquo;émission de certificat</td><td class="has-text-align-center" data-align="center">Un administrateur d’autorité de certification doit approuver toutes les demandes manuellement.</td><td class="has-text-align-center" data-align="center">L’autorité de certification peut émettre des certificats ou refuser automatiquement l’émission de certificats en fonction d’une configuration personnalisée définie par l’administrateur de l’autorité de certification.</td></tr></tbody></table></figure>



<p></p>



<p>Concernant la méthode d&rsquo;inscription, ou plutôt les méthodes d&rsquo;inscriptions il est nécessaire de considérer le besoin. Personnellement, je réalise l&rsquo;ensemble des demandes si ce n&rsquo;est la totalité manuellement. L&rsquo;inscription via les services WEB (à travers IIS<sup data-fn="66b449ef-f6e2-439f-80e7-d1819baa1652" class="fn"><a href="#66b449ef-f6e2-439f-80e7-d1819baa1652" id="66b449ef-f6e2-439f-80e7-d1819baa1652-link">7</a></sup>) est compromise depuis la découverte de PetitPotam et bien qu&rsquo;un KB<sup data-fn="500134e9-4a13-4773-8772-869da00b9d4b" class="fn"><a href="#500134e9-4a13-4773-8772-869da00b9d4b" id="500134e9-4a13-4773-8772-869da00b9d4b-link">8</a></sup> soit disponible pour renforcer la sécurité cela représente un risque trop certains (et surtout, j&rsquo;ai jamais été foutu de le faire fonctionner avec mon serveur core. L&rsquo;arroseur arrosé en somme 🙂 ).</p>



<p>Bien, je pense que niveau théorie, la boucle est bouclée. Si besoin je reviendrai dessus mais entre deux poses déjeuner et le travail nocturne (si je peux nommer ça travail) j&rsquo;ai la fâcheuse tendance à perdre le fil. 🙂 Enfin bon, place à la pratique.</p>



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



<p>Pour répondre à la partie théorique, je resterai sur une inscription manuelle ainsi que dans de rare cas un inscription des postes. Naturellement et comme souligné plusieurs fois, je déploierait une architecture type autorité de certification d&rsquo;entreprise à un niveau de hiérarchie. </p>



<p class="has-text-align-center"><a href="https://www.youtube.com/watch?v=SNUuB_rmIQI&amp;ab_channel=Tom">Okay, let&rsquo;s go&#8230;</a></p>



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



<p>Pour cette partie je veux réaliser deux approches, l&rsquo;approche sur un serveur classique soit avec l&rsquo;expérience utilisation et sur un serveur core (bye bye la GUI<sup data-fn="78e14bc6-9410-46cd-bc83-c906a92f6291" class="fn"><a href="#78e14bc6-9410-46cd-bc83-c906a92f6291" id="78e14bc6-9410-46cd-bc83-c906a92f6291-link">9</a></sup>). A la liberté de chacun de choisir son type d&rsquo;installation.</p>



<p>Or je me permets de citer (après je dis ça je dis rien hein ?).</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>Un autre point à prendre en compte est le type d’installation du système d’exploitation. L’Expérience utilisateur et les scénarios d’installation Server Core prennent en charge AD CS. Server Core minimise la surface potentielle du pirate et la surcharge de maintenance du système d’exploitation, ce qui en fait le choix optimal pour AD CS dans un environnement d’entreprise.</em></p>
<cite><a href="https://learn.microsoft.com/fr-fr/training/modules/implement-manage-active-directory-certificate-services/3-design-implement-ad-cs">Un rédacteur chez MS</a></cite></blockquote>



<p>Comme indiqué précédemment, mon serveur de certification racine sera joint au domaine par manque de ressource, naturellement si les ressources étaient présentes, j&rsquo;aurais déployé une architecture Intermédiaire avec le serveur CA<sup data-fn="754a7ccc-f920-41d5-88c1-896111822049" class="fn"><a href="#754a7ccc-f920-41d5-88c1-896111822049" id="754a7ccc-f920-41d5-88c1-896111822049-link">10</a></sup> hors domaine.</p>



<p>Je considère donc que l&rsquo;environnement est à jour et préalablement durci.</p>



<h4 class="wp-block-heading">GUI</h4>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2668_fc30d6-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-pane2668_22dae6-93"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>1 &#8211; Add me if you can</strong></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>Les actions se passent comme d&rsquo;accoutumé via le gestionnaire de serveur en ajoutant un rôle. Nous devons choisir le rôle <strong>Services de certificats Active Directory</strong>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="959" height="563" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_1_setupADCS.png" alt="" class="wp-image-2712" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_1_setupADCS.png 959w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_1_setupADCS-300x176.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_1_setupADCS-768x451.png 768w" sizes="auto, (max-width: 959px) 100vw, 959px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2668_f602e0-70"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>2 &#8211; Fonctionnalités</strong></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>Facultatif, mais utile de mon point de vue, l&rsquo;installation des outils d&rsquo;administrations distant pour administrer le service de certificat AD<sup data-fn="ebfc9e9b-77ab-4096-844a-7a12a6e3ec47" class="fn"><a href="#ebfc9e9b-77ab-4096-844a-7a12a6e3ec47" id="ebfc9e9b-77ab-4096-844a-7a12a6e3ec47-link">11</a></sup>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="790" height="565" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_2_setupADCS.png" alt="" class="wp-image-2713" style="width:531px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_2_setupADCS.png 790w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_2_setupADCS-300x215.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_2_setupADCS-768x549.png 768w" sizes="auto, (max-width: 790px) 100vw, 790px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2668_7f352b-15"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>3 &#8211; Wizard</strong></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>Une petite explication de ce que nous allons installer. Naturellement et comme 99% de la population nous cliquerons sur Suivant comme pour les conditions générales d&rsquo;utilisations et autres droits d&rsquo;usage. (Sauf qu&rsquo;ici nous ne vendrons pas nos données et notre c*l ne sera pas considéré comme une base de loisir).</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="790" height="564" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_3_setupADCS.png" alt="" class="wp-image-2714" style="width:615px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_3_setupADCS.png 790w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_3_setupADCS-300x214.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_3_setupADCS-768x548.png 768w" sizes="auto, (max-width: 790px) 100vw, 790px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane2668_53b393-13"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>4 &#8211; Sélection du rôle</strong></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>Enfin, cela devient intéressant. Dans le déploiement de notre rôle nous avons la possibilité d&rsquo;ajouter des services supplémentaires. Dans mon cas, je n&rsquo;utiliserai que la partie Autorité de certification mais il est possible d&rsquo;ajouter d&rsquo;autres services plus particulièrement des services d&rsquo;inscription pour faciliter les demandes de création et d&rsquo;inscriptions.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="789" height="564" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_4_setupADCS.png" alt="" class="wp-image-2715" style="width:596px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_4_setupADCS.png 789w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_4_setupADCS-300x214.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_4_setupADCS-768x549.png 768w" sizes="auto, (max-width: 789px) 100vw, 789px" /></figure>
</div>


<p>Toutefois et attention, certains services ouvrent des angles de vulnérabilités de par la criticité de notre serveur et surtout de ces rôles. De plus les services web ont été challengé <s>il y a peu</s> par PetitPotam (2022 c&rsquo;était bien hier non ? Azy t&rsquo;abuse gros&#8230;). Donc la prudence est de mise, pour plus d&rsquo;information sur le sujet, je vous renvoie vers le <a href="https://support.microsoft.com/fr-fr/topic/kb5005413-att%C3%A9nuation-des-attaques-de-relais-ntlm-sur-les-services-de-certificats-active-directory-ad-cs-3612b773-4043-4aa9-b23d-b87910cd3429">KB MS</a> traitant de la CVE<sup data-fn="6afc3b24-a36a-4d1e-9f0f-bdafbf3bb8f8" class="fn"><a href="#6afc3b24-a36a-4d1e-9f0f-bdafbf3bb8f8" id="6afc3b24-a36a-4d1e-9f0f-bdafbf3bb8f8-link">12</a></sup>.</p>



<p>(Pour le coup, je me suis bien fait fi*t* la gueule en CORE car je n&rsquo;ai aucune souplesse en IIS avec mon powershell. Tiens <strong><em>Monsieur JDO,</em></strong> vous marquez un point pour le coup 🙂 ).</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane2668_f0602c-92"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>5 &#8211; Confirmation du déploiement</strong></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 chez le notaire, nous acceptons le redémarrage automatique, et nous validons les émoluments compensatoires (Merci Didier !).</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="827" height="563" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_5_setupADCS.png" alt="" class="wp-image-2716" style="width:583px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_5_setupADCS.png 827w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_5_setupADCS-300x204.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_5_setupADCS-768x523.png 768w" sizes="auto, (max-width: 827px) 100vw, 827px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane2668_26bc89-f6"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>6 &#8211; Installation en cours, Coffee break</strong></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>L&rsquo;installation se débute, se poursuit et normalement se termine par un succès. Voilà, notre rôle ajouté. <a href="https://www.youtube.com/watch?v=jPFNEmbbI5o&amp;ab_channel=FranceT%C3%A9l%C3%A9visions">Elle est pas belle la vie ?</a></p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="790" height="563" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_6_setupADCS.png" alt="" class="wp-image-2717" style="width:676px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_6_setupADCS.png 790w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_6_setupADCS-300x214.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_001_6_setupADCS-768x547.png 768w" sizes="auto, (max-width: 790px) 100vw, 790px" /></figure>
</div></div></div></div>
</div></div></div>



<h4 class="wp-block-heading">CORE</h4>



<p>Comme toujours (pour ne pas dire <a href="https://www.youtube.com/watch?v=EL3rlBIbpqs&amp;ab_channel=brokenprod">enGORE et enGORE</a>, je vous la sorts bonne hein ! Vous l&rsquo;avez SORBONNE <strong>#TESLOURD</strong>), l&rsquo;installation du rôle sur un serveur core et de loin plus facile et efficace que via l&rsquo;interface graphique&#8230;</p>



<p>Jugeons plutôt.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="997" height="93" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_003_1_setupADCS.png" alt="" class="wp-image-2719" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_003_1_setupADCS.png 997w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_003_1_setupADCS-300x28.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_003_1_setupADCS-768x72.png 768w" sizes="auto, (max-width: 997px) 100vw, 997px" /></figure>
</div>


<p>Et puis voilà&#8230; L&rsquo;inconvénient encore une fois, c&rsquo;est qu&rsquo;en cas de dysfonctionnement il faudra être agile du powershell et de la ligne de commande pour se sortir de la merde. Pas question de compter sur ce bon <a href="https://www.youtube.com/watch?v=MfJirrzRQ60&amp;ab_channel=TheLotrTV">Samsagace GAMEGIE face à SHELOB</a>&#8230; </p>



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



<p>Si l&rsquo;installation du rôle est plutôt simple, la configuration nécessite un tantinet plus de réflexion. Naturellement, j&rsquo;aborde les deux méthodes de déploiement de notre rôles ADCS pour un environnement GUI et CORE.</p>



<p>Important, pour la base de données et les journaux d&rsquo;événement, nous stockerons ces derniers sur un volume dédié indépendamment du volume système (C:\). La raison me semble évidente et je ne m&rsquo;attarderai pas sur ce point. </p>



<h4 class="wp-block-heading">GUI</h4>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2668_5e9e91-41 kt-accordion-has-10-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-pane2668_83a759-96"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>1 &#8211; On montre patte blanche</strong></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>Les opérations pour configurer le rôle nécessite un compte Administrateur local et Administrateur d&rsquo;entreprise.</p>



<p>Deux approches possibles :</p>



<ul class="wp-block-list">
<li>Rien à fo***e du principe de tiering et de moindre privilège : J&rsquo;utilise le compte administrateur du domaine. Ce dernier ayant tous les droits nécessaires. Perso, c&rsquo;est pas ma philosophie, mais chacun voit midi à sa porte.</li>



<li>Je suis consciencieux de la sécurité : Je crée un compte dans mon domaine membre du groupe Administrateur d&rsquo;Entreprise et membre du Groupe Local d&rsquo;administration de notre serveur. Je désactiverai par la suite ce compte.</li>
</ul>



<p>Tout le monde sait que je défendrai bec et ongles le premier point 🙂</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="762" height="563" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_1_configADCS.png" alt="" class="wp-image-2723" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_1_configADCS.png 762w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_1_configADCS-300x222.png 300w" sizes="auto, (max-width: 762px) 100vw, 762px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2668_cac94e-38"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>2 &#8211; Choix du service à configurer</strong></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>Quel rôle souhaitons nous configurer ? Sans grande surprise, vu que nous n&rsquo;avons installer que le service d&rsquo;Autorité de certification&#8230; La question est vite répondue.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="763" height="561" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_2_configADCS.png" alt="" class="wp-image-2724" style="width:725px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_2_configADCS.png 763w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_2_configADCS-300x221.png 300w" sizes="auto, (max-width: 763px) 100vw, 763px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2668_49eb49-9f"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>3 &#8211; Type d&rsquo;installation, croisé des chemins</strong></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>Je parle de croisé des chemins car selon moi il y a ici un choix crucial. Le choix entre plus de sécurité mais plus de contrainte et un choix plus standard. </p>



<p>J&rsquo;ai écrit un peu plus tôt que pour des raisons de ressources mon serveur serait joint au domaine. Cela rentre donc dans le choix Autorité de certification d&rsquo;entreprise.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="760" height="563" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_3_configADCS.png" alt="" class="wp-image-2725" style="width:633px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_3_configADCS.png 760w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_3_configADCS-300x222.png 300w" sizes="auto, (max-width: 760px) 100vw, 760px" /></figure>
</div>


<p>Dans le cas contraire où, nous aurions pris le parti de ne pas joindre notre serveur d&rsquo;autorité de certification ce dernier aurait été autonome et nous devrions déployer un serveur de certification intermédiaire.</p>



<p>J&rsquo;essaierai de maquetter cette architecture. Reste néanmoins à trouver quel serveur je dois sacrifier sur l&rsquo;autel de la connaissance. (Le type qui se la joue clerc au XVI).</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane2668_d747c1-90"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>4 &#8211; Génération de la clé privée</strong></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>La génération de la clé privée est une étape importante de la configuration. Aux prémices de cette dernière, nous avons le choix de générer un nouvelle clé ou d&rsquo;importer une clé existante.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="763" height="565" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_5_configADCS.png" alt="" class="wp-image-2727" style="width:641px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_5_configADCS.png 763w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_5_configADCS-300x222.png 300w" sizes="auto, (max-width: 763px) 100vw, 763px" /></figure>
</div>


<p>Le second choix étant généralement dans le cadre d&rsquo;une réinstallation ou d&rsquo;une migration.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane2668_76932c-54"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>5 &#8211; Chiffrement </strong></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 chiffrement ce n&rsquo;est pas compliqué (bien que si en réalité). Nous gardons Windows comme générateur et fournisseur de notre chiffrement.</p>



<p>Plus c&rsquo;est long, plus c&rsquo;est bon&#8230; Je parle de la longueur de la clé de chiffrement naturellement. Je vous vois venir avec votre œil lubrique. Concernant l&rsquo;algorithme de hachage, le plus complexe proposé donc SHA512<sup data-fn="baebdff7-5a5b-4b94-9b8b-84301bcb2fdc" class="fn"><a href="#baebdff7-5a5b-4b94-9b8b-84301bcb2fdc" id="baebdff7-5a5b-4b94-9b8b-84301bcb2fdc-link">13</a></sup>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="765" height="567" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_6_configADCS.png" alt="" class="wp-image-2728" style="width:617px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_6_configADCS.png 765w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_6_configADCS-300x222.png 300w" sizes="auto, (max-width: 765px) 100vw, 765px" /></figure>
</div>


<p>Je dis donc complexe car il est nécessaire de prendre en compte des applications ou OS<sup data-fn="80016b77-cc33-48ad-b3d2-152fcca43a21" class="fn"><a href="#80016b77-cc33-48ad-b3d2-152fcca43a21" id="80016b77-cc33-48ad-b3d2-152fcca43a21-link">14</a></sup> obsolètes (ou ayant des dépendances obsolètes), qui ne prennent malheureusement pas en charge certaines longueurs de clé ou d&rsquo;algorithme. Un petit renseignement est nécessaire en amont. Dans le doute et cela passe quasiment tout le temps SHA256/2048 en paramètre de chiffrement.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane2668_92a71b-d7"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>6 &#8211; Nom de l&rsquo;Autorité de Certification</strong></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 nom va permettre non seulement d&rsquo;identifier rapidement notre certificat mais également de garantir sa singularité.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="763" height="565" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_7_configADCS.png" alt="" class="wp-image-2729" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_7_configADCS.png 763w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_7_configADCS-300x222.png 300w" sizes="auto, (max-width: 763px) 100vw, 763px" /></figure>
</div>


<p>Ici mon certificat d&rsquo;autorité portera le nom <strong><em>ronelab-CA-Root</em></strong> et couvrira le suffixe de mon domaine soit <em><strong>ronelab.lan</strong></em>, d&rsquo;où <strong><em>DC=ronelab,DC=lan</em></strong>.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-7 kt-pane2668_1810cf-7f"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>7 &#8211; Durée de vie</strong></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>La durée de vie de mon autorité racine&#8230; Plus c&rsquo;est grand dans le temps moins c&rsquo;est bien. A l&rsquo;inverse de la durée de vie d&rsquo;un être vivant. Cherchez l&rsquo;erreur&#8230; Toutefois et comme spécifié, la durée de vie de notre AC doit être supérieur à la durée de vie des certificats qui seront délivrés (logique).</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="765" height="563" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_8_configADCS.png" alt="" class="wp-image-2730" style="width:569px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_8_configADCS.png 765w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_8_configADCS-300x221.png 300w" sizes="auto, (max-width: 765px) 100vw, 765px" /></figure>
</div>


<p>Ici, je ne vais pas mentir en disant que je ne veux pas trop m&#8217;emmerder avec une échéance trop courte. Je n&rsquo;ai jamais en toute franchise été confronté aux cas où le CA d&rsquo;entreprise a expiré. Faudra tester&#8230;</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-8 kt-pane2668_0c50c8-49"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>8 &#8211; BDD et Journaux</strong></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"><img loading="lazy" decoding="async" width="763" height="564" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_9_configADCS.png" alt="" class="wp-image-2731" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_9_configADCS.png 763w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_9_configADCS-300x222.png 300w" sizes="auto, (max-width: 763px) 100vw, 763px" /></figure>
</div>


<p>Depuis les prémices de mes études dans l&rsquo;IT, il m&rsquo;a toujours été dit que ce qui doit être sur la partition système va sur le système, ce qui peut être déplacé vers un disque dédié ou partition doit être réalisé. C&rsquo;est le cas ici.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-9 kt-pane2668_4b42cc-e1"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>9 &#8211; Récap</strong></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;habitude avec le wizard de configuration nous avons un récapitulatif de la configuration qui va être mis en place.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="765" height="564" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_10_configADCS.png" alt="" class="wp-image-2732" style="width:553px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_10_configADCS.png 765w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_002_10_configADCS-300x221.png 300w" sizes="auto, (max-width: 765px) 100vw, 765px" /></figure>
</div></div></div></div>
</div></div></div>



<p></p>



<p>Le rôle est maintenant configuré. Reste plus qu&rsquo;à faire un petit check up avant de se lancer dans la génération de certificat et de modèle.</p>



<h4 class="wp-block-heading">CORE</h4>



<p>En core, c&rsquo;est plus simple. Pour mieux comprendre l&rsquo;unicité de l&rsquo;étape de configuration, il faudrait repartir de la partie <strong>9-Récap</strong> précédente.</p>



<p>Le plus compliqué reste selon moi, de trouver quel argument appelé et quelle valeur lui définir.</p>



<p>Je glisse le <a href="https://learn.microsoft.com/en-us/powershell/module/adcsdeployment/install-adcscertificationauthority?view=windowsserver2025-ps">lien</a> dans les sources.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="989" height="254" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_003_2_setupADCS.png" alt="" class="wp-image-2722" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_003_2_setupADCS.png 989w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_003_2_setupADCS-300x77.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_003_2_setupADCS-768x197.png 768w" sizes="auto, (max-width: 989px) 100vw, 989px" /></figure>
</div>


<p>Nous retrouvons également les mêmes informations que ce qui a été présenté précédemment dans la partie GUI. Je ne passerai donc pas plus de temps sur ce sujet.</p>



<p>Le rôle est maintenant configuré. Reste plus qu&rsquo;à faire un petit check up avant de se lancer dans la génération de certificat et de modèle.</p>



<h3 class="wp-block-heading">Contrôles</h3>



<p>L&rsquo;une des premières questions que nous pouvons nous poser, est ce que notre certificat d&rsquo;autorité est bien présent ?</p>



<p>Mon serveur étant en CORE, je vais donc à travers mon rebond d&rsquo;administration user des RSAT<sup data-fn="04850433-6085-4fe7-9d67-76a57bc11845" class="fn"><a href="#04850433-6085-4fe7-9d67-76a57bc11845" id="04850433-6085-4fe7-9d67-76a57bc11845-link">15</a></sup>s lié au certificat ou à travers une console MMC<sup data-fn="4ddb8fb7-5e36-439b-837a-3c33c039a004" class="fn"><a href="#4ddb8fb7-5e36-439b-837a-3c33c039a004" id="4ddb8fb7-5e36-439b-837a-3c33c039a004-link">16</a></sup> :</p>



<ul class="wp-block-list">
<li>Autorité de certification</li>



<li>Modèle de certificats</li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="946" height="529" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_004_1_MangeCerts.png" alt="" class="wp-image-2738" style="width:588px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_004_1_MangeCerts.png 946w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_004_1_MangeCerts-300x168.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_004_1_MangeCerts-768x429.png 768w" sizes="auto, (max-width: 946px) 100vw, 946px" /></figure>
</div>


<p>Ce qui est bon signe, nous constatons que notre serveur apparait en ligne et fonctionnel. Mais vérifions plus loin que ce dernier est bien présent sur notre domaine. Logique car nous avons déployé une autorité de certification d&rsquo;entreprise.</p>



<p>Pour ce contrôle là, il est nécessaire de passer par la console ADSI<sup data-fn="2d532087-38d5-4949-b94a-9d24174cbe72" class="fn"><a href="#2d532087-38d5-4949-b94a-9d24174cbe72" id="2d532087-38d5-4949-b94a-9d24174cbe72-link">17</a></sup>. Personnellement je ne suis jamais à l&rsquo;aise dans cette console de gestion et je pense ne jamais l&rsquo;être. La gymnastique d&rsquo;esprit est différente de ce que nous pouvons entreprendre opérationnellement au quotidien dans la console de gestion des utilisateurs et ordinateurs AD. Bref, la navigation dans le gestionnaire ADSI se résume dans la navigation par <strong>« Qu&rsquo;est ce que je recherche dans la configuration ? »</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="476" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_004_1_ADSI-1024x476.png" alt="" class="wp-image-2739" style="width:626px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_004_1_ADSI-1024x476.png 1024w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_004_1_ADSI-300x139.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_004_1_ADSI-768x357.png 768w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_004_1_ADSI.png 1177w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Donc nous pouvons conclure que de ce côté, je ne me suis pas iech dessus niveau configuration. Ce qui me semble une bonne chose.</p>



<p>Nous sommes en droit de nous poser la question, « Comment je vais pouvoir accéder à des ressources sécurisées si je n&rsquo;ai pas le certificat d&rsquo;autorité racine sur mon poste ? » Si le poste est au domaine (et sauf cas spécifique il l&rsquo;est), ce dernier étant dans l&rsquo;AD, le certificat est automatiquement ajouté comme Certificat de certification racines de confiance.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="523" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_004_1_certLocal-1024x523.png" alt="" class="wp-image-2740" style="width:572px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_004_1_certLocal-1024x523.png 1024w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_004_1_certLocal-300x153.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_004_1_certLocal-768x392.png 768w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_004_1_certLocal.png 1310w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Nous pouvons double tap pour afficher les propriétés et caractéristiques de notre certificat.</p>



<p>Là nous sommes certains qu&rsquo;il n&rsquo;y a pas de loup dans le déploiement de notre service et de sa configuration. Nous pouvons donc nous pencher sur la partie Modèle de certificat.</p>



<h3 class="wp-block-heading">Modèles</h3>



<p>Lorsque nous avons déployé notre rôle, un certain nombre de modèle ont été déployé dans l&rsquo;AD pour couvrir le cas échéant le domaine d&rsquo;application nécessaire à la sécurisation des différents services (Ordinateur, Exchange, Serveur WEB, Utilisateurs, etc).</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="541" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_1_TemplateVCSA_mmc-1024x541.png" alt="" class="wp-image-2742" style="width:702px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_1_TemplateVCSA_mmc-1024x541.png 1024w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_1_TemplateVCSA_mmc-300x159.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_1_TemplateVCSA_mmc-768x406.png 768w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_1_TemplateVCSA_mmc.png 1423w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Ces différents modèles peuvent être utilisés pour générer nos certificats. Toutefois, il est d&rsquo;usage et recommandé de dupliquer ces modèles pour les services que nous souhaitons protéger. Cela nous permet de faciliter la gestion et de garantir un niveau de sécurité en ne se basant pas sur les propriétés et paramètres par défaut des modèles.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1023" height="65" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_1_TemplateVCSA_2_mmc.png" alt="" class="wp-image-2743" style="width:803px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_1_TemplateVCSA_2_mmc.png 1023w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_1_TemplateVCSA_2_mmc-300x19.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_1_TemplateVCSA_2_mmc-768x49.png 768w" sizes="auto, (max-width: 1023px) 100vw, 1023px" /></figure>
</div>


<p class="has-text-align-center"><strong>Moi pas comprendre&#8230; </strong></p>



<p class="has-text-align-left">En gros, si je duplique mes modèles (qui ont les mêmes propriétés du SI de M. TUCHMUCHE) et que je custom les attributs par rôle ou service que je veux procéder, en cas de vulnérabilité, je limite mon exposition. De même que si mon SI est vulnérable par l&rsquo;un de ces services, il sera plus facile de limiter le périmètre d&rsquo;exposition et donc en conséquence le risque qu&rsquo;il en découle.</p>



<p>Dupliquons un modèle pour comprendre les tenants et aboutissants des paramètres.</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2668_4efe81-b5 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-pane2668_23b583-c2"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>1 &#8211; Compatibility Tab</strong></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>Lors de la duplication du modèle, le premier onglet portera sur la compatibilité de notre certificat. Personnellement et bien sûr c&rsquo;est intrinsèque. Qui peut le plus ne peut pas forcément le moins.</p>



<p>Mon cas, avec mon lab en WS 2k22 et WS 2k25 (je crois avoir un WS 2k19 mais surement perdu quelque part) je partirai sur le niveau de compatibilité le plus haut. Mais encore une fois tout s&rsquo;étudie.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="401" height="609" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_2_TemplateVCSA_mmc.png" alt="" class="wp-image-2747" style="width:360px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_2_TemplateVCSA_mmc.png 401w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_2_TemplateVCSA_mmc-198x300.png 198w" sizes="auto, (max-width: 401px) 100vw, 401px" /></figure>
</div>


<p>J&rsquo;aime à afficher les modifications résultantes pour prendre pleinement connaissance des modifications qui vont être apportés sur mon nouveau modèle. Cela peut permettre d&rsquo;identifier clairement une dépendance que nous aurions omis de prendre en compte dans notre analyse. Bord*l de Dieu, il faut être curieux ! &lt;3 </p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="569" height="358" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_3_TemplateVCSA_mmc.png" alt="" class="wp-image-2748" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_3_TemplateVCSA_mmc.png 569w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_3_TemplateVCSA_mmc-300x189.png 300w" sizes="auto, (max-width: 569px) 100vw, 569px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2668_7160e9-8c"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>2 &#8211; General Tab, Name &amp; EOL</strong></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>L&rsquo;onglet Général permettra d&rsquo;attribuer un nom à notre modèle ainsi que la période de validité de notre modèle. Attention il en va de soi la durée de validité doit être inférieur strict à la durée de notre certificat d&rsquo;autorité racine.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="403" height="610" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_4_TemplateVCSA_mmc.png" alt="" class="wp-image-2749" style="width:324px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_4_TemplateVCSA_mmc.png 403w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_4_TemplateVCSA_mmc-198x300.png 198w" sizes="auto, (max-width: 403px) 100vw, 403px" /></figure>
</div>


<p>Logique mon père ne peux pas être plus âgé que mon grand père. Quoi que dans certaines régions&#8230;. Alalala, les préjugés ont la vie dure&#8230;</p>



<p>La notion de publication dans l&rsquo;Active Directory dépendra clairement du type de modèle que nous souhaitons implémenter. Pour une application WEB non Windows et non jointe au domaine, pas besoin par exemple.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2668_75be94-8d"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>3 &#8211; Subject Name</strong></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 nom du sujet, comprendre le client. Il convient de définir les informations lorsqu&rsquo;une demande est réalisée. Je n&rsquo;ai pas eu à ce moment eu le besoin de modifier la valeur par défaut. En d&rsquo;autres termes, Joker ?</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="403" height="610" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_8_TemplateVCSA_mmc.png" alt="" class="wp-image-2750" style="width:355px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_8_TemplateVCSA_mmc.png 403w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_8_TemplateVCSA_mmc-198x300.png 198w" sizes="auto, (max-width: 403px) 100vw, 403px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane2668_53d2ce-fd"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>4 &#8211; Extension</strong></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>Les extensions c&rsquo;est plutôt un onglet intéressant. C&rsquo;est dans cette partie que nous allons pouvoir définir les stratégies d&rsquo;applications, les contraintes liées à notre modèle, les stratégies d&rsquo;émissions et d&rsquo;utilisation de la clé. Pour plus d&rsquo;informations et bien choisir l&rsquo;action ou non de telles ou telles options je renvoie à la page de caractéristiques des extensions standards<a href="https://learn.microsoft.com/fr-fr/azure/iot-hub/reference-x509-certificates"> x509</a>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="695" height="610" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_5_TemplateVCSA_mmc.png" alt="" class="wp-image-2752" style="width:570px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_5_TemplateVCSA_mmc.png 695w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_5_TemplateVCSA_mmc-300x263.png 300w" sizes="auto, (max-width: 695px) 100vw, 695px" /></figure>
</div>


<p>Soit dans le cas de la stratégie de définir dans quel contexte le certificat va être utilisé. L&rsquo;authentification Serveur ? Client ? Pour du RDP<sup data-fn="a0c6c2f1-686d-4234-a897-da7b9e1f8300" class="fn"><a href="#a0c6c2f1-686d-4234-a897-da7b9e1f8300" id="a0c6c2f1-686d-4234-a897-da7b9e1f8300-link">18</a></sup> ? Une liste est déjà présente et nous pouvons ajouter au besoin de nouvelle stratégies d&rsquo;application avec des codes définit par Microsoft (ce qui sera le cas plus bas avec la sécurisation de RDP).</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="709" height="609" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_6_TemplateVCSA_mmc.png" alt="" class="wp-image-2753" style="width:566px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_6_TemplateVCSA_mmc.png 709w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_6_TemplateVCSA_mmc-300x258.png 300w" sizes="auto, (max-width: 709px) 100vw, 709px" /></figure>
</div>


<p>Les contraintes sont là pour définir les usages qui doivent être fait des clés. Pour se faire, comme dit précédemment il faut se rapprocher de la documentation sur les certificats x509. Dans le cas des contraintes, nous pouvons refuser que la clé publique valide les empreintes par exemple.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="784" height="611" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_7_TemplateVCSA_mmc.png" alt="" class="wp-image-2754" style="width:567px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_7_TemplateVCSA_mmc.png 784w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_7_TemplateVCSA_mmc-300x234.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_7_TemplateVCSA_mmc-768x599.png 768w" sizes="auto, (max-width: 784px) 100vw, 784px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane2668_d3ea33-f2"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>5 &#8211; Security</strong></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>L&rsquo;onglet que l&rsquo;on retrouve sans grande surprise dans beaucoup de menu de configuration. Il est important de définir les droits et les permissions avec réflexion. Les options les plus critiques restent naturellement l&rsquo;écriture et le control total. Attention également aux permissions d&rsquo;inscription et d&rsquo;inscription automatique.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="401" height="610" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_10_TemplateVCSA_mmc.png" alt="" class="wp-image-2755" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_10_TemplateVCSA_mmc.png 401w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_10_TemplateVCSA_mmc-197x300.png 197w" sizes="auto, (max-width: 401px) 100vw, 401px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane2668_670929-63"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>6 &#8211; Publish a template</strong></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>Une fois le modèle de certificat dupliquer, il sera nécessaire d&rsquo;activer ce dernier afin de l&rsquo;utiliser.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="588" height="377" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_9_TemplateVCSA_mmc.png" alt="" class="wp-image-2751" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_9_TemplateVCSA_mmc.png 588w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_005_9_TemplateVCSA_mmc-300x192.png 300w" sizes="auto, (max-width: 588px) 100vw, 588px" /></figure>
</div>


<p>Par sécurité, il est recommandé une fois le ou les certificats générés de désactiver, désinscrire les modèles de certificats du gestionnaire de certificat. Ainsi, il sera difficile pour un assaillant de générer un certificat depuis un modèle.</p>
</div></div></div>
</div></div></div>



<h2 class="wp-block-heading">Exemple d&rsquo;implémentation</h2>



<p>Il existe une multitude d&rsquo;implémentation. Je ne traiterai ici que deux exemples, l&rsquo;un hors domaine et sur un SE non Windows et l&rsquo;autre dans un environnement windows.</p>



<p>Toutefois, je pense pour ne pas faire un article à rallonge aborder l&rsquo;implémentation des certificats dans les articles dédiés.</p>



<p>De plus, il y a plusieurs moyens d&rsquo;effectuer une demande d&rsquo;inscription de certificat.</p>



<ul class="wp-block-list">
<li>Fournit par l&rsquo;appliance ou application</li>



<li>Via IIS</li>



<li>Via le gestionnaire de certificat</li>
</ul>



<p>Dans l&rsquo;ensemble des cas, nous partirons toujours d&rsquo;un fichier CSR<sup data-fn="5af6d4c9-7401-4478-aaa4-67a0445fb365" class="fn"><a href="#5af6d4c9-7401-4478-aaa4-67a0445fb365" id="5af6d4c9-7401-4478-aaa4-67a0445fb365-link">19</a></sup> (ou REQ<sup data-fn="c2e6d79b-ac39-4ccb-a781-2a0c73de6026" class="fn"><a href="#c2e6d79b-ac39-4ccb-a781-2a0c73de6026" id="c2e6d79b-ac39-4ccb-a781-2a0c73de6026-link">20</a></sup> je ne suis pas obtus) afin de générer notre CRT<sup data-fn="a8bbff6d-00e2-48d7-821b-307e94d6d3ad" class="fn"><a href="#a8bbff6d-00e2-48d7-821b-307e94d6d3ad" id="a8bbff6d-00e2-48d7-821b-307e94d6d3ad-link">21</a></sup>.</p>



<h3 class="wp-block-heading">VMWare : VCSA</h3>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2668_1d4c92-ea kt-accordion-has-7-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-pane2668_6e324e-b5"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>1 &#8211; Génération du fichier CSR</strong></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>Sur notre appliance VCSA<sup data-fn="d44be4cc-dbbe-4b2c-84b4-4fd4bea21264" class="fn"><a href="#d44be4cc-dbbe-4b2c-84b4-4fd4bea21264" id="d44be4cc-dbbe-4b2c-84b4-4fd4bea21264-link">22</a></sup>, à partir du menu il faut se rendre dans le menu d&rsquo;administration partie Certificat. Pour le reste, il suffira de suivre les captures ci-dessous pour générer notre CSR.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="524" height="400" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_1_VCSA.png" alt="" class="wp-image-2671" style="width:254px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_1_VCSA.png 524w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_1_VCSA-300x229.png 300w" sizes="auto, (max-width: 524px) 100vw, 524px" /></figure>
</div>


<p>Renseigner les informations d&rsquo;authentification, puis valider.</p>



<p></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><img decoding="async" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_2_VCSA-1.png" alt=""></td><td><img decoding="async" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_3_VCSA-1.png" alt=""></td></tr></tbody></table></figure>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane2668_a6b5c7-a8"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>2 &#8211; Inscription et génération du fichier CRT</strong></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">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="840" height="531" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_4_VCSA.png" alt="" class="wp-image-2677" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_4_VCSA.png 840w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_4_VCSA-300x190.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_4_VCSA-768x485.png 768w" sizes="auto, (max-width: 840px) 100vw, 840px" /></figure>



<p>Sur notre serveur ADCS, il est nécessaire d&rsquo;exécuter la commande suivante :</p>



<pre class="wp-block-code has-theme-palette-9-color has-theme-palette-4-background-color has-text-color has-background has-link-color has-small-font-size wp-elements-663e7afb6589bbd990e2e52aacce9844"><code><strong>&gt; certreq.exe -submit -attrib "CertificateTemplate:WebServer" "‪C:\monFichier.csr"</strong></code></pre>



<p>L&rsquo;inscription en GUI à travers les RSATs ne semble pas fonctionner chez moi sans retourner au préalable une erreur relatif au modèle. Un collègue m&rsquo;a donné cette astuce. Je trouve d&rsquo;ailleurs logique au vu de ma radinerie d&rsquo;utiliser une commande powershell sur mon serveur CORE !</p>



<p class="has-text-align-center"><strong>Commande Powershell tu es certain de toi ? <a href="https://www.youtube.com/watch?v=qCSgWKRHbzg&amp;ab_channel=LesInconnus">Tu paries combien ?</a></strong></p>



<p>Effectivement il s&rsquo;agit bien là d&rsquo;une commande cmd. Et ayant poussé le vice plus loin, cette commande ne fonctionnera pas si vous êtes :</p>



<ul class="wp-block-list">
<li>Authentifié sur le serveur avec un compte local</li>



<li>Via une session PowerShell distante à travers WAC<sup data-fn="b5246354-1d80-481f-82d6-9328a1351df3" class="fn"><a href="#b5246354-1d80-481f-82d6-9328a1351df3" id="b5246354-1d80-481f-82d6-9328a1351df3-link">23</a></sup></li>



<li>Via une session PowerShell distante</li>
</ul>



<p>Une petite interface graphique est appelé vous demandant de sélectionner une autorité de certification&#8230; Seule solution, réaliser l&rsquo;opération directement en powershell à travers la console VMWare.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="851" height="453" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_41_VCSA.png" alt="" class="wp-image-2681" style="width:490px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_41_VCSA.png 851w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_41_VCSA-300x160.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_41_VCSA-768x409.png 768w" sizes="auto, (max-width: 851px) 100vw, 851px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane2668_7477ab-f5"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>3 &#8211; Autorité de certification racine de confiance CER</strong></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>Depuis un poste du domaine, nous exportons notre certificat d&rsquo;autorité racine CER au format base 64. </p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="525" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_6_VCSA.png-1024x525.png" alt="" class="wp-image-2679" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_6_VCSA.png-1024x525.png 1024w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_6_VCSA.png-300x154.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_6_VCSA.png-768x394.png 768w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_6_VCSA.png.png 1429w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Naturellement, on laisse pas trainer ça n&rsquo;importe où hein et nous supprimerons ce dernier une fois l&rsquo;opération terminée.</p>



<p>Pourquoi ? Avez vous déjà essayé de laisser un billet de 50 balles sur un banc public ? Voilà vous avez votre réponse 🙂</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-7 kt-pane2668_9f3c54-59"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>4 &#8211; Import du certificat et reboot des services</strong></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>De retour dans notre VCSA, <em><strong>Administration &gt; Certificates &gt; Certificate Management</strong></em>. Choisir pour le Certificat Machine SSL<sup data-fn="000d71d4-ba26-4277-8432-84b2a38bf790" class="fn"><a href="#000d71d4-ba26-4277-8432-84b2a38bf790" id="000d71d4-ba26-4277-8432-84b2a38bf790-link">24</a></sup> l&rsquo;import et le remplacement du certificat.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="523" height="402" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_5_VCSA.png" alt="" class="wp-image-2678" style="width:333px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_5_VCSA.png 523w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_5_VCSA-300x231.png 300w" sizes="auto, (max-width: 523px) 100vw, 523px" /></figure>
</div>


<p>Ayant préalablement réalisé une demande CSR, la clé privé est donc connu de notre appliance.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="613" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_7_VCSA.png-1024x613.png" alt="" class="wp-image-2680" style="width:531px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_7_VCSA.png-1024x613.png 1024w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_7_VCSA.png-300x180.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_7_VCSA.png-768x460.png 768w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_7_VCSA.png.png 1035w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Nous importons notre fichier CRT généré par notre serveur de certificat dans le champ Machine SSL Certificate et dans le champ Chain of Trusted root certificates notre certificat d&rsquo;autorité racine. </p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="612" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_8_VCSA.png-1024x612.png" alt="" class="wp-image-2676" style="width:540px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_8_VCSA.png-1024x612.png 1024w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_8_VCSA.png-300x179.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_8_VCSA.png-768x459.png 768w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_8_VCSA.png.png 1030w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Plus qu&rsquo;à cliquer sur <strong>Replace</strong>.</p>



<p>Si toutes les actions se passe bien, vous êtes expulsés mani millitari de l&rsquo;interface VCSA. Normal puisque le processus de mise à jour des services vient de s&rsquo;enclencher pour appliquer le nouveau certificat. Vous pouvez aller prendre un café, voire deux.</p>



<p>Pour les curieux, vous ne pourriez plus non plus accéder à la plateforme de VMCA<sup data-fn="6ffc65b0-2564-48cb-be1f-d7c157df0f4c" class="fn"><a href="#6ffc65b0-2564-48cb-be1f-d7c157df0f4c" id="6ffc65b0-2564-48cb-be1f-d7c157df0f4c-link">25</a></sup>. Pas de panique c&rsquo;est normal. Il gambade dans le couloir, il va revenir rapidement. Patiente est mère de vertu.</p>
</div></div></div>
</div></div></div>



<p></p>



<p>En conclusion, nous arriverons au résultat suivant.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="562" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_9_VCSA-1024x562.png" alt="" class="wp-image-2684" style="width:627px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_9_VCSA-1024x562.png 1024w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_9_VCSA-300x165.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_9_VCSA-768x421.png 768w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_006_9_VCSA.png 1028w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>L&rsquo;absence de l&rsquo;encarts rouge sur le protocole HTTPS n&rsquo;est plus présent. Après contrôle du certificat ce dernier est bien valide. Ce qui nous amène donc à nous dire que si nous accédons à cette ressource un jour et que l&rsquo;encarts rouge reviens nous sommes dans le scénario :</p>



<ul class="wp-block-list">
<li>Mon certificat a expiré je suis un boulet</li>



<li>Charlie tente de nous piéger avec un site qui ressemble mais n&rsquo;est pas notre site. <a href="https://www.youtube.com/watch?v=RoMtlh3F6E8&amp;ab_channel=JimS">Qui s&rsquo;appelrio phising</a></li>
</ul>



<p>Dans le cas de la VCSA, bien penser aux dépendances tierces. Changement de certificat implique de facto de renouveler les empreintes et poignée de main.</p>



<p class="has-text-align-center"><strong>Donc qu&rsquo;est ce qu&rsquo;on fait ?</strong></p>



<p>Par exemple, on se connecte sur notre serveur VEEAM (et oui encore et toujours&#8230; Vous aurez compris mon amour inconditionnel pour cet éditeur et solution &lt;3 ) et on réalise de nouveau un paramétrage pour prendre en compte le nouveau certificat ? Très bien. Tu gagnes une tagada <strong><em>#PASCALDUB</em></strong>.</p>



<h3 class="wp-block-heading">Windows : RDP</h3>



<p>L&rsquo;un des usages les plus fréquents sur un SI pour les SysAdmins, l&rsquo;usage du protocole RDP pour se connecter d&rsquo;un server, ordinateur à un autre. Mais alors, il est fréquent de se retrouver en permanence avec le même avertissement nous informant que la connexion n&rsquo;est pas sécurisé du fait de l&rsquo;utilisation du certificat auto-signé.</p>



<p>Il est donc temps de remédier à ça. 🙂</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2668_6795fc-eb kt-accordion-has-3-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-pane2668_a7f0b4-69"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>1 &#8211; Modèle</strong></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>Direction, la création d&rsquo;un nouveau modèle en dupliquant le modèle Ordinateur. Je n&rsquo;invente rien, je ne fais que suivre le <a href="https://techcommunity.microsoft.com/blog/askds/remote-desktop-services-enrolling-for-tls-certificate-from-an-enterprise-ca/4137437">guide MS</a>. Je ne fais pas le choix de publier le certificat dans l&rsquo;AD. La raison est qu&rsquo;en activant cette case, cela va avoir pour conséquence de stocker les certificats dans l&rsquo;AD afin de faciliter la gestion, l&rsquo;inscription et la consultation des certificats. Ce qui me semble un peu risqué&#8230; Mon POV comme disent les jeunes de nos jours.</p>



<figure class="wp-block-table aligncenter"><table class="has-fixed-layout"><tbody><tr><td><img decoding="async" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_0_rdp2.png" alt=""></td><td><img decoding="async" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_1_rdp.png" alt=""></td></tr></tbody></table></figure>



<p>Pour la durée (<a href="https://www.youtube.com/watch?v=4mNDYWhRSaw&amp;ab_channel=HelmutFritzVEVO">je ne parle pas des macarons, et pourtant je vous confirme qu&rsquo;ils sont bons</a>), 2 ans me semblent pas mal. D&rsquo;ici là, j&rsquo;ai le temps de perdre mon LAB à la maison (si ma conjointe qui n&rsquo;est pas encore mon épouse ne l&rsquo;a pas accidentellement accompagnée vers le paradis des machines. C&rsquo;est qu&rsquo;il prend dans la buanderie le bougre).</p>



<p>Dans l&rsquo;onglet Extensions, nous devons ajouter une nouvelle stratégie d&rsquo;application. Pour une raison étrange l&rsquo;application RDP n&rsquo;est pas présente dans la liste des applications par défaut. Nous supprimerons l&rsquo;authentification du client et du serveur.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="779" height="842" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_2_rdp.png" alt="" class="wp-image-2760" style="width:618px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_2_rdp.png 779w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_2_rdp-278x300.png 278w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_2_rdp-768x830.png 768w" sizes="auto, (max-width: 779px) 100vw, 779px" /></figure>
</div>


<p>Ce qui nous donne une fois configurée, le résultat ci-dessous. Les permissions sont importantes. J&rsquo;ai choisi de limiter les droits d&rsquo;inscriptions uniquement aux ordinateurs nécessaires. D&rsquo;où la présence du groupe local de sécurité GLS_CERT_RDP.</p>



<p>Si le groupe n&rsquo;est pas présent, pas de panique. Un petit switch dans la console AD users &amp; computers et le tour est joué. La nomenclature m&rsquo;est propre à vous de faire parler votre créativité.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><img decoding="async" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_3_rdp.png" alt=""></td><td><img decoding="async" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_4_rdp2.png" alt=""></td></tr></tbody></table></figure>



<p></p>



<p>Validez la création du modèle et activer ce dernier.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2668_cf4214-e7"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>2 &#8211; GPO</strong></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>Bien maintenant il faut bien déployer notre certificat. Du moins plutôt dire quel certificat doit être utilisé par notre service de bureau à distance.</p>



<p>Soit le gestionnaire de stratégie de groupe 🙂</p>



<p>Toutefois, il subsiste un petite subtilitée lors de l&rsquo;ajout du nom du modèle de certificat. Comme l&rsquo;indique le guide, nous pouvons préciser :</p>



<ul class="wp-block-list">
<li>Le nom du modèle</li>



<li>Le nom de l&rsquo;objet identificateur (ce que nous avons ajouté précédemment dans la stratégie d&rsquo;application)</li>
</ul>



<p>Selon Microsoft, l&rsquo;usage du nom du modèle inscrira avec succès le service de configuration de bureau à distance (SessionEnv) mais en contrepartie, à chaque application de la stratégie une nouvelle inscription aura lieu. De facto cela peut engendrer une sursollicitions de l&rsquo;autorité de certification.</p>



<p>Je cours le risque car mon SI est petit et même si mon ADCS ou mes ADDS ont des ressources plus que limités (c&rsquo;est voulu, c&rsquo;est du core) cela reste un banc de test. Mais attention toutefois. Je pense que c&rsquo;est bon à savoir.</p>



<p>Je vous résume la stratégie ordinateur.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="434" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_5_rdp-1024x434.png" alt="" class="wp-image-2763" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_5_rdp-1024x434.png 1024w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_5_rdp-300x127.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_5_rdp-768x326.png 768w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_5_rdp.png 1451w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>J&rsquo;ai été choqué. Pas vous ? Regardez bien&#8230;</p>



<p>Pour une raison que m&rsquo;échappe en parcourant les paramètres, nous pouvons spécifier une couche de sécurité spécifique pour les connexions par distante. En lisant la description nous avons le choix entre deux méthodes :</p>



<ul class="wp-block-list">
<li>SSL</li>



<li>RDP</li>
</ul>



<p>Le chiffrement RDP étant déconseillé, il est recommandé de forcer le type de chiffrement sur SSL. Sauf que cela ne prend en compte que TLS<sup data-fn="a02fb526-86bd-4b87-9360-f6ded79dc309" class="fn"><a href="#a02fb526-86bd-4b87-9360-f6ded79dc309" id="a02fb526-86bd-4b87-9360-f6ded79dc309-link">26</a></sup> 1.0&#8230; Voilà voilà&#8230; Un petit TLS 1.2 aurait été bien mais non. Espérons que cela va évoluer.</p>



<p>En bonus, j&rsquo;aime a activer la saisie du mot de passe à chaque session en plus du mot de passe saisie dans le client RDP.</p>



<p>Une fois la GPO terminée, je lis cette dernière à un bon niveau de mon OU et ne l&rsquo;applique que sur mon GLS_CERT_RDP. L&rsquo;objectif étant à l&rsquo;avenir de pouvoir jouer sur la flexibilité et ajouter des membres si besoin à mon groupe. Pour appliquer la GPO, cette dernière étant ordinateur elle s&rsquo;appliquera au bout de 15 minutes. Sinon un petit gpupdate /force des familles et le tour est joué.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2668_6c486c-ff"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title"><strong>3 &#8211; Tests et Vérification</strong></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>Vérifions que cela fonctionne bien. J&rsquo;ouvre depuis mon réseau domestique une session RDP sur ma bulle d&rsquo;administration/management (Ne vous inquiétez pas, il y a bien une règle de parfeu en Inbound).</p>



<p>Une petite consultation dans notre console d&rsquo;autorité de certification dans les certificats délivrées et&#8230;. Oh surprise, nous retrouvons nos objets ordinateurs <strong><em>#COEURAVECLESMAINS</em></strong>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="105" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_7_rdp-1024x105.png" alt="" class="wp-image-2767" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_7_rdp-1024x105.png 1024w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_7_rdp-300x31.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_7_rdp-768x78.png 768w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_7_rdp-1536x157.png 1536w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_7_rdp.png 1644w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Force et de constater que cela fonctionne. &lt;3 Que d&rsquo;amour dans cette partie 🙂 Je dirai que c&rsquo;est le plaisir du devoir accomplie.</p>



<p>En inspectant le certificat présenté depuis mon poste domestique, nous retrouvons bien les informations d&rsquo;inscriptions ainsi que le tampon de notre autorité de certification racine. </p>



<p class="has-text-align-center"><strong>Mais alors pourquoi cet avertissement ?</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="807" height="521" src="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_6_rdp.png" alt="" class="wp-image-2764" style="width:500px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_6_rdp.png 807w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_6_rdp-300x194.png 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/WIN_007_200_6_rdp-768x496.png 768w" sizes="auto, (max-width: 807px) 100vw, 807px" /></figure>
</div>


<p>Simplement que mon poste, lui ne connait en aucun cas l&rsquo;autorité de certification de confiance ronelab.lan. Normal car il n&rsquo;est pas dans le domaine. Donc mon poste considéré ce dernier comme non légitime puisqu&rsquo;il ne peut vérifier l&rsquo;authenticité de ce dernier.</p>
</div></div></div>
</div></div></div>



<p></p>



<p>Bien&#8230; Cela aurait peut-être mérité un article dédié. M&rsquo;enfin ça me plait comme ça.</p>



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



<p>Et voilà le terminus, tel <a href="https://www.youtube.com/watch?v=--bpDzH8XOU&amp;ab_channel=MiguelMas">Jesus je claque ma portière en descendant de ma croix</a>. Encore un pari non tenu quant à la longueur excessif de ce billet&#8230;</p>



<p>Il reste difficile de parler de sécurité sans savoir comment cela fonctionne (et encore je ne suis pas rentré dans les détails des algorithmes de chiffrement). Je pense qu&rsquo;il est important et nécessaire déployer le rôle d&rsquo;infrastructure ADCS sur les systèmes d&rsquo;informations pour jouir et bénéficier des avantages des services qu&rsquo;il propose.</p>



<p>Naturellement, cela permet de sécuriser les services et de garantir l&rsquo;authenticité de l&rsquo;accès de l&rsquo;information sur des ressources le plus souvent visibles comme des sites web internes ou applications, mais également indirect (comprendre non visible) comme des protocoles et services LDAPS, WinRM over SSL, SMB over Quick, RDP etc.</p>



<p>Malheureusement, ce rôle est sous-estimé par les AdminSys qui voit en ce dernier plus une source de problème à venir et des difficultés de gestion que de la première pierre qui sert de socle à la sécurité du système d&rsquo;information.</p>



<p>Voyons plutôt les avantages et inconvénients.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-center" data-align="center"><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#55c445" class="has-inline-color">+++</mark></strong></td><td class="has-text-align-center" data-align="center"><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#da4848" class="has-inline-color">&#8212;</mark></strong></td></tr><tr><td class="has-text-align-center" data-align="center">Sécurité accrue à travers le chiffrement et l&rsquo;utilisation de certificat<br><br>Facilité d&rsquo;administrer les demandes et la durée de vie des certificats<br><br>L&rsquo;intégration dans l&rsquo;AD facilite l&rsquo;administration (CDP)<br><br></td><td class="has-text-align-center" data-align="center">Usage complexe avec une veille continue et correction des stratégies<br><br>Disparité dans l&rsquo;usage quant à la compatibilité des différents SE<br><br>Compétences techniques à l&rsquo;implémentation et au MCO<br></td></tr></tbody></table></figure>



<p></p>



<p>Le jour où ça déconne, le SysAdmin peut vite se sentir seul et démuni avec comme arme uniquement sa b**e et son couteau&#8230;</p>



<p><a href="https://www.youtube.com/watch?v=6xIJo_tp2f8&amp;ab_channel=MadMaxxx">Pas de serveur ADCS, pas de serveur Radius. Pas de serveur Radius, pas de sécurité. Pas de sécurité,  Pas de serveur ADCS. Pas de serveur ADCS&#8230;</a> </p>



<p>J&rsquo;ai donc été confronté à cette problématique qui m&rsquo;a pour le coup empêché de publier plusieurs articles considérés comme inachevé. Il est certain que plus nous avançons dans le temps plus ce qui était considéré comme « optionnel » en termes de sécurité devienne un standard.</p>



<p>J&rsquo;ai également en toute honnêteté rencontré un point de blocage qui a nécessité une aide extérieure quant à l&rsquo;implémentation. La théorie c&rsquo;est bien, mettre en pratique cette dernière est parfois plus délicat. Je remercie donc ce collègue amateur <a href="https://fr.wikipedia.org/wiki/Association_amicale_des_amateurs_d%27andouillette_authentique">d&rsquo;andouillette 5A</a> pour le quart d&rsquo;heure de pratique concernant VMWare. D&rsquo;ailleurs est il incompatible de parler IT autour d&rsquo;une table de brasserie ou semi-gastro ? L&rsquo;idée est à débattre, je pense qu&rsquo;il y a quelque chose à faire.</p>



<p>Vous l&rsquo;aurez compris, il ne faut pas avoir peur de ADCS et de PKI. Il est impératif de sécuriser un maximum les services et ce rôle. Sans eux, et je crois en avoir dit assez long tout au long de ce papier je vais pouvoir étudier et présenter d&rsquo;autres technologies.</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>Je chiffre les paroles d&rsquo;une chanson et paume ma clé privée, qui suis je ? <a href="https://www.youtube.com/watch?v=U5lz9zJos0o&amp;ab_channel=TopKitsch">George Alain</a> bien sûr. Mais c&rsquo;est pas un SHAOne ? Non un SHA d&rsquo;IRAN. Okay cool, merci R-One. </em></p>
<cite>Erwan GUILLEMARD</cite></blockquote>



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



<ul class="wp-block-list">
<li><a href="https://www.rfc-editor.org/rfc/rfc5280#section-4.2.1.9">RFC</a></li>



<li>X509 : <a href="https://learn.microsoft.com/fr-fr/azure/iot-hub/reference-x509-certificates">Extension</a></li>



<li>Windows : <a href="https://learn.microsoft.com/fr-fr/training/modules/implement-manage-active-directory-certificate-services/">ADCS Guide</a></li>



<li>Windows : <a href="https://support.microsoft.com/fr-fr/topic/kb5005413-att%C3%A9nuation-des-attaques-de-relais-ntlm-sur-les-services-de-certificats-active-directory-ad-cs-3612b773-4043-4aa9-b23d-b87910cd3429">CVE PetitPotam</a></li>



<li>Windows : <a href="https://learn.microsoft.com/en-us/powershell/module/adcsdeployment/install-adcscertificationauthority?view=windowsserver2025-ps">ADCS Configuration CA</a></li>



<li>Windows : <a href="https://techcommunity.microsoft.com/blog/askds/remote-desktop-services-enrolling-for-tls-certificate-from-an-enterprise-ca/4137437">RDP Certificat Settings</a></li>
</ul>


<ol class="wp-block-footnotes"><li id="0a4cc086-5c58-47b8-bfb5-a3270597c32c"><strong>PKI</strong> : Public Key Infrastructure <a href="#0a4cc086-5c58-47b8-bfb5-a3270597c32c-link" aria-label="Aller à la note de bas de page 1">↩︎</a></li><li id="8b5a77dc-0e30-40d5-80d6-82e432db31c8"><strong>SI</strong> : Système d&rsquo;Information <a href="#8b5a77dc-0e30-40d5-80d6-82e432db31c8-link" aria-label="Aller à la note de bas de page 2">↩︎</a></li><li id="e602c7b7-cfb6-4f05-af60-fffdddc229f4"><strong>IA</strong> : Intelligence Artificielle <a href="#e602c7b7-cfb6-4f05-af60-fffdddc229f4-link" aria-label="Aller à la note de bas de page 3">↩︎</a></li><li id="e8a10f21-1470-4795-b2f4-3899c98bcacb"><strong>ADCS</strong> : Active Directory Certificate Services  <a href="#e8a10f21-1470-4795-b2f4-3899c98bcacb-link" aria-label="Aller à la note de bas de page 4">↩︎</a></li><li id="056e2f26-9895-45f7-b31f-df4084ac39fa"><strong>ADDS</strong> : Active Directory Domain Services <a href="#056e2f26-9895-45f7-b31f-df4084ac39fa-link" aria-label="Aller à la note de bas de page 5">↩︎</a></li><li id="6b0c6db6-adeb-4d8d-9538-74ed8d47046d"><strong>PME</strong> : Petites et Moyennes Entreprises <a href="#6b0c6db6-adeb-4d8d-9538-74ed8d47046d-link" aria-label="Aller à la note de bas de page 6">↩︎</a></li><li id="66b449ef-f6e2-439f-80e7-d1819baa1652"><strong>IIS</strong> : Internet Information Services <a href="#66b449ef-f6e2-439f-80e7-d1819baa1652-link" aria-label="Aller à la note de bas de page 7">↩︎</a></li><li id="500134e9-4a13-4773-8772-869da00b9d4b"><strong>KB</strong> : Knownledge Base <a href="#500134e9-4a13-4773-8772-869da00b9d4b-link" aria-label="Aller à la note de bas de page 8">↩︎</a></li><li id="78e14bc6-9410-46cd-bc83-c906a92f6291"><strong>GUI</strong> : Graphic User Interface <a href="#78e14bc6-9410-46cd-bc83-c906a92f6291-link" aria-label="Aller à la note de bas de page 9">↩︎</a></li><li id="754a7ccc-f920-41d5-88c1-896111822049"><strong>CA</strong> : Certification Authority <a href="#754a7ccc-f920-41d5-88c1-896111822049-link" aria-label="Aller à la note de bas de page 10">↩︎</a></li><li id="ebfc9e9b-77ab-4096-844a-7a12a6e3ec47"><strong>AD</strong> : Active Directory <a href="#ebfc9e9b-77ab-4096-844a-7a12a6e3ec47-link" aria-label="Aller à la note de bas de page 11">↩︎</a></li><li id="6afc3b24-a36a-4d1e-9f0f-bdafbf3bb8f8"><strong>CVE</strong> : Common Vulnerabilities and Exposures <a href="#6afc3b24-a36a-4d1e-9f0f-bdafbf3bb8f8-link" aria-label="Aller à la note de bas de page 12">↩︎</a></li><li id="baebdff7-5a5b-4b94-9b8b-84301bcb2fdc"><strong>SHA512</strong> : Secure Hash Algorithms <a href="#baebdff7-5a5b-4b94-9b8b-84301bcb2fdc-link" aria-label="Aller à la note de bas de page 13">↩︎</a></li><li id="80016b77-cc33-48ad-b3d2-152fcca43a21"><strong>OS</strong> : Operating System <a href="#80016b77-cc33-48ad-b3d2-152fcca43a21-link" aria-label="Aller à la note de bas de page 14">↩︎</a></li><li id="04850433-6085-4fe7-9d67-76a57bc11845"><strong>RSAT</strong> : Remote Server Administration Tools <a href="#04850433-6085-4fe7-9d67-76a57bc11845-link" aria-label="Aller à la note de bas de page 15">↩︎</a></li><li id="4ddb8fb7-5e36-439b-837a-3c33c039a004"><strong>MMC</strong> : Microsoft Management Console <a href="#4ddb8fb7-5e36-439b-837a-3c33c039a004-link" aria-label="Aller à la note de bas de page 16">↩︎</a></li><li id="2d532087-38d5-4949-b94a-9d24174cbe72"><strong>ADSI</strong> : Active Directory Service Interfaces  <a href="#2d532087-38d5-4949-b94a-9d24174cbe72-link" aria-label="Aller à la note de bas de page 17">↩︎</a></li><li id="a0c6c2f1-686d-4234-a897-da7b9e1f8300"><strong>RDP</strong> : Remote Desktop Protocol <a href="#a0c6c2f1-686d-4234-a897-da7b9e1f8300-link" aria-label="Aller à la note de bas de page 18">↩︎</a></li><li id="5af6d4c9-7401-4478-aaa4-67a0445fb365"><strong>CSR</strong> : Certificate Signing Request <a href="#5af6d4c9-7401-4478-aaa4-67a0445fb365-link" aria-label="Aller à la note de bas de page 19">↩︎</a></li><li id="c2e6d79b-ac39-4ccb-a781-2a0c73de6026"><strong>REQ</strong> : Request <a href="#c2e6d79b-ac39-4ccb-a781-2a0c73de6026-link" aria-label="Aller à la note de bas de page 20">↩︎</a></li><li id="a8bbff6d-00e2-48d7-821b-307e94d6d3ad"><strong>CRT</strong> : Certificate  <a href="#a8bbff6d-00e2-48d7-821b-307e94d6d3ad-link" aria-label="Aller à la note de bas de page 21">↩︎</a></li><li id="d44be4cc-dbbe-4b2c-84b4-4fd4bea21264"><strong>VCSA</strong> : vCenter Server Appliance <a href="#d44be4cc-dbbe-4b2c-84b4-4fd4bea21264-link" aria-label="Aller à la note de bas de page 22">↩︎</a></li><li id="b5246354-1d80-481f-82d6-9328a1351df3"><strong>WAC</strong> : Windows Administration Center  <a href="#b5246354-1d80-481f-82d6-9328a1351df3-link" aria-label="Aller à la note de bas de page 23">↩︎</a></li><li id="000d71d4-ba26-4277-8432-84b2a38bf790"><strong>SSL</strong> : Secure Sockets Layer <a href="#000d71d4-ba26-4277-8432-84b2a38bf790-link" aria-label="Aller à la note de bas de page 24">↩︎</a></li><li id="6ffc65b0-2564-48cb-be1f-d7c157df0f4c"><strong>VMCA</strong> : vCenter Management Appliance <a href="#6ffc65b0-2564-48cb-be1f-d7c157df0f4c-link" aria-label="Aller à la note de bas de page 25">↩︎</a></li><li id="a02fb526-86bd-4b87-9360-f6ded79dc309"><strong>TLS</strong> : Transport Layer Security <a href="#a02fb526-86bd-4b87-9360-f6ded79dc309-link" aria-label="Aller à la note de bas de page 26">↩︎</a></li></ol>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Apps &#8211; VEEAM One</title>
		<link>https://erwanguillemard.com/apps-veeam-one/</link>
		
		<dc:creator><![CDATA[Erwan Guillemard]]></dc:creator>
		<pubDate>Tue, 01 Oct 2024 21:28:44 +0000</pubDate>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Securité]]></category>
		<category><![CDATA[VEEAM]]></category>
		<guid isPermaLink="false">https://erwanguillemard.com/?p=2214</guid>

					<description><![CDATA[Avoir un système d&#8217;information, c&#8217;est bien. Savoir si ce dernier est en bonne santé c&#8217;est une autre paire de manche&#8230; Pourquoi commencer ce billet en étant si désagréable ? Parce que le sujet de la supervision, surveillance ou « monitoring » représente un enjeu capital pour l&#8217;activité des entreprises et il existe un large panel de solution...]]></description>
										<content:encoded><![CDATA[
<p>Avoir un système d&rsquo;information, c&rsquo;est bien. Savoir si ce dernier est en bonne santé c&rsquo;est une autre paire de manche&#8230;</p>



<p>Pourquoi commencer ce billet en étant si désagréable ? Parce que le sujet de la supervision, surveillance ou « monitoring » représente un enjeu capital pour l&rsquo;activité des entreprises et il existe un large panel de solution payante ou gratuite sur le marché. Toutes ces solutions ne couvrent pas les mêmes périmètres de surveillance. Il est donc facile de multiplier les applications et de ne plus savoir où donner de la tête.</p>



<p>Personnellement, j&rsquo;aime dissocier la surveillance d&rsquo;un SI avec 3 types de solutions :</p>



<ul class="wp-block-list">
<li>Firewall et Liens</li>



<li>Réseau Local</li>



<li>Equipements Infrastructures Physiques et Virtuels</li>
</ul>



<p>Dans certains cas, une 4 et dernière brique peut être amenée à être utilisée pour superviser des services applicatifs. Néanmoins, je ne suis pas un grand fan de ce niveau de surveillance (mais c&rsquo;est mon opinion personnel) et il faut bien justifier le poste d&rsquo;un Responsable Informatique dans sa société non ? (Je suis réducteur, mais un RSI ça sert à bien d&rsquo;autre chose et ça ne fait pas que de boire des cafés <a href="https://www.youtube.com/watch?v=pX594TK_VIc&amp;ab_channel=100%25ChansonFran%C3%A7aise">toute la sainte journée</a> avec Martine de l&rsquo;accueil. Coucou Martine 🙂 ).</p>



<p>Je souhaite donc aborder le point de surveillance « Equipements Infrastructures Physiques et Virtuels » à travers une solution payante.</p>



<p>Soyons claire sur un point car je vois venir les détracteurs de la communauté GNU/UNIX et autres DAFs (bien trop proche de leurs budgets).</p>



<p class="has-text-align-center"><strong>« Ouai mais il y a des solutions gratuites sous licence GNU qui font très bien l&rsquo;affaire. En plus tu n&rsquo;arrêtes pas de nous em*****r avec tes RHELs. VENDU ! » </strong></p>



<p class="has-text-align-left">Mon avocat à la barre, commis d&rsquo;office me représente et assure ma défense.</p>



<p>« Mon client, tiens à préciser qu&rsquo;il présentera une solution de supervision libre dans un autre billet car il est important de couvrir un périmètre similaire et plus flexible. Mon client s&rsquo;engage dans cette démarche pour réduire sa peine si toutefois il est jugé coupable. Dans un second temps, il est important de se rapporter à la maxime « Le pas cher coute trop cher ». Une solution libre et gratuite c&rsquo;est bien. Mais le jour où le MCO ne se passe pas comme prévu il est facile de passer un nombre d&rsquo;heure conséquent. Les solutions payantes offrent un service de support et de correctif en cas de vulnérabilité critique. » <strong>CHEH !</strong> Et en plus je vais tenter de vous convaincre que nous pouvons gagner ou économiser du <a href="https://www.youtube.com/watch?v=-0kcet4aPpQ&amp;ab_channel=PinkFloyd">MONEY MONEY</a>.</p>



<p>J&rsquo;ai donc décidé, d&rsquo;après le titre de ce billet de continuer avec les solutions VEEAM, VEEAMOne.</p>



<p>Pourquoi le choix de VEEAMOne ? La solution est cross plateforme et permet d&rsquo;avoir une bonne visibilité sur le socle de virtualisation, les ressources virtualisées ainsi que l&rsquo;ensemble des éléments et environnement propres à la sauvegarde (VBO365, VDP). La cerise sur le gâteau reste la partie Business View, Reporting et Capacity Planning. Mais promis, je reviendrai plus en détail sur ces points bonus.</p>



<p>Je me garde également pour plus tard un autre article pour lequel j&rsquo;ai besoin de VEEAMOne 🙂</p>





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



<ul class="wp-block-list">
<li><strong>SE :</strong> Windows Server 2k19 et version ultérieures</li>



<li><strong>Apps : </strong>VEEAM B&amp;R 12.x, VEEAMOne 12.x, VMWare/Hyperv</li>



<li><strong>Autres : </strong>
<ul class="wp-block-list">
<li><a href="https://erwanguillemard.com/windows-veeam-backup-replication/">VEEAM B&amp;R 12.x</a></li>



<li>License VEEAM Entreprise</li>
</ul>
</li>
</ul>



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



<p>Dans une logique de garantir un niveau de sécurité optimal, j&rsquo;ai <s>dans un premier temps</s> longtemps pensé que l&rsquo;ensemble des environnements de surveillance (supervision/monitoring) devaient être dans le même subnet que les éléments d&rsquo;administrations ou de management. Maintenant, mon approche est différente. Je préfère dédier un subnet pour l&rsquo;ensemble des solutions.</p>



<p>Mais pourquoi ? Je juge ces éléments sensibles. Ils donnent une bonne, trop bonne visibilité sur l&rsquo;ensemble du SI. Admettons que la bulle de monitoring soit compromise, il nous suffira de restreindre totalement les flux réseaux ou à en limiter les flux depuis des ressources isolés. De plus, et cela se vérifie avec le temps certaines solutions de monitoring apportent des fonctionnalités d&rsquo;actions sur les ressources sous surveillance ou de remédiations automatiques. (Mon dernier HP Tour Customer &amp; Partner nous indique bien la tendance de l&rsquo;IA et sa capacitée [monstrueuse ?] de traitement). Bref, ce n&rsquo;est pas <a href="https://www.youtube.com/watch?v=5V2D1aXX_UM&amp;ab_channel=EtienneleBolideur">un outil à mettre dans toutes les mains, c&rsquo;est un coup à être satellisé</a>&#8230;</p>



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



<h3 class="wp-block-heading">Architecture &amp; Best Pratices</h3>



<p>Encore une fois, chacun voit midi à sa porte. Il est donc compliqué de définir une MO<sup data-fn="f06205f4-5aa7-41f6-ad2f-a0700244a619" class="fn"><a href="#f06205f4-5aa7-41f6-ad2f-a0700244a619" id="f06205f4-5aa7-41f6-ad2f-a0700244a619-link">1</a></sup> empirique. Cela dépendra des technologies et solutions utilisées que ce soit en socle de virtualisation (VMWare, HyperV etc) et produits VEEAM (VBO MS365, VBR<sup data-fn="6c5e019d-9bd7-488f-a99c-94a276a87a42" class="fn"><a href="#6c5e019d-9bd7-488f-a99c-94a276a87a42" id="6c5e019d-9bd7-488f-a99c-94a276a87a42-link">2</a></sup>, VCC<sup data-fn="e2646e5b-baaf-473d-b129-d2ce9a62c9bc" class="fn"><a href="#e2646e5b-baaf-473d-b129-d2ce9a62c9bc" id="e2646e5b-baaf-473d-b129-d2ce9a62c9bc-link">3</a></sup> etc).</p>



<p>Mais commençons par le début. Qu&rsquo;est-ce que contient VEEAM One et qu&rsquo;a-t-il dans le ventre ?</p>



<p>VEEAM One se décompose de deux grandes parties. Une partie client et une partie serveur.</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2214_324bad-37 kt-accordion-has-2-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-pane2214_6b2239-22"><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">Clients</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 on s&rsquo;en doute, cela permet d&rsquo;accéder aux données des environnements virtualisés ainsi que les données relatives à la sauvegarde, réplication et autres. Toutefois, nous distinguerons deux types de client.</p>



<figure class="wp-block-table aligncenter"><table class="has-fixed-layout"><tbody><tr><td><img loading="lazy" decoding="async" width="120" height="152" class="wp-image-2308" style="width: 120px;" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_020_VEEAMClient.png" alt=""></td><td class="has-text-align-center" data-align="center"><strong>Client Lourd :</strong> Son objectif est de permettre à travers la console d&rsquo;accéder à l&rsquo;ensemble des données de manière efficiente et d&rsquo;avoir une vue globale sur notre infrastructure et d&rsquo;interagir avec ce dernier selon les alertes remontées par les différentes sondes.<br><br>Il sera nécessaire de déployer/installer le client sur le poste concerné et d&rsquo;ouvrir les ports.<br><br><img loading="lazy" decoding="async" width="250" height="274" class="wp-image-2310" style="width: 250px;" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_020_1_VEEAMClient.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_020_1_VEEAMClient.png 445w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_020_1_VEEAMClient-274x300.png 274w" sizes="auto, (max-width: 250px) 100vw, 250px" /></td></tr><tr><td><img loading="lazy" decoding="async" width="120" height="107" class="wp-image-2309" style="width: 120px;" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_021_VEEAMWebClient.png" alt=""></td><td class="has-text-align-center" data-align="center"><strong>Client Web :</strong> A l&rsquo;inverse, la console web est moins orientée « opérationnelle » au sens technique, mais plus au sens qualitatif avec l&rsquo;élaboration de rapport, de tableau de bord et de définir l&rsquo;évolution du SI (capacity planning, optimisation des ressources, optimisation des couts etc).<br><br>Si les flux sont ouverts, il suffira d&rsquo;accéder à ce dernier à travers un navigateur web à travers l&rsquo;url <a href="https://monserver.contoso.lab:1239">https://monserver.contoso.lab:1239</a><br><br><img loading="lazy" decoding="async" width="250" height="210" class="wp-image-2311" style="width: 250px;" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_021_1_VEEAMWebClient.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_021_1_VEEAMWebClient.png 952w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_021_1_VEEAMWebClient-300x252.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_021_1_VEEAMWebClient-768x646.png 768w" sizes="auto, (max-width: 250px) 100vw, 250px" /><br></td></tr></tbody></table></figure>



<p>Ce qui nous donne le schéma des flux suivants.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="764" height="408" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_022_Schemaclients.png" alt="" class="wp-image-2313" style="width:479px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_022_Schemaclients.png 764w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_022_Schemaclients-300x160.png 300w" sizes="auto, (max-width: 764px) 100vw, 764px" /></figure>
</div>


<p>Donc si nous résumons, les choses. Le client lourd sera satisfaire les équipes opérationnelles et la partie client web les responsables / directeurs de services. Les jambes et la tête en sommes. 🙂</p>



<p>Dans son fonctionnement et c&rsquo;est là l&rsquo;une des forces de la solution. Le client lourd fonctionne sur la base d&rsquo;une API. Ce qui implique que nous pouvons réaliser TOUTES les actions qui sont présents dans la console 😀 (<em>Vous me voyez venir avec mes grosses charentaises ? </em>)</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2214_df8e0c-b3"><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">Serveur</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>La partie serveur est bien plus complexe. De facto, les deux clients présentés précédemment sont présents sur le serveur</p>



<ul class="wp-block-list">
<li>VEEAM One Client</li>



<li>VEEAM One Web Client</li>
</ul>



<p>Ce qui est logique puisqu&rsquo;il faut bien administrer la solution&#8230;</p>



<p>Toutefois, nous rencontrons également les rôles suivants :</p>



<ul class="wp-block-list">
<li>VEEAM One Server</li>



<li>VEEAM One Database</li>



<li>VEEAM One Agent</li>



<li>VEEAM One WebServices</li>
</ul>



<p>Dans le détail de chaque rôle, la partie <strong><em>Server</em></strong> va servir à la collecte des informations, des données et stocker ces dernières dans la <strong><em>Database</em></strong> afin de pouvoir par la suite les restituer sur l&rsquo;action de l&rsquo;utilisateur à travers les clients (web ou lourd). Il est possible de mutualiser la base de données VEEAMOne (MSSQL) avec d&rsquo;autres produits. Toutefois je préfère ne pas mettre tous mes œufs dans le même panier et tenter de mutualiser mes BDDs, cela reviendrait à essayer <a href="https://fr.wikipedia.org/wiki/Jacques_Pr%C3%A9vert">d&rsquo;additionner un veau avec des cigarettes</a>&#8230;</p>



<p>La partie WebServices permettra comme nous pouvons nous en douter de garantir l&rsquo;accès depuis un navigateur web au WebClient ainsi qu&rsquo;à l&rsquo;API.</p>



<p class="has-text-align-center"><strong>C&rsquo;est quoi la partie Agent ? Ne me dit pas qu&rsquo;il faut se palucher le déploiement d&rsquo;un agent sur les ressources que nous souhaitons surveiller ? Si c&rsquo;est le cas, j&rsquo;arrête ma lecture après ta réponse !  </strong></p>



<p class="has-text-align-left">La partie Agent n&rsquo;est pas à déployer sur toutes les ressources et heureusement. VEEAM One a été pensé pour être flexible ! La communication avec les applications de virtualisation se font soit par le biais de protocoles « classiques » ou par les APIs constructeurs.</p>



<p class="has-text-align-left">L&rsquo;Agent est nécessaire uniquement lors du monitoring, de remonter d&rsquo;informations (logs) et d&rsquo;effectuer des commandes de remédiations si nécessaire entre les serveurs VBRs et le serveur VEEAM One. Le guide, recommande son installation, toutefois il n&rsquo;est obligatoire de déployer l&rsquo;agent (personnellement, pourquoi ne pas le faire ?).</p>



<p>La partie Agent comporte deux modes. Un mode client (paramètre par défaut) ainsi qu&rsquo;un mode serveur. La différence entre les deux se trouve dans l&rsquo;exécution des commandes de remédiation qui ne sont présentes que dans le mode client. La partie serveur quant à elle va gérer les mises à jour des signatures et analyser les journaux VBR.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="527" height="314" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_027_V1Agent.png" alt="" class="wp-image-2324" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_027_V1Agent.png 527w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_027_V1Agent-300x179.png 300w" sizes="auto, (max-width: 527px) 100vw, 527px" /></figure>
</div>


<p>Et si nous réalisions une petite Map des différents flux ? 🙂 Naturellement, je ne compte pas réinventer la roue, mais juste mettre en avant ce que je vais implémenter plus tard. Pour le reste, il suffira de consulter le <a href="https://helpcenter.veeam.com/docs/one/deployment/ports.html?ver=120">lien constructeur</a>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="965" height="563" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_023_Schemaglobal.png" alt="" class="wp-image-2319" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_023_Schemaglobal.png 965w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_023_Schemaglobal-300x175.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_023_Schemaglobal-768x448.png 768w" sizes="auto, (max-width: 965px) 100vw, 965px" /></figure>
</div></div></div></div>
</div></div></div>



<p></p>



<p>Comme pour le serveur VEEAM dans un billet précédent, une restriction des flux sortant vers l&rsquo;extérieur est appliquée sur le serveur VEEAMOne. Ainsi, seul les URLs et NDDs habilités à communiquer avec VEEAM et MS sont autorisés.</p>



<p>Soit pour VEEAM One :</p>



<ul class="wp-block-list">
<li>Serveurs de mise à jour :
<ul class="wp-block-list">
<li>dev.veeam.com</li>
</ul>
</li>



<li>Serveurs de licences :
<ul class="wp-block-list">
<li>one.butler.veeam.com</li>



<li>download2.veeam.com</li>
</ul>
</li>
</ul>



<p>Okay, maintenant que nous voyons un peu plus clair dans nos différents flux, posons-nous la traditionnelle question du « le principe de moindre privilège ».</p>



<h3 class="wp-block-heading">Access &amp; Less Privileged</h3>



<p>Cette partie (peu importe la solution à mettre en place) est un véritable casse-tête. La simplicité voudrait que nous attribuions les permissions root ou system pour avoir la paix.</p>



<p>« <strong>Regarde, ça fonctionne !</strong> » J&rsquo;aime à répondre à ça soit par le traditionnel « <strong>Peinture sur merde égal propreté</strong> » ou « <strong>Je travaillais comme ça quand mon patron m&rsquo;a viré</strong>« .</p>



<p>Soyons sérieux deux secondes&#8230; VEEAM nous mache encore une fois le travail et nous allons voir en détail comment configurer les différents comptes avec les moindres privilèges. Cependant, je pense utile de nous remémorer que dans certains cas, il est obligatoire d&rsquo;attribuer des permissions d&rsquo;administrateur du domaine ou à privilège (sudo) et malheureusement nous ne pouvons pas faire autrement.</p>



<p>Dans ce cas de figure, il est difficile de faire autrement. Néanmoins, nous pouvons et je dirai même c&rsquo;est notre devoir de mettre tous les artifices en place pour restreindre le périmètre d&rsquo;exposition de ce type de compte.</p>



<p>Nous distinguons dans notre cas 3 accès à configurer. L&rsquo;accès à l&rsquo;application, l&rsquo;accès à notre socle de virtualisation et notre infrastructure de sauvegarde.</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2214_aaa050-62 kt-accordion-has-3-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-pane2214_83fd4b-43"><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; VEEAM BR : Infrastructure 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>Dans le respect des bonnes pratiques, notre serveur VEEAM n&rsquo;est pas joint au domaine. Nous avons besoin pour interconnecter VEEAMOne à notre serveur VEEAM d&rsquo;un compte administrateur local.</p>



<p>Pourquoi ? Parce que VEEAMOne doit avoir les droits nécessaires pour déployer son agent. Comme présenté précédemment, il nous faut contraindre ce compte.</p>



<p>Typiquement, nous pouvons considérer ce compte comme une compte de service. Il nous faudra alors interdire les connections locales et distantes à ce compte directement sur le serveur VEEAM.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="439" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_024_VBR_LessPrivileges-1024x439.png" alt="" class="wp-image-2322" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_024_VBR_LessPrivileges-1024x439.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_024_VBR_LessPrivileges-300x129.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_024_VBR_LessPrivileges-768x330.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_024_VBR_LessPrivileges-1536x659.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_024_VBR_LessPrivileges.png 1792w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Attention, étant un compte local il sera nécessaire d&rsquo;effectuer au minima une rotation du mot de passe une fois par an.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2214_37fa8f-f9"><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; VMWare : Infrastructure de virtualisation</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>Là, c&rsquo;est plutôt simple, il suffit d&rsquo;utiliser directement le compte root de notre VCSA<sup data-fn="dfdd2de5-6caa-4ca5-b9de-f8668765a621" class="fn"><a href="#dfdd2de5-6caa-4ca5-b9de-f8668765a621" id="dfdd2de5-6caa-4ca5-b9de-f8668765a621-link">4</a></sup>.</p>



<p class="has-text-align-center"><strong>NO WWWWAAAAYYYYY !</strong></p>



<p>RTFM<sup data-fn="97d37c9d-5bb7-4bcb-a6f4-d4c3276e8b40" class="fn"><a href="#97d37c9d-5bb7-4bcb-a6f4-d4c3276e8b40" id="97d37c9d-5bb7-4bcb-a6f4-d4c3276e8b40-link">5</a></sup> mon gars ! VEEAM explique ce qu&rsquo;il faut faire (<a href="https://helpcenter.veeam.com/docs/one/deployment/connection_to_virtual_servers.html?ver=120#vmware">ici</a>). Je ne vais donc pas m&rsquo;attarder là-dessus.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="849" height="589" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_025_VOne_LessPrivileges.png" alt="" class="wp-image-2323" style="width:737px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_025_VOne_LessPrivileges.png 849w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_025_VOne_LessPrivileges-300x208.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_025_VOne_LessPrivileges-768x533.png 768w" sizes="auto, (max-width: 849px) 100vw, 849px" /></figure>
</div>


<p>Là, il y a deux écoles. Je n&rsquo;ai pas encore fait un article sur le sujet VCSA et personnellement je ne sais pas si j&rsquo;ai envie d&rsquo;en faire un car les interfaces changes tout le temps au gré des montées de version VMWare. Bref, il reste à définir si nous souhaitons utiliser des comptes locaux ou un compte du domaine pour interconnecter VEEAMOne à notre environnement VMWare.</p>



<p>Les raisons sont toujours les mêmes. Sécurité, Sécurité et Sécurité.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2214_ba4b68-66"><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; VEEAMOne : Application</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>L&rsquo;application se base également sur le principe de moindre privilège ainsi que sur le principe de RBAC<sup data-fn="418f9970-4de2-4a8c-8125-451c42d430e8" class="fn"><a href="#418f9970-4de2-4a8c-8125-451c42d430e8" id="418f9970-4de2-4a8c-8125-451c42d430e8-link">6</a></sup> (un truc vraiment cool pour les SysAdmins).</p>



<p>Nous retrouvons donc les schémas 3-Tiers classiques, utilisateurs lecture seul, utilisateur avec pouvoir et les utilisateurs administrators.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="469" height="69" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_014-1_LocalGroups.png" alt="" class="wp-image-2326" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_014-1_LocalGroups.png 469w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_014-1_LocalGroups-300x44.png 300w" sizes="auto, (max-width: 469px) 100vw, 469px" /></figure>
</div>


<p>Sur notre serveur VEEAMOne, nous retrouverons ainsi les groupes locaux qu&rsquo;il siéra à notre guise de peupler en respectant les bonnes pratiques et recommandation avec les ressources de notre domaine.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="48" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_014_SecurityGroups-1024x48.png" alt="" class="wp-image-2325" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_014_SecurityGroups-1024x48.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_014_SecurityGroups-300x14.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_014_SecurityGroups-768x36.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_014_SecurityGroups.png 1290w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Pour enfoncer le clou, les rôles énumérés précédemment permettent les actions ci-dessous. A nous de mettre les bonnes ressources techniques en face du bon profil.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Rôles</strong></td><td><strong>Permissions</strong></td></tr><tr><td>VO Read-Only</td><td>Accès à la surveillance des données en lecture seule<br>Accès à la génération de rapport</td></tr><tr><td>VO Powered</td><td>Accès à la surveillance des données<br>Accès à la génération de rapport</td></tr><tr><td>VO Administrator</td><td>Accès à l&rsquo;ensemble de la plateforme<br>Accès à l&rsquo;administration des données<br>Accès à la génération de rapports<br>Modification de la configuration VEEAMOne</td></tr></tbody></table></figure>
</div></div></div>
</div></div></div>



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



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



<p>Nous considérons que le serveur Windows a été durci au préalable et que nous possédons un serveur à jour.</p>



<p>Nous avons également téléchargé en amont les sources (iso) de Veeam One.</p>



<p>Nous ne traiterons ici que de l&rsquo;installation d&rsquo;un server <em><strong>VEEAMOne « AllinOne »</strong></em> (car j&rsquo;ai un petit lab). Mais il est possible d&rsquo;envisager un déploiement 3-Tiers (VEEAMOne Server, MSSQL Server et VEEAMOne UI). Je propose quelques choses de standard (car il faut sur un petit LAB <a href="https://www.youtube.com/watch?v=teKygneXkX8&amp;ab_channel=DisneyFR">se satisfaire du nécessaire et être heureux</a>) sur la base de VEEAM BR, ESXi<sup data-fn="95c79d00-006e-451e-8bff-c3326dcebb69" class="fn"><a href="#95c79d00-006e-451e-8bff-c3326dcebb69" id="95c79d00-006e-451e-8bff-c3326dcebb69-link">7</a></sup> et VCSA.</p>



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



<p>Nous partons donc du principe que notre serveur Windows est déjà configuré et <span style="text-decoration: underline;">joint à un domaine</span> (oui oui, j&rsquo;ai bien écrit joint à un domaine). Que nous avons une appliance vCenter (joint ou non au domaine) ainsi qu&rsquo;un serveur VEEAM BR (non joint au domaine et préalablement durci et conforme aux recommandations VEEAM.</p>



<p>Les prérequis en termes de ressources doivent être les suivantes (pour une Single Server):</p>



<ul class="wp-block-list">
<li><strong>OS :</strong> WIN10, WIN11, WS 2012 à WS 2022</li>



<li><strong>CPU :</strong> 4 cores (minimum)</li>



<li><strong>RAM :</strong> 8 Go (Minimum) / 16 Go (Recommandé)</li>



<li><strong>Disk :</strong> 50 Go pour la SGBD MSSQL et VEEAMOne DB</li>



<li><strong>Network :</strong> 1 Gbps minimum</li>
</ul>



<figure class="wp-block-table"><table class="has-background has-fixed-layout" style="background-color:#fff300"><tbody><tr><td><strong><span style="text-decoration: underline;">/!\ Attention :</span></strong> Cela relève de mon settings. Les recommandations en termes de performances ne sont pas à être négligées. (Oui il ne va pas falloir être un rat. Je vous connais bande de SysAdmin pret à gagner 1 vCPU par ci, par là et autres petits Go de RAM.)<br>Vous retrouverez les liens ci-dessous pour les recommandations :<br><br><a href="https://helpcenter.veeam.com/docs/one/deployment/supported_platforms.html?ver=120">Supported Virtualization Platforms</a><br><a href="https://helpcenter.veeam.com/docs/one/deployment/integration_with_vbr.html?ver=120">Supported VEEAM BR</a><br><a href="https://helpcenter.veeam.com/docs/one/deployment/system_requirements.html?ver=120">Supported System</a><br><a href="https://helpcenter.veeam.com/docs/one/deployment/requirements.html?ver=120">VEEAMOne Sizing</a></td></tr></tbody></table></figure>



<p>Top à la vachette, démarrons l&rsquo;installation !</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2214_08d8d8-43 kt-accordion-has-15-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-pane2214_9f111f-c0"><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; You are a wizard Veeam ONE !</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="722" height="563" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_001_install.png" alt="" class="wp-image-2328" style="width:422px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_001_install.png 722w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_001_install-300x234.png 300w" sizes="auto, (max-width: 722px) 100vw, 722px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2214_9a80bf-9b"><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; Server or client ?</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="725" height="565" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_002_serverclient.png" alt="" class="wp-image-2329" style="width:438px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_002_serverclient.png 725w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_002_serverclient-300x234.png 300w" sizes="auto, (max-width: 725px) 100vw, 725px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2214_4f6ef2-18"><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; Licenses &amp; EULA</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="722" height="565" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_003_EULA.png" alt="" class="wp-image-2331" style="width:461px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_003_EULA.png 722w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_003_EULA-300x235.png 300w" sizes="auto, (max-width: 722px) 100vw, 722px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane2214_b1291e-83"><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; License bite ! (Ou restez en Community Edition)</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="724" height="564" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_004_License.png" alt="" class="wp-image-2330" style="width:447px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_004_License.png 724w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_004_License-300x234.png 300w" sizes="auto, (max-width: 724px) 100vw, 724px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane2214_84f8d7-20"><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; VEEAM One Service Account (si si ombre !)</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="721" height="562" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_005_UserADAccount.png" alt="" class="wp-image-2332" style="width:464px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_005_UserADAccount.png 721w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_005_UserADAccount-300x234.png 300w" sizes="auto, (max-width: 721px) 100vw, 721px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane2214_ed759e-ad"><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; System Check&#8230; Hold on 2 minutes</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="724" height="566" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_006_Features.png" alt="" class="wp-image-2333" style="width:466px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_006_Features.png 724w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_006_Features-300x235.png 300w" sizes="auto, (max-width: 724px) 100vw, 724px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-7 kt-pane2214_a2ab2e-2c"><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">7 &#8211; Install or not 😀 (Customize)</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="723" height="562" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_006-1_Features.png" alt="" class="wp-image-2334" style="width:525px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_006-1_Features.png 723w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_006-1_Features-300x233.png 300w" sizes="auto, (max-width: 723px) 100vw, 723px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-8 kt-pane2214_0e4fbd-5c"><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">8.0 &#8211; Customize, Choose VEEAM Components</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="724" height="561" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_007_Customize.png" alt="" class="wp-image-2335" style="width:450px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_007_Customize.png 724w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_007_Customize-300x232.png 300w" sizes="auto, (max-width: 724px) 100vw, 724px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-9 kt-pane2214_d20322-2f"><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">8.1 &#8211; Customize, Database</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="723" height="564" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_008_Database.png" alt="" class="wp-image-2336" style="width:567px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_008_Database.png 723w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_008_Database-300x234.png 300w" sizes="auto, (max-width: 723px) 100vw, 723px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-10 kt-pane2214_1c71f8-3c"><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">8.2 &#8211; Customize, DataLocations</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="721" height="562" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_009_DataLocation.png" alt="" class="wp-image-2337" style="width:462px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_009_DataLocation.png 721w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_009_DataLocation-300x234.png 300w" sizes="auto, (max-width: 721px) 100vw, 721px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-11 kt-pane2214_61f9c2-a1"><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">8.3 &#8211; Customize, Mode</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="724" height="564" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_010_DatacollectionMode.png" alt="" class="wp-image-2338" style="width:460px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_010_DatacollectionMode.png 724w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_010_DatacollectionMode-300x234.png 300w" sizes="auto, (max-width: 724px) 100vw, 724px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-12 kt-pane2214_20c0e6-66"><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">8.4 &#8211; Customize, Ports</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="724" height="565" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_011_PortConfiguration.png" alt="" class="wp-image-2339" style="width:429px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_011_PortConfiguration.png 724w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_011_PortConfiguration-300x234.png 300w" sizes="auto, (max-width: 724px) 100vw, 724px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-13 kt-pane2214_0a1717-df"><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">8.5 &#8211; Customize, Resume &amp; Install (sure ?)</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="723" height="563" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_012_Recap.png" alt="" class="wp-image-2340" style="width:425px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_012_Recap.png 723w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_012_Recap-300x234.png 300w" sizes="auto, (max-width: 723px) 100vw, 723px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-14 kt-pane2214_2a3480-9c"><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">9 &#8211; Install ongoing, please offer me a coffee &lt;3</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="724" height="563" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_013_Installing.png" alt="" class="wp-image-2341" style="width:433px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_013_Installing.png 724w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_013_Installing-300x233.png 300w" sizes="auto, (max-width: 724px) 100vw, 724px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-15 kt-pane2214_aadef7-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">10 &#8211; CONGRATULATION</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 class="has-text-align-center"><em>A prononcer façon <a href="https://www.youtube.com/watch?v=mpnUEybriF4&amp;ab_channel=NotANoobGamer">Smash Brosh</a> 🙂</em></p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="725" height="568" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_015_Finished.png" alt="" class="wp-image-2342" style="width:439px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_015_Finished.png 725w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_015_Finished-300x235.png 300w" sizes="auto, (max-width: 725px) 100vw, 725px" /></figure>
</div></div></div></div>
</div></div></div>



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



<p>Lors du premier lancement du client VEEAMOne, nous allons être invité à configurer l&rsquo;application. Il faut comprendre par configuration le paramétrage général du serveur. Pour ce qui relève de la configuration des autres vues ou fonctionnalités, cela relèvera d&rsquo;une partie dédiée dans cet article ou d&rsquo;un article à part entière (je n&rsquo;ai pas encore décidé).</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="521" height="387" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_016_FirstStart.png" alt="" class="wp-image-2344" style="width:408px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_016_FirstStart.png 521w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_016_FirstStart-300x223.png 300w" sizes="auto, (max-width: 521px) 100vw, 521px" /></figure>
</div>


<p>De la sorte et je pense qu&rsquo;il est utile de le souligner une nouvelle fois, un système de supervision et de monitoring sans être notifier reviens <a href="https://www.youtube.com/watch?v=13dvENdB2rA&amp;ab_channel=DidierSuper-Topic">à commander un steack frites alors que l&rsquo;on aime pas les frites et que l&rsquo;on est végétarien. Hé ben c&rsquo;est con !</a> Configurons alors les notifications.</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2214_1f36f5-d3 kt-accordion-has-7-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-pane2214_b92a6d-cd"><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; SMTP un incontournable !</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 commençons à avoir l&rsquo;habitude avec les solutions VEEAM de configurer les notifications. C&rsquo;est exactement la même chose que pour VEEAM BR, à l&rsquo;exception que l&rsquo;IHM<sup data-fn="2744af2e-fbb4-47dd-9745-c0bdb6873d2f" class="fn"><a href="#2744af2e-fbb4-47dd-9745-c0bdb6873d2f" id="2744af2e-fbb4-47dd-9745-c0bdb6873d2f-link">8</a></sup> est d&rsquo;une couleur différente.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="703" height="637" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_0_ConfigSMTP.png" alt="" class="wp-image-2351" style="width:489px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_0_ConfigSMTP.png 703w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_0_ConfigSMTP-300x272.png 300w" sizes="auto, (max-width: 703px) 100vw, 703px" /></figure>
</div>


<p>M&rsquo;autorisez vous à passer cette partie ? Naturellement car je fais ce que je veux 🙂 Le seul point, bien penser à ouvrir les flux outbounds concernant le protocole utilisé. Sinon ba ça marche pas et ça ne court pas non plus&#8230; (Il est comique le garçon&#8230;)</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2214_d1297d-64"><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; A qui le postier doit il délivrer le courrier ?</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>Dans ce cas, nous pouvons ajouter plusieurs adresses mails en destinataire des notifications selon l&rsquo;état des notifications (Toutes, les erreurs et avertissements, les resolved etc).</p>


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


<p>Toutefois, cela pose un problème car si nous souhaitons notifier qu&rsquo;une équipe particulière sur certaines ressources, cela va être difficile de se coltiner toutes les notifications de l&rsquo;infrastructure et donc d&rsquo;être pollué&#8230;</p>



<p>Il faut voir ce paramétrage ci à destination de l&rsquo;équipe Cloud, Services Hébergés et autres fiches de poste. Concernant les notifications plus ciblées à destination d&rsquo;équipe spécialisée, je reviendrai dessus dans la partie Business View.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2214_01ef1e-d7"><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; Politiques de notification</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>Pour cette étape, je suis un peu un SysAdmin sans personnalité car je vais laisser les paramétrages par défaut.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="705" height="642" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_2_DefaultNotificationPolicy.png" alt="" class="wp-image-2353" style="width:538px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_2_DefaultNotificationPolicy.png 705w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_2_DefaultNotificationPolicy-300x273.png 300w" sizes="auto, (max-width: 705px) 100vw, 705px" /></figure>
</div>


<p>Il est possible de définir et de modifier un template. Dans mon cas d&rsquo;usage, je trouve (et encore une fois il va nous dire que c&rsquo;est son avis personnel&#8230;) que ça fait le taf.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane2214_be2035-bd"><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; SNMP</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>Encore un classique de la supervision. Qui dit supervision dit log et donc SNMP<sup data-fn="6ade8182-4ad8-4fc4-9d28-0e5670bac72b" class="fn"><a href="#6ade8182-4ad8-4fc4-9d28-0e5670bac72b" id="6ade8182-4ad8-4fc4-9d28-0e5670bac72b-link">9</a></sup>. Cela permet d&rsquo;avoir une bonne visibilité de son réseau, des équipements et de l&rsquo;état de santé de ces derniers.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="702" height="641" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_3_SNMP.png" alt="" class="wp-image-2354" style="width:476px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_3_SNMP.png 702w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_3_SNMP-300x274.png 300w" sizes="auto, (max-width: 702px) 100vw, 702px" /></figure>
</div>


<p>Je ne l&rsquo;utilise pas.</p>



<p class="has-text-align-center"><strong>HAAAANNNN, NANI !!!!</strong></p>



<p class="has-text-align-left">J&rsquo;ai une excuse. Dans un contexte professionnel, je préfère utiliser les solutions propriétaires. L&rsquo;inconvénient, c&rsquo;est que cela à un coup. Néanmoins, je pense qu&rsquo;il serait temps de regarder d&rsquo;un peu plus prêt cette fonctionnalité de collecte.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane2214_27233f-65"><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; ITSM : ServiceNow</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>Et si nous cherchions un peu d&rsquo;efficience pour notre infrastructure, les équipes opérationnelles ? L&rsquo;un des rêves d&rsquo;un SysAdmin (surtout le mien) reste d&rsquo;intégrer les alertes dans la solution ITSM<sup data-fn="9b132b0b-6461-4936-aeb2-ef4e3e13fe74" class="fn"><a href="#9b132b0b-6461-4936-aeb2-ef4e3e13fe74" id="9b132b0b-6461-4936-aeb2-ef4e3e13fe74-link">10</a></sup> afin de pouvoir traiter de manière pro-active les alertes systèmes.</p>



<p>VEEAMOne propose de s&rsquo;interconnecter à la solution ITSM ServiceNow. M***e pas de bol je n&rsquo;utilise pas cette solution. Donc je passe mon tour&#8230;</p>



<p class="has-text-align-center"><strong><em>« Tristesse, ton petit cœur doit saigner et tu dois roter du sang en boule sur ton paillasson ? »</em></strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="705" height="640" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_4_ServiceNow.png" alt="" class="wp-image-2355" style="width:540px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_4_ServiceNow.png 705w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_4_ServiceNow-300x272.png 300w" sizes="auto, (max-width: 705px) 100vw, 705px" /></figure>
</div>


<p>Hé non ! Si VEEAMOne ne propose pas de passerelle avec la solution ITSM que j&rsquo;utilise (<a href="https://www.combodo.com/itop">ITOP</a> pour ne pas la nommer), les deux solutions possèdent une API<sup data-fn="704024f1-a815-4874-93a2-bd1adca7cb93" class="fn"><a href="#704024f1-a815-4874-93a2-bd1adca7cb93" id="704024f1-a815-4874-93a2-bd1adca7cb93-link">11</a></sup>. Vous voyez où je veux en venir. 🙂</p>



<p>Je prépare cette introduction depuis longtemps et j&rsquo;espère vous présenter mon connecteur dans le prochain article. Je ne suis pas vache, je vous lâche un petit teasing &lt;3</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane2214_c66d3a-f4"><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; Le puit de Log</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 puit de log&#8230; Fonctionnalité que je n&rsquo;utilise pas non plus. Mais sur laquelle je devrais me pencher.</p>



<p>Garantir un historique des alarmes déclenchées et centraliser ces dernières seraient vraiment sympa. Toutefois, je rencontre une problématique. Je n&rsquo;ai pas ce jour mis là main sur une solution libre qui soit facile d&rsquo;administrer et de maintenir. Libre ne veut pas dire gratuit que nous nous entendons bien.</p>



<p>Par exemple, j&rsquo;ai utilisé la solution GrayLog. Nous sommes vite limités par la licence communautaire sur le notre de flux journalier échangé. Il suffirait de prendre la CB est hop le tour est joué.</p>



<p class="has-text-align-center"><strong>1-0 pour la solution</strong></p>



<p>J&rsquo;ai voulu mettre à jour la plateforme et j&rsquo;ai tout cassé. Il suffirait de passer en SaaS chez l&rsquo;éditeur comme ça plus de problème de MCO.</p>



<p class="has-text-align-center"><strong>2-0 pour la solution</strong></p>



<p class="has-text-align-left">Pour le coup, je demande la VAR. Je ne suis pas fan de l&rsquo;hébergement en SaaS dans ce cas précis. L&rsquo;arbitre accorde donc <strong>1-1, balle au centre&#8230;</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="706" height="641" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_8_Syslog.png" alt="" class="wp-image-2356" style="width:455px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_8_Syslog.png 706w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_8_Syslog-300x272.png 300w" sizes="auto, (max-width: 706px) 100vw, 706px" /></figure>
</div>


<p>Conclusion, il faut que je torture encore quelques cellules grises dans mes travaux nocturnes pour étudier ce point.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-7 kt-pane2214_354e9d-3b"><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">7 &#8211; Récap</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="705" height="641" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_9_Summary.png" alt="" class="wp-image-2358" style="width:496px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_9_Summary.png 705w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_017_9_Summary-300x273.png 300w" sizes="auto, (max-width: 705px) 100vw, 705px" /></figure>
</div>


<p>Le petit récapitulatif, comme nous avons l&rsquo;habitude de l&rsquo;avoir chez VEEAM. Je trouve cela d&rsquo;une simplicité et d&rsquo;une efficacité remarquable. Chose que nous n&rsquo;avons pas toujours sur d&rsquo;autres solutions.</p>



<p class="has-text-align-center"><strong>Tu vas vraiment nous faire croire que t&rsquo;as pas d&rsquo;action chez VEEAM ?</strong></p>
</div></div></div>
</div></div></div>



<p></p>



<p>La configuration terminée, nous pouvons admirer notre console vierge et vide de toutes données. Il faut l&rsquo;avouer, il y a là un côté tristoune. Je rassure, pas pour bien longtemps.</p>



<h3 class="wp-block-heading">Virtual Infrastructure</h3>



<p>La vue Virtual Infrastructure va nous permettre de suivre l&rsquo;intégralité de l&rsquo;état de santé ainsi que les évènements de notre SIs depuis le socle de virtualisation jusqu&rsquo;aux SEs des machines virtuelles.</p>



<p>Comme souligné précédemment, l&rsquo;objectif est d&rsquo;être proactif face à un dysfonctionnement d&rsquo;infrastructure ou d&rsquo;anomalie sur un serveur virtuelle en production.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="575" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_029_VIView-1024x575.png" alt="" class="wp-image-2369" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_029_VIView-1024x575.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_029_VIView-300x168.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_029_VIView-768x431.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_029_VIView-1536x862.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_029_VIView.png 1919w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>VEEAMOne prend en charge les produits suivants, VMWare, VMWare Cloud Director, Microsoft Hyper-V.</p>



<p>Un exemple ci-dessous d&rsquo;ajout d&rsquo;une appliance VCSA.</p>



<h4 class="wp-block-heading">VMWare</h4>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2214_ae7910-40 kt-accordion-has-4-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-pane2214_13b465-cb"><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; Add Server</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>Sous Virtual Infrastructure, faire un clic droit et ajouter un nouveau serveur.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="553" height="424" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_026_1_AddVCSA.png" alt="" class="wp-image-2346" style="width:323px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_026_1_AddVCSA.png 553w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_026_1_AddVCSA-300x230.png 300w" sizes="auto, (max-width: 553px) 100vw, 553px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2214_c1e8eb-0f"><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; VMWare Connection</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>VEEAMOne nous demande si nous souhaitons ajouter une appliance ou un hote directement. Renseignons le nom DNS de notre appliance.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="717" height="538" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_026_2_AddVCSA.png" alt="" class="wp-image-2347" style="width:445px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_026_2_AddVCSA.png 717w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_026_2_AddVCSA-300x225.png 300w" sizes="auto, (max-width: 717px) 100vw, 717px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2214_eb6e26-a9"><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; Credentials</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>J&rsquo;ai fait le choix (pour l&rsquo;instant) de ne pas binder mon appliance VCSA à mon AD. C&rsquo;est pourquoi j&rsquo;ai créé un compte local<strong> svc.veeamon@vsphere.local</strong> sur mon appliance avec les permissions nécessaires.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="714" height="538" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_026_3_AddVCSA.png" alt="" class="wp-image-2348" style="width:483px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_026_3_AddVCSA.png 714w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_026_3_AddVCSA-300x226.png 300w" sizes="auto, (max-width: 714px) 100vw, 714px" /></figure>
</div>


<p>Naturellement, il ne faut pas oublier d&rsquo;ouvrir les ports interlan dans le cas de segmentation des réseaux.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane2214_03ff19-c5"><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; Summary</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 traditionnel rappel et voilà notre appliance VEEAMOne connecté à notre VSCA.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="716" height="538" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_026_4_AddVCSA.png" alt="" class="wp-image-2349" style="width:476px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_026_4_AddVCSA.png 716w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_026_4_AddVCSA-300x225.png 300w" sizes="auto, (max-width: 716px) 100vw, 716px" /></figure>
</div></div></div></div>
</div></div></div>



<h3 class="wp-block-heading">Veeam Backup &amp; Replication</h3>



<p>La vue Veeam Backup &amp; Replication comme son nom l&rsquo;indique va traiter de la sauvegarde et de l&rsquo;ensemble des jobs de protection. Si la vue d&rsquo;infrastructure vient à donner une bonne visibilité de notre infrastructure virtuelle, nous aurons avec cette vue ci une visibilité sur l&rsquo;ensemble de notre infrastructure VEEAM.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="575" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_030_VBRView-1024x575.png" alt="" class="wp-image-2370" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_030_VBRView-1024x575.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_030_VBRView-300x168.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_030_VBRView-768x431.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_030_VBRView-1536x863.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_030_VBRView.png 1916w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Depuis l&rsquo;état du serveur de sauvegarde, des jobs en passant par la charge des proxies VEEAM ainsi que l&rsquo;utilisation des repos de sauvegarde ainsi que le détail des chaines (full et incréments).</p>



<p>Lors de la présentation de la solution dans la partie « Théorique » le déploiement d&rsquo;un agent de supervision permettra de réaliser en plus de la remontée d&rsquo;informations la possibilité de réaliser des actions de remédiations.</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2214_f1882c-8c kt-accordion-has-7-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-pane2214_1e3b2f-72"><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; Add Server</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>M&rsquo;sieur, un petit clic droit sur Add Server 🙂</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="485" height="345" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019_AddVDP.png" alt="" class="wp-image-2359" style="width:356px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019_AddVDP.png 485w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019_AddVDP-300x213.png 300w" sizes="auto, (max-width: 485px) 100vw, 485px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2214_1ab8ab-94"><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; VEEAM BR Connection</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 renseignons comme précédemment pour l&rsquo;ajout d&rsquo;une ressource d&rsquo;infrastructure le nom DNS de notre serveur VBR. Il est également possible d&rsquo;intégrer un serveur VB Entreprise Manager.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="716" height="537" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-2_AddVDP.png" alt="" class="wp-image-2361" style="width:515px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-2_AddVDP.png 716w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-2_AddVDP-300x225.png 300w" sizes="auto, (max-width: 716px) 100vw, 716px" /></figure>
</div>


<p>Je n&rsquo;utilise pas ce dernier et pourtant c&rsquo;est le manque de temps en ce moment qui vient ralentir ma <a href="https://www.youtube.com/watch?v=FNZRmAaR_-U&amp;ab_channel=BernardJOYET">boulimie intellectuelle</a> et m&#8217;empêche d&rsquo;avancer.</p>



<p>Je coche volontairement l&rsquo;installation de l&rsquo;agent VEEAMOne pour avoir les actions de remédiation et d&rsquo;avoir le relevé de journaux d&rsquo;événements ainsi que son analyse.</p>



<p>La seconde coche permet de joindre notre serveur VBR à notre serveur VEEAMOne et donc avoir directement dans la console VBR les informations et performance de notre infrastructure de sauvegarde. (Franchement, il ne faut pas hésiter C&rsquo;est du read only pas de risque 🙂 )</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane2214_b63039-31"><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; Credentials</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>Renseignons le compte local de notre serveur VBR qui va permettre le relevé d&rsquo;installation. J&rsquo;ai déjà expliqué les actions préconisées pour garantir un niveau de sécurité acceptable.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="715" height="539" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-3_AddVDP.png" alt="" class="wp-image-2362" style="width:471px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-3_AddVDP.png 715w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-3_AddVDP-300x226.png 300w" sizes="auto, (max-width: 715px) 100vw, 715px" /></figure>
</div>


<p>Toutefois, rappelons-nous qu&rsquo;il est nécessaire d&rsquo;avoir les droits d&rsquo;administrations pour que VEEAMOne puisse installer l&rsquo;agent VEEAMOne. Sans quoi vous aurez le joli message ci-dessous &lt;3</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="719" height="540" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-3-1_AddVDP.png" alt="" class="wp-image-2363" style="width:455px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-3-1_AddVDP.png 719w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-3-1_AddVDP-300x225.png 300w" sizes="auto, (max-width: 719px) 100vw, 719px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane2214_759866-26"><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; Summary</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 récap, le récap, le récap !</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="715" height="536" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-4_AddVDP.png" alt="" class="wp-image-2364" style="width:587px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-4_AddVDP.png 715w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-4_AddVDP-300x225.png 300w" sizes="auto, (max-width: 715px) 100vw, 715px" /></figure>
</div></div></div></div>
</div></div></div>



<p></p>



<p>Une fois ajoutée, nous obtenons une interface vide. Pas de panique, c&rsquo;est normal. Ce n&rsquo;est pas un bug.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="747" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-5_AddVDP-1024x747.png" alt="" class="wp-image-2366" style="width:541px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-5_AddVDP-1024x747.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-5_AddVDP-300x219.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-5_AddVDP-768x560.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_019-5_AddVDP.png 1192w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>En regardant l&rsquo;image précédente, nous remarquons en bas à droite que l&rsquo;infrastructure est en cours d&rsquo;import. Ah ouf ! Il en sera de même avec l&rsquo;installation de l&rsquo;agent et la remontée de log. Il faut faire preuve de patience et non pas cliquer 50 fois sur le bouton d&rsquo;impression au risque de griller notre imprimante. Les données remonteront d&rsquo;elles-mêmes comme présenté dans le début de cette partie.</p>



<p>Dans la même logique, si nous avons coché l&rsquo;accès aux tableaux de bords dans la console VBR, il sera nécessaire d&rsquo;attendre l&rsquo;intégration des datas.</p>



<p>Dans notre console VBR, dans l&rsquo;onglet Analytics nous retrouverons les informations sur la planification, durée des jobs. La sollicitation de telle ou telles ressources, l&rsquo;espace de stockage de nos repos ainsi qu&rsquo;une vue globale MENSUELLE de nos jobs de sauvegarde (et dire qu&rsquo;avant cette fonctionnalité je me suis fait iéch à faire des extracts et tableau xlsx&#8230;. Je les utilise toujours pour mes indicateurs hein 😉 ).</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="576" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_031_VBRView-1024x576.png" alt="" class="wp-image-2371" style="width:654px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_031_VBRView-1024x576.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_031_VBRView-300x169.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_031_VBRView-768x432.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_031_VBRView-1536x864.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_031_VBRView.png 1917w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Sinon, il est tout à fait possible d&rsquo;avoir les mêmes informations dans la WebConsole VEEAMOne. Si vous savez, le truc qui commence par https et se termine par 1239 du type https://monseveur_VEEAMOne.contoso.com:1239.</p>



<h3 class="wp-block-heading">Business View</h3>



<p>Cette partie est intéressante pour celui qui sait la manier. Personnellement j&rsquo;ai mis un certain temps à comprendre son mécanisme et l&rsquo;intérêt que cet onglet peut apporter.</p>



<p>Dans cette « Vue Affaire », il va nous être possible de faire presque quasiment tout ce que nous souhaitons en termes de filtre et d&rsquo;identification sur les ressources VMs, Hosts, Datastores et Clusters.</p>



<p>Cette vue va donc nous permettre de répondre à des problématiques financières et techniques.</p>



<ul class="wp-block-list">
<li><strong>Financière : </strong>Afin d&rsquo;avoir un rapport précis des ressources consommées par un service (SaaS) ou d&rsquo;infrastructure (IaaS). D&rsquo;assurer l&rsquo;efficacité et l&rsquo;efficience de notre infrastructure afin de définir si nous sommes en over-capaciting ou under-capaciting. Investir, pas investir ? Prospecter, pas prospecter ? (<strong>Mon PDG répondrait sans hésiter OUI !</strong> et il a bien raison)</li>



<li><strong>Technique :</strong> Pour garantir un état de santé par service, la présence de snasphot, la possibilité de notifier que certaines ressources aux bonnes équipes&#8230; J&rsquo;en passe car la liste pourrait être longue.</li>
</ul>



<p>Sincèrement, je vois la partie Business View comme le pivot et point le plus important pour maitriser son budget ainsi que son SI.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="569" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_033_BusinessGlobalpng-1024x569.png" alt="" class="wp-image-2375" style="width:767px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_033_BusinessGlobalpng-1024x569.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_033_BusinessGlobalpng-300x167.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_033_BusinessGlobalpng-768x427.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_033_BusinessGlobalpng-1536x853.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_033_BusinessGlobalpng.png 1912w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Bon hormis le fait que je laisse l&rsquo;impression que mon exploitation n&rsquo;est pas faite à la maison. Objection lecteur ! Mon MCO est fait. Il se trouve que l&rsquo;erreur disque sur mon second AD est lié à la sauvegarde Windows et que je n&rsquo;ai pas acquittée cette dernière (Oui j&rsquo;ai bien écrit Acquitté et non Résoudre).</p>



<p>Mais bon entre nous, un système de monitoring sans erreurs et avertissements ça serait d&rsquo;un ennui non ?</p>



<figure class="wp-block-table aligncenter"><table class="has-fixed-layout"><tbody><tr><td>Par défaut nous avons la vue ci-contre.<br>Il sera alors possible pour nous de définir des nouvelles<br>catégories pour chacune des familles présentée plus tôt.<br><br>Nous allons réaliser les catégorisations selon 3 critères.<br><br>*** Single Parameter<br>*** Muliple Conditions<br>*** Grouping expression<br><br><img loading="lazy" decoding="async" width="350" height="188" class="wp-image-2377" style="width: 350px;" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_034_critereas.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_034_critereas.png 414w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_034_critereas-300x161.png 300w" sizes="auto, (max-width: 350px) 100vw, 350px" /><br><br></td><td><img loading="lazy" decoding="async" width="300" height="331" class="wp-image-2376" style="width: 300px;" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_032_BusinessViewDefault.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_032_BusinessViewDefault.png 324w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_032_BusinessViewDefault-272x300.png 272w" sizes="auto, (max-width: 300px) 100vw, 300px" /></td></tr></tbody></table></figure>



<p>Je pense que pour bien comprendre la puissance de ces trois méthodes de catégorisation, il faut que nous nous attardions dessus.</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2214_4d52bd-d4 kt-accordion-has-3-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-pane2214_01b585-d2"><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"><strong>1 &#8211; Single Parameter</strong></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 présenter rapidement plus haut, nous allons catégoriser une ressource sur un groupe d&rsquo;objet qui se base sur une propriété du type concerné (VMs, Hosts, Datastores ou Clusters).</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="756" height="487" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_035_singleparameters.png" alt="" class="wp-image-2379" style="width:514px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_035_singleparameters.png 756w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_035_singleparameters-300x193.png 300w" sizes="auto, (max-width: 756px) 100vw, 756px" /></figure>
</div>


<p>L&rsquo;étape qui suit vous demandera si vous souhaitez créer un tag sur l&rsquo;environnement vSphere ou non. Personnellement je n&rsquo;utilise pas les tags sur ce genre de catégorisation.</p>



<p><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-1-color">Je reviendrai plus bas sur la notion de tag au sens VMWare du terme car il y a des subtilités à assimiler.</mark></p>



<p>Le cas d&rsquo;usage pour cette catégorisation (à mon sens) et de filtrer, identifier rapidement des ressources sur des actions, états simples. Je dirais donc parfait pour l&rsquo;administration et le MCO.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2214_6cda73-a1"><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"><strong>2 &#8211; Multiple Parameter</strong></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>La catégorisation mutli-paramètres va nous offrir plus de possibilité quant à la possibilité de trier et de sélectionner les ressources que nous souhaitons obtenir.</p>



<p>Comme nous pouvons le constater ci-dessous, la liste des critères de ciblage est plutôt conséquente. Passant des paramètres systèmes aux éléments d&rsquo;infrastructures en réalisant une halte par la sauvegarde. Nous retrouvons également les classiques opérateurs de comparaisons (Equals, Not Equals, Contains, Starts/Ends with&#8230;) par rapports à une valeurs.</p>



<p></p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="448" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_036_multiplesparameters-1024x448.png" alt="" class="wp-image-2388" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_036_multiplesparameters-1024x448.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_036_multiplesparameters-300x131.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_036_multiplesparameters-768x336.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_036_multiplesparameters.png 1489w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Comme vu ci-dessus, j&rsquo;ai choisi ici d&rsquo;identifier l&rsquo;ensemble des VMs contenu dans les VM Folder qui contiennent les noms IaaS et SaaS. Il faudra comprendre VM Folder au sens VMWare du terme lors de la création d&rsquo;un dossier dans la vue VMs &amp; Templates de notre VCSA <a href="https://www.youtube.com/watch?v=3xgs6-6vyMQ&amp;ab_channel=G%C3%A9n%C3%A9rationClubDo">naturellement</a>.</p>



<p>Contrairement au cas de catégorisation précédent, je vais choisir de créer les tags vSphere. Ainsi, les ressources (VMs) qui se trouvent sous le répertoire parents IaaS se verront identifiés comme un type IaaS. Il en sera de même pour le type SaaS.</p>



<p>C&rsquo;est là que le sujet commence à devenir intéressant. Car comme évoqué plus tôt, nous commençons à travailler la donnée de notre infrastructure en donnée financière.</p>



<p>Quels est la part de notre infrastructure consommée et allouée à nos services BaaS, SaaS, IaaS, ect&#8230; Quels est la part de notre SI allouée à son fonctionnement et la production ?</p>



<p>Je vois dans déjà dans le fond de la salle les yeux pétillants des DAFs, DCs et autres dirigeant d&rsquo;entreprises. Oui, nous SysAdmins nous savons vous faire faire des économies et apporter un vrai valeur ajoutée &lt;3. (Je développerai ce point dans la conclusion).</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2214_0676e1-e1"><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"><strong>3 &#8211; Grouping Expression</strong></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>Je crois que c&rsquo;est la méthode de catégorisation que je préfère car elle permet de faire presque tout ce que l&rsquo;on souhaite. Cette vue est orientée « développeur » (le style old school VisualBasic).</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="340" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_037_groupsparameters-1024x340.png" alt="" class="wp-image-2390" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_037_groupsparameters-1024x340.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_037_groupsparameters-300x100.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_037_groupsparameters-768x255.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_037_groupsparameters.png 1483w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Ci-dessous, un exemple avec la catégorie VMs with Snapshots qui va selon la date des snapshots nous offrir une vue et métriques sur les snasphots présent si c&rsquo;est la durée de vie de ces derniers est inférieurs à 1 jour, 7 jours, 30 jours. Dans cet usage, cela permet au SysAdmin d&rsquo;avoir une granularité sur une tâche bien distincte et dans certaines situations maintenir le curseur sur ce qui est acceptable ou non.</p>



<p>Au-delà de cette possibilité, il est également possible de gérer (créer, pas supprimer hein) les tags vSphere de manière dynamique selon l&rsquo;évolution de l&rsquo;infrastructure de notre arborescence VMs &amp; Templates. Ainsi, admettons que nous créons une nouvelle bulle SaaS ou IaaS sous cette même infrastructure, l&rsquo;ensemble des ressources qui se trouvent sous ce dernier sera identifié comme IaaS ou SaaS et du nom du répertoire. Pratique donc par la suite de sortir des indicateurs de ressources et de faire une facturation à la carte (refacturation interne ou facturation à un client final).</p>
</div></div></div>
</div></div></div>



<p></p>



<p>Pour bien comprendre l&rsquo;intérêt des tags vSphere générés par VEEAMOne, pourquoi ne pas se lancer un petit RVTools des familles ? 🙂</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="268" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_038_rvtoolsTags-1024x268.png" alt="" class="wp-image-2391" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_038_rvtoolsTags-1024x268.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_038_rvtoolsTags-300x78.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_038_rvtoolsTags-768x201.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_038_rvtoolsTags.png 1170w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>C&rsquo;est un coup des Indiens Lucky Luke, il y a des flèches partout !</p>


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


<p>Au delà de mon humour douteux (ainsi que mon admiration pour Terence Hill quand j&rsquo;étais jeune garçon), nous avons là un outil puissant. La création des tags par catégorisation au délà du client et de la solution VEEAMOne est exploitable dans VMWare. Donc, il va nous être possible avec de l&rsquo;huile de coude et un peu de rigueur d&rsquo;établir des métriques et rapports sur l&rsquo;évolution d&rsquo;une bulle, d&rsquo;un service. Et pourquoi pas établir un outil de capacity planning ? Tout devient possible.</p>



<p>J&rsquo;avais pour projet de créer une petite application sur un moteur SQLite ou MariaDB un outil de suivi des ressources sur 13 mois glissants. Malheureusement, pour moi il faut faire du web&#8230;</p>



<p class="has-text-align-center"><strong>Oui, on sait, c&rsquo;est une étape traumatisante de ta vie. Tu ne voudrais pas débuter une thérapie et arrêter de nous briser les noix avec ça ?</strong></p>



<p class="has-text-align-left">Oui, promis je vais y penser. Mais au délà du traumatisme, il faut du temps et difficile de me cloner (et je ne suis pas certain que cela soit une bonne chose). Toutefois et dans le cadre professionnel, j&rsquo;ai développé un fichier excel qui fait le taf mais comme tous fichiers excel, ce dernier ne connait que son maitre. C&rsquo;est pour ça qu&rsquo;une petite application web serait sympa. Et je crois qu&rsquo;il est important de souligner que les fichiers excel pour faire tout et rien. C&rsquo;est has been maintenant car il faut faire du PowerBI&#8230; Je pense que je ferai un article là-dessus quand j&rsquo;aurai redéveloppé une solution plus simple (en gros sans code en VB et des formules de 5 km de long).</p>



<p>J&rsquo;ai déjà bien abordé le sujet des tags. Il y a néanmoins une chose importante à savoir sur l&rsquo;utilisation de ces derniers. L&rsquo;application des tags vSphere (création) peut prendre un temps certain c&rsquo;est pourquoi il faut être patient (selon la documentation cela peut prendre jusqu&rsquo;à 3 heures et plus selon la taille de l&rsquo;infrastructure). De plus il sera nécessaire de se rendre dans la console WEB pour réaliser une collection des données.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="511" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_041_WebReport_cdata-1024x511.png" alt="" class="wp-image-2408" style="width:717px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_041_WebReport_cdata-1024x511.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_041_WebReport_cdata-300x150.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_041_WebReport_cdata-768x384.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_041_WebReport_cdata-1536x767.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_041_WebReport_cdata.png 1918w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Par défaut cette dernière est définit quotidiennement à 03:00 AM. </p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="490" height="329" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_041_WebReport_cdataSettings.png" alt="" class="wp-image-2410" style="width:252px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_041_WebReport_cdataSettings.png 490w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_041_WebReport_cdataSettings-300x201.png 300w" sizes="auto, (max-width: 490px) 100vw, 490px" /></figure>
</div>


<p>J&rsquo;ai personnellement modifié cette dernière pour qu&rsquo;elle se lance toutes les 3heures. Attention à vos performances. Il est également possible de lancer une collecte de données manuellement.</p>



<h3 class="wp-block-heading">VEEAM Report</h3>



<p>La partie Report se passe sur le client Web (https://monVEEAMOne.contoso.lan:1239). Une fois connecté, c&rsquo;est dans la partie Dashboard et Reports que nous allons avoir les outils les plus pertinents.</p>



<h4 class="wp-block-heading has-text-align-left">Dashboard</h4>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="491" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_WebReport_Dashboard-1024x491.png" alt="" class="wp-image-2395" style="width:740px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_WebReport_Dashboard-1024x491.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_WebReport_Dashboard-300x144.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_WebReport_Dashboard-768x369.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_WebReport_Dashboard-1536x737.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_WebReport_Dashboard.png 1913w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Dans le tableau principal, nous allons retrouver les catégories par défaut. Il sera toutefois possible d&rsquo;ajouter des « tuiles » avec des vues personnalisées. Je trouve que les tuiles présentes suffisent largement à mon activité. Je pense qu&rsquo;il est important de présenter chacune d&rsquo;entre elles. Pourquoi ? Parce qu&rsquo;il est facile de ne pas comprendre les informations présentées et de passer à côté de métriques et d&rsquo;éléments qui faciliterons la prise de décision technique et financière. 🙂</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2214_bc3733-d1 kt-accordion-has-9-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-pane2214_fb8a05-9f"><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; Veeam Backup &amp; Réplication</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>Sans grande surprise, nous retrouvons ce que nous avions déjà vu précédemment dans VEEAM BR dans la rubrique Analytics. Normal puisque VEEAMBR vient chercher les métriques dans VEEAMOne qui vient lui aussi les chercher dans VEEAMBR.</p>



<p>La boucle est bouclée. </p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="466" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_1_WebReport_Dashboard_VEEAMBR-1024x466.png" alt="" class="wp-image-2396" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_1_WebReport_Dashboard_VEEAMBR-1024x466.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_1_WebReport_Dashboard_VEEAMBR-300x137.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_1_WebReport_Dashboard_VEEAMBR-768x350.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_1_WebReport_Dashboard_VEEAMBR-1536x699.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_1_WebReport_Dashboard_VEEAMBR.png 1902w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Blague à part et j&rsquo;adore le phénomène démo. J&rsquo;ai la majorité de mes jobs qui ne passent pas. Cela se retranscrit dans mes charts. A moi de résoudre le problème. </p>



<p>Merci qui ? Merci Jacquie et &#8230; Non un peu de sérieux ! Merci VEEAM One &lt;3</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2214_268917-0c"><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; HeatMap</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 pour la partie précédente, nous retrouvons également cette partie dans la console VEEAM BR. </p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="466" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_2_WebReport_Dashboard_HeatMap-1024x466.png" alt="" class="wp-image-2397" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_2_WebReport_Dashboard_HeatMap-1024x466.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_2_WebReport_Dashboard_HeatMap-300x136.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_2_WebReport_Dashboard_HeatMap-768x349.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_2_WebReport_Dashboard_HeatMap-1536x699.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_2_WebReport_Dashboard_HeatMap.png 1915w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Si la première partie de l&rsquo;accordéon concernait les jobs et l&rsquo;état des jobs, là nous sommes plus sur les performances et usages des différentes ressources de l&rsquo;infrastructures VEEAM. La notion de dégradée sera utilisée de vert à rouge selon l&rsquo;usage et la sollicitation des différents composant VEEAM.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2214_47eb9d-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">3 &#8211; vSphere Trends</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>J&rsquo;avoue que cette vue n&rsquo;est pas bien parlante dans mon cas car je ne possède pas de Cluster VMware.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="464" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_3_WebReport_Dashboard_vSphereTrends-1024x464.png" alt="" class="wp-image-2398" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_3_WebReport_Dashboard_vSphereTrends-1024x464.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_3_WebReport_Dashboard_vSphereTrends-300x136.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_3_WebReport_Dashboard_vSphereTrends-768x348.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_3_WebReport_Dashboard_vSphereTrends-1536x696.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_3_WebReport_Dashboard_vSphereTrends.png 1914w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Toutefois, cette vue va permettre d&rsquo;afficher les tendances de notre cluster concernant l&rsquo;utilisation des différentes ressources. Parfait pour identifier les pics et évolution du SI sur une période.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane2214_c65d6e-50"><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; vSphere Alarms</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>L&rsquo;une de mes vues favorites. Pourquoi ? Car elle indique et offre une visibilité totale de l&rsquo;état de vie de notre SI. L&rsquo;évolution du nombre d&rsquo;avertissements ou d&rsquo;erreurs critiques.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="465" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_4_WebReport_Dashboard_vSphereAlarms-1024x465.png" alt="" class="wp-image-2399" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_4_WebReport_Dashboard_vSphereAlarms-1024x465.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_4_WebReport_Dashboard_vSphereAlarms-300x136.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_4_WebReport_Dashboard_vSphereAlarms-768x349.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_4_WebReport_Dashboard_vSphereAlarms-1536x698.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_4_WebReport_Dashboard_vSphereAlarms.png 1918w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Au déla des métriques quantitatives, ces métriques sont identifiées par catégories. Ce qui facilite grandement et facilement les actions prédictives vis à vis d&rsquo;une panne d&rsquo;infrastructure logique ou physique.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane2214_cb75e8-0c"><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; vSphere Hosts &amp; Clusters</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 retrouvons comme dans la tuile numéro 3 &#8211; vSphere Trends le même constat aussi triste soit-il dans mon cas. Pas de cluster, pas de métrique&#8230;</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="462" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_5_WebReport_Dashboard_vSphereHC-1024x462.png" alt="" class="wp-image-2400" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_5_WebReport_Dashboard_vSphereHC-1024x462.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_5_WebReport_Dashboard_vSphereHC-300x135.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_5_WebReport_Dashboard_vSphereHC-768x346.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_5_WebReport_Dashboard_vSphereHC-1536x692.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_5_WebReport_Dashboard_vSphereHC.png 1919w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Ce qui n&rsquo;est que partiellement vrai. Puisque nous constatons dans cette vue la tendance de consommation à la hausse ou à la baisse des ressources d&rsquo;un hôte VMWare ou d&rsquo;un cluster. Cela peut donc se traduire par, à la hausse ou en sous-évaluation de l&rsquo;infrastructure et un besoin de renforcer cette dernière. A la baisse, une infrastructure surévaluation de l&rsquo;infrastructure vis à vis de son usage quotidien.</p>



<p>Dans la logique, je dirai que nous devons tendre vers une constante en acceptant un léger taux de variation et non à une fonction croissante, décroissante.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane2214_e6a07a-7a"><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; vSphere Datastores</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>Un incontournable ! Pour les nostalgiques des ayatollahs de l&rsquo;exploitation à travers les RVTools. Nous retrouvons l&rsquo;évolution des datastores à la hausse comme à la baisse sur l&rsquo;espace disponible. La visibilité des vmdks quant à l&rsquo;espace consommé et l&rsquo;espace disponible. La latence des différents datastores (impeccable pour la prédiction d&rsquo;un disque qui va lâcher), les IOPS pour chaque datastore. </p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="463" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_6_WebReport_Dashboard_vSphereDS-1024x463.png" alt="" class="wp-image-2401" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_6_WebReport_Dashboard_vSphereDS-1024x463.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_6_WebReport_Dashboard_vSphereDS-300x136.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_6_WebReport_Dashboard_vSphereDS-768x347.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_6_WebReport_Dashboard_vSphereDS-1536x695.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_6_WebReport_Dashboard_vSphereDS.png 1917w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Que dire de plus. <a href="https://www.youtube.com/watch?v=bVrulTsu2S8&amp;ab_channel=InaChansons">C&rsquo;est merveilleux, c&rsquo;est extra !</a></p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-7 kt-pane2214_b70069-38"><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">7- vSphere VMs</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>J&rsquo;ai l&rsquo;impression de me répéter&#8230; Après les datastores et la partie hosts &amp; clusters, maintenant c&rsquo;est au tour des virtuals machines.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="463" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_7_WebReport_Dashboard_vSphereVMs-1024x463.png" alt="" class="wp-image-2402" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_7_WebReport_Dashboard_vSphereVMs-1024x463.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_7_WebReport_Dashboard_vSphereVMs-300x136.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_7_WebReport_Dashboard_vSphereVMs-768x347.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_7_WebReport_Dashboard_vSphereVMs-1536x695.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_7_WebReport_Dashboard_vSphereVMs.png 1917w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Cette fenêtre permet d&rsquo;identifier assez rapidement si une VMs nécessite l&rsquo;ajout de ressources supplémentaires ou une surallocation. Elle permet également dans un certain contexte d&rsquo;orienter un potentiel dysfonctionnement de type hardware, ou software (mauvaise configuration d&rsquo;une application métier par exemple comme ça au hasard).</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-8 kt-pane2214_9ed78e-f8"><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">8 &#8211; vSphere Infrastructure</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>De nouveau un petit coup de pouce sur les ressources disponibles et sur les ressources consommées.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="463" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_8_WebReport_Dashboard_vSphereInfrastructures-1024x463.png" alt="" class="wp-image-2403" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_8_WebReport_Dashboard_vSphereInfrastructures-1024x463.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_8_WebReport_Dashboard_vSphereInfrastructures-300x136.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_8_WebReport_Dashboard_vSphereInfrastructures-768x347.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_8_WebReport_Dashboard_vSphereInfrastructures-1536x695.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_8_WebReport_Dashboard_vSphereInfrastructures.png 1917w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Parfait pour éviter l&rsquo;overprovisionning, le balloning 🙂</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-9 kt-pane2214_d9a56b-71"><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">9 &#8211; vSphere Capacity Planning</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>La vue crainte par les SysAdmins, DSI et DAF. </p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="464" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_9_WebReport_Dashboard_vSphereCPlannning-1024x464.png" alt="" class="wp-image-2404" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_9_WebReport_Dashboard_vSphereCPlannning-1024x464.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_9_WebReport_Dashboard_vSphereCPlannning-300x136.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_9_WebReport_Dashboard_vSphereCPlannning-768x348.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_9_WebReport_Dashboard_vSphereCPlannning-1536x695.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_040_9_WebReport_Dashboard_vSphereCPlannning.png 1917w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Cela correspond à partir des tendances d&rsquo;usage en une projection de la durée de vie de l&rsquo;infrastructure et donc de son renouvellement ou de sa consolidation en ajoutant des ressources supplémentaires.</p>



<p>En gros :</p>



<p>Exprimer le besoin, Présenter le devis, Faire valider l&rsquo;investissement, Obtenir le chèque signé, Mettre en production les ressources. Simple non ? :p</p>
</div></div></div>
</div></div></div>



<p></p>



<p>Pour le reste, il suffit d&rsquo;un peu d&rsquo;imagination et d&rsquo;établir les métriques que l&rsquo;on souhaite obtenir et pourquoi pas générer les rapports et se les faire envoyer dans notre boite mail ?</p>



<p>Le conseil que je donnerai, c&rsquo;est de se perdre dans le choix des possibles qu&rsquo;offre VEEAMOne et de garder en tête « <strong>Est ce que cela m&rsquo;apporte une valeur ajoutée business et technique ?</strong>« . Si c&rsquo;est le cas alors vous êtes, nous sommes sur la bonne voie 🙂</p>



<h4 class="wp-block-heading">Report</h4>



<p>La fonctionnalité du Report et de générer des rapports. Merci Capt&rsquo;aine Obvious&#8230;</p>



<p>Oooooh ba si on ne peut plus rigoler&#8230; Pour faire simple nous allons être dans la capacité de générer des rapports précis sur des thématiques précises :</p>



<ul class="wp-block-list">
<li>Charge de l&rsquo;infrastructure</li>



<li>Facturation VEEAM Backup</li>



<li>Supervision VEEAM Backup</li>



<li>Optimisation vSphere</li>



<li>Capacity Planning</li>



<li>&#8230;</li>
</ul>



<p>Il suffit de regarde l&rsquo;interface.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="516" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_042_WebReport_ReportView-1024x516.png" alt="" class="wp-image-2412" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_042_WebReport_ReportView-1024x516.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_042_WebReport_ReportView-300x151.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_042_WebReport_ReportView-768x387.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_042_WebReport_ReportView-1536x774.png 1536w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_042_WebReport_ReportView.png 1883w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Prenons deux exemples. L&rsquo;un orienté pour le business et l&rsquo;autre pour la technique.</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2214_faab50-3b kt-accordion-has-2-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-pane2214_79038a-95"><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; Business &#8211; Facturation VEEAM Backup</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>Admettons que nous souhaitons vérifier ce que nous devrions facturer à un client des bulles T0 et T1 mensuellement. Et que le cout de la sauvegarde est de 24,79€ du TB.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="712" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_043_WebReport_biliing-1024x712.png" alt="" class="wp-image-2414" style="width:696px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_043_WebReport_biliing-1024x712.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_043_WebReport_biliing-300x209.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_043_WebReport_biliing-768x534.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_043_WebReport_biliing.png 1145w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Nous configurons les paramètres en sélectionnant nos différents tags T0 et T1 ainsi que les jobs concernés. Nous précisons la période sur le mois en cours. Puis nous cliquons sur Preview en haut à gauche.</p>



<p>Et tadam ! Voilà notre rapport (sur deux pages).</p>



<figure class="wp-block-table aligncenter"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-center" data-align="center">Page 1</td><td class="has-text-align-center" data-align="center">Page 2</td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="400" height="308" class="wp-image-2415" style="width: 400px;" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_043_2_WebReport_biliing.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_043_2_WebReport_biliing.png 891w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_043_2_WebReport_biliing-300x231.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_043_2_WebReport_biliing-768x590.png 768w" sizes="auto, (max-width: 400px) 100vw, 400px" /></td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="400" height="411" class="wp-image-2416" style="width: 400px;" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_043_3_WebReport_biliing.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_043_3_WebReport_biliing.png 880w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_043_3_WebReport_biliing-292x300.png 292w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_043_3_WebReport_biliing-768x789.png 768w" sizes="auto, (max-width: 400px) 100vw, 400px" /></td></tr></tbody></table></figure>



<p>Franchement, que demander de plus ? Nous avons même inclus le cout de notre repository (multipliant le cout par 4). Et nous voilà avec le cout pour le mois en cours. A oui nous sommes le 01 Octobre&#8230;. J&rsquo;ai peut-être eu la main lourde sur le prix unitaire au TB 🙂</p>



<p>Bref, pas mal pour mettre en évidence le ROI<sup data-fn="c7fdf8d1-e2ca-4074-99db-c51fa1d624be" class="fn"><a href="#c7fdf8d1-e2ca-4074-99db-c51fa1d624be" id="c7fdf8d1-e2ca-4074-99db-c51fa1d624be-link">12</a></sup> &lt;3</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2214_6d507c-16"><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; Technique &#8211; Surdimensionnement des VMs </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 allons vérifier par le biais d&rsquo;un rapport que nos ressources allouées sur notre infrastructure ne sont pas sous/surprovisonnées. Dans le cas contraire, il faudra engager ou non des actions.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="861" height="588" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_WebReport_Oversized.png" alt="" class="wp-image-2417" style="width:577px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_WebReport_Oversized.png 861w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_WebReport_Oversized-300x205.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_WebReport_Oversized-768x524.png 768w" sizes="auto, (max-width: 861px) 100vw, 861px" /></figure>
</div>


<p>On valide une nouvelle fois sur Preview, puis on tourne trois fois sur sa chaise de bureau.</p>



<p></p>



<figure class="wp-block-table aligncenter"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-center" data-align="center">Page 1</td><td class="has-text-align-center" data-align="center">Page 2</td><td class="has-text-align-center" data-align="center">Page 3</td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="350" height="199" class="wp-image-2418" style="width: 350px;" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_1_WebReport_Oversized.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_1_WebReport_Oversized.png 1216w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_1_WebReport_Oversized-300x171.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_1_WebReport_Oversized-1024x583.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_1_WebReport_Oversized-768x437.png 768w" sizes="auto, (max-width: 350px) 100vw, 350px" /></td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="350" height="125" class="wp-image-2419" style="width: 350px;" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_2_WebReport_Oversized.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_2_WebReport_Oversized.png 1212w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_2_WebReport_Oversized-300x107.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_2_WebReport_Oversized-1024x365.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_2_WebReport_Oversized-768x274.png 768w" sizes="auto, (max-width: 350px) 100vw, 350px" /></td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="350" height="129" class="wp-image-2420" style="width: 350px;" src="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_3_WebReport_Oversized.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_3_WebReport_Oversized.png 1210w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_3_WebReport_Oversized-300x111.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_3_WebReport_Oversized-1024x378.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/07/AP_009_044_3_WebReport_Oversized-768x284.png 768w" sizes="auto, (max-width: 350px) 100vw, 350px" /></td></tr></tbody></table></figure>



<p>Alors c&rsquo;est super nous pouvons faire des économies en réduisant considérablement les ressources ! </p>



<p class="has-text-align-center"><strong>Tout doux bijoux !</strong></p>



<p class="has-text-align-left">Ce ne sont que des recommandations, il ne faut pas prendre tout pour argent comptant. L&rsquo;évaluation est une moyenne et viens prendre en compte les piques de suractivités. Mais ce n&rsquo;est pas pour autant qu&rsquo;il ne faut pas réfléchir. Dans le cas de mon lab, les ressources se (je ne sais pas si je peux me permettre cette expression&#8230; Allez&#8230; Vous ferez mon procès ultérieurement) touchent ! Mais si nous ciblons une heure bien précise (genre sauvegarde par exemple) les recommandations ne seront pas les mêmes. Il est également important de bien faire attention au paramètre de génération du rapport.</p>



<p>Le rapport sera différent si nous considérons le compteur de vRAM en « Active » et « Consumed ».</p>
</div></div></div>
</div></div></div>



<p></p>



<p>Pourquoi avoir pris ces deux exemples ? Tout simplement pour montrer la dimension économique et technique de la supervision. Dans un monde de brut où nous licencions au vCPU, il est important de maitriser l&rsquo;allocation des ressources. Il est également important de ne pas mettre en péril son organisation quant à la sauvegarde vis à vis de son activité tout comme mettre celle-ci en péril parce que cette dernière représente un cout certain.</p>



<p>Dans un contexte particulier de Service Provider (Fournisseur de Service), il est également important d&rsquo;avoir un curseur le plus juste possible entre la facturation client et le service délivré sans offrir des ressources sans le vouloir et vendre à perte.</p>



<p>Les rapports, c&rsquo;est la vie.</p>



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



<p>La supervision et l&rsquo;ensemble des outils qui sont mis à disposition par VEEAMOne permettent d&rsquo;unifier et de rendre la Technique au service de l&rsquo;administration et de la stratégie financière. Une telle synergie ne doit pas être négligée et doit être mis en place.</p>



<p>De par mon expérience de responsable informatique auprès des clients que j&rsquo;ai accompagnés, l&rsquo;informatique et la gestion du SI sont toujours trop onéreux. Menant souvent à l&rsquo;accumulation à terme d&rsquo;une dette technique conséquente qui devra être acquitter plus tard. L&rsquo;erreur qui est faite à ce moment par le responsable informatique est de ne pas avoir présenté les choses sous le bon angle. </p>



<p class="has-text-align-center"><strong>Mais alors qu&rsquo;est ce que le bon angle pour éviter la traditionnelle tragédie racinienne ou choix cornélien ?</strong></p>



<p>Je pense que pour répondre à cette question, il faut que le Responsable Informatique prenne de la hauteur pour présenter le SI sans aborder de terme technique pour commencer et présenter des métriques ainsi que des projections sur l&rsquo;évolution du SI.</p>



<p><em>Je fais un aparté, sans déco**é une fois, j&rsquo;ai un DG qui a explosé en réunion à la suite de la prononciation du mot <strong>switch</strong> xD. La personne qui avait énuméré le mot a dû donner une définition. Chose qu&rsquo;il a fait en parlant de commutateur&#8230; Le DG a explosé de nouveau. Mon collègue à côté fini par intervenir (avant un nouvelle intervention de la personne en interne) en expliquant « c&rsquo;est une multiprise réseaux ». Le DG a compris sans problème. 🙂 Aparté terminé.</em></p>



<p>De rapprocher ce dernier sur l&rsquo;activité de l&rsquo;organisation et de définir les axes d&rsquo;évolutions possibles. Un plus serait de soutenir un budget prévisionnel ainsi qu&rsquo;un plan d&rsquo;amortissement. Présenter de cette façon en tenant compte du besoin et de l&rsquo;activité de l&rsquo;organisation va faciliter les décisions et permettre à la direction d&rsquo;avoir une vision claire de son informatique. Mais pour en arriver là, il est nécessaire de savoir ce que nous souhaitons surveiller et interpréter. N&rsquo;oublions pas que si les diseuses de bonnes aventures lisent dans les boules de cristal, les membres de la direction lisent dans les fichiers excels et les SysAdmins dans les logs. &lt;3</p>



<p>Je pense qu&rsquo;il est donc primordiale d&rsquo;utiliser VEEAMOne (non je n&rsquo;ai toujours pas d&rsquo;action chez VEEAM) pour répondre aux besoins du quotidien d&rsquo;un SysAdmin ainsi que pour la stratégie d&rsquo;une organisation. Il faut cependant de la rigueur et ne pas se disperser dans les catégorisations et l&rsquo;élaboration des rapports. L&rsquo;objectif étant de maitriser son SI, se prémunir des pannes et de garantir une stratégie d&rsquo;investissement financier.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>VEEAM ? One ! Raviolis ? Je relance avec une requête CIM. Je contre avec un arbre ! Dommage, il y avait un DAF en diagonal. Aïe Aïe Aïe, votre SI va chercher son solde de tout compte. Mais vous gagnez un pins de Marlène SCHIAPPA. Alors heureux ?</em></p>
<cite>Erwan GUILLEMARD</cite></blockquote>



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



<ul class="wp-block-list">
<li><a href="https://helpcenter.veeam.com/docs/one/deployment/about.html?ver=120">VEEAM One : Guide</a></li>



<li><a href="https://helpcenter.veeam.com/docs/one/deployment/ports.html?ver=120">VEEAM One : Guide &#8211; Ports</a></li>



<li><a href="https://helpcenter.veeam.com/docs/one/deployment/supported_platforms.html?ver=120">VEEAM One : Supported Virtualization Platforms</a></li>



<li><a href="https://helpcenter.veeam.com/docs/one/deployment/integration_with_vbr.html?ver=120">VEEAM One : Supported VEEAM BR</a></li>



<li><a href="https://helpcenter.veeam.com/docs/one/deployment/system_requirements.html?ver=120">VEEAM One : Supported System</a></li>



<li><a href="https://helpcenter.veeam.com/docs/one/deployment/requirements.html?ver=120">VEEAM One : Sizing</a></li>



<li><a href="https://www.combodo.com/itop">ITOP</a></li>



<li><a href="https://www.robware.net/">RVTOOLS</a></li>
</ul>


<ol class="wp-block-footnotes"><li id="f06205f4-5aa7-41f6-ad2f-a0700244a619"><strong>MO</strong> <strong>:</strong> Mode Opératoire <a href="#f06205f4-5aa7-41f6-ad2f-a0700244a619-link" aria-label="Aller à la note de bas de page 1">↩︎</a></li><li id="6c5e019d-9bd7-488f-a99c-94a276a87a42"><strong>VBR : </strong>VEEAM Backup et Réplication <a href="#6c5e019d-9bd7-488f-a99c-94a276a87a42-link" aria-label="Aller à la note de bas de page 2">↩︎</a></li><li id="e2646e5b-baaf-473d-b129-d2ce9a62c9bc"><strong>VCC :</strong> VEEAM CloudConnect <a href="#e2646e5b-baaf-473d-b129-d2ce9a62c9bc-link" aria-label="Aller à la note de bas de page 3">↩︎</a></li><li id="dfdd2de5-6caa-4ca5-b9de-f8668765a621"><strong>VCSA</strong> : VCenter Server Appliance <a href="#dfdd2de5-6caa-4ca5-b9de-f8668765a621-link" aria-label="Aller à la note de bas de page 4">↩︎</a></li><li id="97d37c9d-5bb7-4bcb-a6f4-d4c3276e8b40"><strong>RTFM : </strong>Read The Fucking Manual (please 🙂 ) <a href="#97d37c9d-5bb7-4bcb-a6f4-d4c3276e8b40-link" aria-label="Aller à la note de bas de page 5">↩︎</a></li><li id="418f9970-4de2-4a8c-8125-451c42d430e8"><strong>RBAC :</strong> Role Based Access Control <a href="#418f9970-4de2-4a8c-8125-451c42d430e8-link" aria-label="Aller à la note de bas de page 6">↩︎</a></li><li id="95c79d00-006e-451e-8bff-c3326dcebb69"><strong>ESXi</strong> : Elastic Sky X Integrated <a href="#95c79d00-006e-451e-8bff-c3326dcebb69-link" aria-label="Aller à la note de bas de page 7">↩︎</a></li><li id="2744af2e-fbb4-47dd-9745-c0bdb6873d2f"><strong>IHM</strong> : Interface Homme Machine <a href="#2744af2e-fbb4-47dd-9745-c0bdb6873d2f-link" aria-label="Aller à la note de bas de page 8">↩︎</a></li><li id="6ade8182-4ad8-4fc4-9d28-0e5670bac72b"><strong>SNMP</strong> : Simple Network Management Protocol <a href="#6ade8182-4ad8-4fc4-9d28-0e5670bac72b-link" aria-label="Aller à la note de bas de page 9">↩︎</a></li><li id="9b132b0b-6461-4936-aeb2-ef4e3e13fe74"><strong>ITSM</strong> : Information Technology Service Management  <a href="#9b132b0b-6461-4936-aeb2-ef4e3e13fe74-link" aria-label="Aller à la note de bas de page 10">↩︎</a></li><li id="704024f1-a815-4874-93a2-bd1adca7cb93"><strong>API </strong>: Application Programming Interface <a href="#704024f1-a815-4874-93a2-bd1adca7cb93-link" aria-label="Aller à la note de bas de page 11">↩︎</a></li><li id="c7fdf8d1-e2ca-4074-99db-c51fa1d624be"><strong>ROI</strong> : Return On Investisment <a href="#c7fdf8d1-e2ca-4074-99db-c51fa1d624be-link" aria-label="Aller à la note de bas de page 12">↩︎</a></li></ol>


<p style="font-size:3px"><em>À L.LU , mon étoile, le plus parfait des sciences.</em></p>
]]></content:encoded>
					
		
		
			</item>
		<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 loading="lazy" 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="auto, (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 loading="lazy" 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="auto, (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 loading="lazy" 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="auto, (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>
		<item>
		<title>Apps &#8211; VEEAM Repo &#038; Backup Hardened</title>
		<link>https://erwanguillemard.com/apps-veeam-repo-backup-hardened/</link>
		
		<dc:creator><![CDATA[Erwan Guillemard]]></dc:creator>
		<pubDate>Mon, 17 Jun 2024 19:56:42 +0000</pubDate>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[Securité]]></category>
		<category><![CDATA[VEEAM]]></category>
		<guid isPermaLink="false">https://erwanguillemard.com/?p=2111</guid>

					<description><![CDATA[Hardened, un bien vilain mot qui pourtant nous veux du bien. L&#8217;une des traductions littérales serait « endurcie ». Néanmoins nous interpréterons celui-ci sous le sens « d&#8217;immuable ». Si hardened est un bien vilain mot, immuable ne vaut pas mieux. Et à chaque fois que j&#8217;ai évoqué ces termes à quelqu&#8217;un j&#8217;ai dû donner une définition. Qui demeure...]]></description>
										<content:encoded><![CDATA[
<p>Hardened, un bien vilain mot qui pourtant nous veux du bien. L&rsquo;une des traductions littérales serait « endurcie ». Néanmoins nous interpréterons celui-ci sous le sens « d&rsquo;immuable ».</p>



<p>Si hardened est un bien vilain mot, immuable ne vaut pas mieux. Et à chaque fois que j&rsquo;ai évoqué ces termes à quelqu&rsquo;un j&rsquo;ai dû donner une définition.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>Qui demeure inchangé, ne subit pas ou ne paraît pas subir de modification pendant un temps relativement long</em></p>
<cite>Dictionnaire Larousse</cite></blockquote>



<p>Le titre de ce billet ainsi que les multiples appels du pied du précédent article technique sur VEEAM, ne laisse pas de doute quant au fil conducteur de ce feuillet technique.</p>



<p>Nous aborderons ici la sauvegarde dit immuable ou inaltérable pour répondre à l&rsquo;un des bonnes pratiques et recommandations de la sauvegarde.</p>





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



<ul class="wp-block-list">
<li><strong>SE :</strong> Ubuntu Server 20.04 LTS</li>



<li><strong>Apps : </strong>VEEAM B&amp;R 12.1</li>



<li><strong>Autres : </strong>
<ul class="wp-block-list">
<li><a href="https://erwanguillemard.com/linux/">Environnement GNU LINUX Durci</a></li>



<li><a href="https://erwanguillemard.com/windows-veeam-backup-replication/">VEEAM B&amp;R 12.1</a></li>
</ul>
</li>
</ul>



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



<p>Le pourquoi du comment de la sauvegarde Immuable ou Hardened vient d&rsquo;un constat. Avec l&rsquo;évolution depuis 2015 des virus de nature cryptographique, les attaquants ne s&rsquo;amusent plus à effacer toutes traces d&rsquo;un SI (car c&rsquo;est moins drôle de nous jours ce coup de HOCUS, POCUS) mais de chiffrer ce dernier de virer les sauvegardes et de tenir une situation de prise d&rsquo;otage (sans permettre un syndrome de Stockholm) et de chantage à divulguer les données d&rsquo;entreprise sur le Dark &amp; Deep Web. Toutefois, les rançons demandées dans la grande majorité des cas sont indexées sur le CA des sociétés piègés ou de la nature critique des données extorquées&#8230;</p>



<p>Alors il y a bien des techniques, mécanismes pour assurer une sauvegarde hors ligne. L&rsquo;une des plus vieilles à ma connaissance reste la sauvegarde sur bande (Tape). Même si cette dernière comme le langage <a href="https://fr.wikipedia.org/wiki/Cobol">COBOL</a> était amené à mourir car dépassé par notre évolution technologique. Force est de constatée, que cette technologie reste l&rsquo;un des mécanismes fiables pour assurer une sauvegarde hors ligne. Il y a bien la sauvegarde sur média externe (pour ne pas dire HDD) qui fonctionne très bien. Mais ce genre de solution, voyez vous, ça rentre parfaitement dans le cadre d&rsquo;une PME ou d&rsquo;un SI local (pour ne pas dire OnPremise) qui n&rsquo;a pas un SI avec des fluctuations de stockage à la hausse. Pour résumer, comment assurer la sauvegarde déconnecté dans un datacenter ou une infrastructure qui peut être amené à grossir rapidement ?</p>



<p>Je vois (c&rsquo;est mon point de vu. Si vous n&rsquo;êtes pas d&rsquo;accord, je suis prêt à échanger sur le sujet) les avantages et inconvénients suivants :</p>



<figure class="wp-block-table"><table><tbody><tr><td class="has-text-align-center" data-align="center"></td><td>Tapes Serveur</td><td>USB External Drive</td><td>Repo Hardened</td></tr><tr><td class="has-text-align-center" data-align="center">Avantages</td><td>* Performances importantes<br>* Difficiles à exploiter sans lecteur<br></td><td>* Moindre cout<br>* Facile à exploiter en cas de sinistre<br>* Facilement évolutif</td><td>* Cout raisonnable<br>* Basée sur une technologie libre<br>* Maitrise des couts<br>* Difficilement exploitable en cas de vol ou d&rsquo;intrusion<br>* Facilement évolutif</td></tr><tr><td class="has-text-align-center" data-align="center">Inconvénients</td><td>* Cout du robot de sauvegarde<br>* Cout des bandes<br>* Penser à changer les bandes (si pas de robot rotatif)<br>* Limiter au nombre de bande<br>* Penser à stocker le média dans un lieu sûr<br>* Changement de robot, peut entrainer le changement des bandes ($$$)<br>* Difficilement évolutif</td><td>* Penser à changer le média physiquement<br>* Penser à stocker le média dans un lieu sûr<br>* Performances limités<br>* Facile à exploiter si les données ne sont pas chiffrées<br></td><td>* Serveur Physique dédié<br>* Compétences en Linux ++ (pour faire les choses bien)<br>* Equipement jamais vraiment déconnecté du SI<br><br><br></td></tr></tbody></table></figure>



<p class="has-text-align-center"><strong>« Ouai mais qu&rsquo;est ce que tu fais du Stockage Objet, des buckets toussa toussa ? C&rsquo;est bien inaltérable non ? »</strong></p>



<p>Oui et non. Je n&rsquo;ai pas encore eu le loisir de jouer avec les stockages objets S3 ou d&rsquo;autres technologies qui se base sur ce standard. Avant toutes choses, il est je pense important de se poser la question de la nature des données que nous souhaitons sauvegarder. Il y a des avantages et des inconvénients au type de sauvegarde en blocks et objets. Certains types de données sont plus favorables à l&rsquo;un ou l&rsquo;autre des technologies de sauvegarde. Bref, spoiler c&rsquo;est un billet en réflexion et sur lequel je me dois de me motiver (à coup de grand coup de pied au c*l car je suis à <a href="https://www.youtube.com/watch?v=a_oOPYvGzN8&amp;ab_channel=Hubert-F%C3%A9lixThi%C3%A9faine-Topic">l&rsquo;ouest du néant</a> en ce moment).</p>



<p>Bref, si nous rattrapons notre fil d&rsquo;ariane, je vois dans une cloud privé un facilité à choisir la sauvegarde hardened sur un serveur dédié. Si le SI augmente et que nous devons ajouter des ressources des nœuds supplémentaires, j&rsquo;ajoute un nouveau repo. Si mon SI diminue, je recycle mon serveur de repository pour un autre usage. Seul hic, cela demande de bonnes compétences en GNU/LINUX (mais cela est il vraiment un frein ? Les compétences ça s&rsquo;acquiert non 🙂 ).</p>



<figure class="wp-block-table"><table><tbody><tr><td><strong>/!\ Attention /!\</strong><br>Je traiterai de la sauvegarde sur média USB dans un article futur (et encore c&rsquo;est pas super complexe) ou pas.<br>Je n&rsquo;ai jamais « joué » avec un serveur de bandes que ce soit dans le monde professionnel (oui j&rsquo;ai le malheurs d&rsquo;être un de ces milléniales des 90&rsquo;s qui est considéré comme un petit jeune/c*n par la génération 80&rsquo;s et un <em>has been</em> / <em>never been</em> par la génération 2000&#8230;) car plus présent lors de mon arrivée dans le milieu de l&rsquo;IT. Ni dans le monde personnel car pour le coup si je monte sur mon lab un robot de sauvegarde à bandes, je suis certains que je vais en entendre parler un moment&#8230;<br>Mais je suis preneur si l&rsquo;occasion se présente de plonger tête la première dans la techno.</td></tr></tbody></table></figure>



<p>Pour ce billet, je vais tricher un peu. N&rsquo;ayant pas de repo physique sur mon lab (et que mon lab tiens à mon poste perso), nous partirons d&rsquo;un serveur virtuel qui « jouera » le rôle de notre repo physique.</p>



<p>Ce dernier sera sur un SE<sup data-fn="c69c2835-a941-45dd-ba6c-71392873daa8" class="fn"><a href="#c69c2835-a941-45dd-ba6c-71392873daa8" id="c69c2835-a941-45dd-ba6c-71392873daa8-link">1</a></sup>, Ubuntu Server 20.04 LTS<sup data-fn="c5ab9c8c-0307-4b61-83b5-82041447e886" class="fn"><a href="#c5ab9c8c-0307-4b61-83b5-82041447e886" id="c5ab9c8c-0307-4b61-83b5-82041447e886-link">2</a></sup> durci préalablement selon le guide de recommandation de l&rsquo;ANSSI<sup data-fn="c7bb64ce-4db6-48ca-866d-f856e977c1a1" class="fn"><a href="#c7bb64ce-4db6-48ca-866d-f856e977c1a1" id="c7bb64ce-4db6-48ca-866d-f856e977c1a1-link">3</a></sup>. Un disque pour la sauvegarde est dédié, monté et formaté en XFS<sup data-fn="58bbf35d-a51b-4ba9-937a-d58393f894bc" class="fn"><a href="#58bbf35d-a51b-4ba9-937a-d58393f894bc" id="58bbf35d-a51b-4ba9-937a-d58393f894bc-link">4</a></sup>.</p>



<p class="has-text-align-center"><strong>Euh Question M&rsquo;sieur GUIGUI ! Toi qui nous rabache du RHEL matin, midi et soir. Pourquoi d&rsquo;un coup tu pars sur un Ubuntu ? Ca t&rsquo;a pris comme un envie de ch**r de changer de distrib ?</strong></p>



<p>A cette question, je répondrai tendrement qu&rsquo;il s&rsquo;agit simplement et tout bonnement des prérequis de l&rsquo;éditeur VEEAM. Sinon, la question n&rsquo;aurait pas eu lieu :rhel: (pour ceux qui ont connu le <a href="https://jvflux.fr/Noelisme">:noel:</a> ).</p>



<p>Fin de l&rsquo;avant propos, place à la lecture du menu avant de mettre un coup de fourchette.</p>



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



<p>Attaquons donc ce menu qui nous fait tant de l&rsquo;oeil. La première question que nous nous devons de poser est « Qu&rsquo;est ce que l&rsquo;immuabilité ? » et la seconde question, « Comment fonctionne t&rsquo;elle ? »</p>



<h3 class="wp-block-heading">Introduction à l&rsquo; i-mmuabilité</h3>



<p>L&rsquo;immuabilité au sens UNIX du texte existe depuis le 16 Janvier 1996. Cette commande est présente dans le paquet E2fsprogs de la release 1.02. (Si je me fourvoie, merci de me le dire car j&rsquo;ai du mal à trouver l&rsquo;histoire de cette dernière&#8230;).</p>



<p>Cette commande permet de définir des attributs complémentaires sur les systèmes de fichiers dont notamment l&rsquo;immuabilité des fichiers.</p>



<p>Pour manipuler ces attributs, nous pouvons utiliser l&rsquo;ensemble des commandes suivantes :</p>



<ul class="wp-block-list">
<li>chattr</li>



<li>lsattr</li>



<li>getattr</li>



<li>setxattr</li>
</ul>



<p>Observons ci dessous l&rsquo;ensemble des commandes suivantes :</p>



<pre class="wp-block-code"><code><strong>$ sudo chattr +i test.txt
$ sudo lsattr test.txt
$ sudo rm -Rf test.txt
$ sudo chattr -i test.txt
$ sudo lsattr test.txt
$ sudo rm -Rf test.txt</strong></code></pre>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="698" height="258" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_017_Immu_chattr.png" alt="" class="wp-image-2145" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_017_Immu_chattr.png 698w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_017_Immu_chattr-300x111.png 300w" sizes="auto, (max-width: 698px) 100vw, 698px" /></figure>
</div>


<p>J&rsquo;ai appliqué l&rsquo;attribut d&rsquo;immutabilité sur le fichier test.txt et surprise, même en élevant mes droits, je ne suis pas autorisé à supprimer le document. Cela ne sera possible qu&rsquo;en retirant l&rsquo;attribut. Nous tenons le début de notre mécanisme.</p>



<p><em>Ouvrez le GUILLEMARD </em>« </p>



<p><em>Je pense après une courte nuit de réflexion que je dédierai un article sur les attributs étendus car il y a énormément de matière sur le sujet. De plus, j&rsquo;ai ouvert the <a href="https://www.jeuxvideo.com/wikis-soluce-astuces/cheat-codes/235924">PANDORAS BOX</a> (toi aussi <a href="https://www.youtube.com/watch?v=_iq43Vs8CEw&amp;ab_channel=L%C3%A9oFerr%C3%A9">tu te souviens des jours anciens</a> des LANs sur AoM ? Petit canaillou de cheater va) et je me dois de boire jusqu&rsquo;à la lie ce module et l&rsquo;éventail des fonctionnalités qu&rsquo;il propose.</em></p>



<p>« <em> Fermez le GUILLEMARD </em></p>



<p>Mais alors comment cette fonctionnalité va t-elle être pilotée par notre serveur VEEAM ?</p>



<h3 class="wp-block-heading">V-immutability-M</h3>



<p>Là deux possibilités. Either you speak and read english and you can directly jump to the <a href="https://helpcenter.veeam.com/docs/backup/vsphere/hardened_repository_immutability.html?ver=120">Veeam hardened guide</a>. Ou alors on peut regarder ensemble ma compréhension du sujet.</p>



<p>Après tout, je n&rsquo;ai eu que 5/20 au BAC en LV1 Anglais, ça promet d&rsquo;être sympa 🙂 (Si si et j&rsquo;ai même pas été au rattrapage ! <a href="https://www.youtube.com/watch?v=ZAcvuP7UpL0&amp;ab_channel=MrToonfish">Et il est content</a>&#8230;)</p>



<p>Bref, nous verrons plus bas lors du déploiement que lorsque nous ajoutons notre Serveur Ubuntu en tant que Single Use Credential nous allons déployer les rôles :</p>



<ul class="wp-block-list">
<li><strong>Transport</strong> : (veeamtransport) pour le service datamover (port tcp/6162)</li>



<li><strong>Installer</strong> : (veeamdeploymentsvc) pour déployer l&rsquo;ensemble des composants et permettre de maintenir à jour les différents composants (ports tcp/2500</li>
</ul>



<p>Toutefois, c&rsquo;est lorsque nous déclarerons notre repository en tant que Hardened repository que cela va devenir intéressant. Car c&rsquo;est à ce moment que nous allons définir les paramètres de gestion de l&rsquo;immuabilité sur une période minimum de 7 jours (promis je reviendrai un jour sur la magie du nombre 7). Bref une fois configuré, voilà les services les plus importants.</p>



<ul class="wp-block-list">
<li><strong>VEEAM Data Mover</strong> : Ces ce dernier qui va communiquer avec notre serveur VEEAM et récupérer les paramètres de temps quant aux datas qui doivent être inaltérables. Une fois les informations en sa possession, il réalise une passe décisive au service ci dessous VEEAM Immutability Service (veeamimmureposvc), comme la passe décisive de Djorkaeff à Thuram à la 47eme minutes du match France-Croatie en 1998 (<a href="https://www.youtube.com/watch?v=91k5OTiKjAg&amp;ab_channel=FunkyMiK">Souviens toi du 12 Juillet 1998 !</a>).</li>



<li><strong>VEEAM Immutability Service</strong> : <a href="https://www.youtube.com/watch?v=0zqwMf_VDbU&amp;ab_channel=LesGuignols">Va aller mettre une patate à Jean-Pierre</a>&#8230; Promis j&rsquo;arrête, Bah Pourquoi ?&#8230; Tu vas la fermer ta grande gu***e !! Ce service va vérifier sur les chaque fichiers de backup toutes les 20 minutes les attributs immuables jusqu&rsquo;à ce que le date de fin soit atteinte. Ce service est un sous service de VEEAM Data Mover.</li>
</ul>



<p>A partir de la version 12.1.0.2131, le mécanisme change avec un control, détection sur un potentiel décalage de temps.</p>



<p>Lorsque le VEEAM Immutability Service démarre, un fichier <strong>timeLog</strong> va être créé sous <strong>/etc/veeam/immureposvc/</strong>. Ce fichier sera mis à jour toutes les 10 minutes.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="741" height="79" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_019_Immu_timeLog.png" alt="" class="wp-image-2151" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_019_Immu_timeLog.png 741w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_019_Immu_timeLog-300x32.png 300w" sizes="auto, (max-width: 741px) 100vw, 741px" /></figure>
</div>


<p>Oui mais que se passerai t-il si la valeur du moveTime ou accelerationTime dépasse 24 heures ?</p>



<p>Par sécurité, les données relatifs aux opérations de rétentions seront bloqués. Un message d&rsquo;avertissement remontera dans la session du job de sauvegarde. Ce qui est rassurant. Oui mais voilà, comment j&rsquo;unlock la situation ? Ba en suivant le <a href="https://www.veeam.com/kb4482">KB</a> mon gars&#8230;</p>



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



<p>Dans les recommandations et l&rsquo;un des prérequis de l&rsquo;implémentation d&rsquo;un repository hardened est d&rsquo;avoir un équipement dédié sans surcouche de virtualisation. Nous parlons donc de serveur et non pas d&rsquo;hyperviseur.</p>



<p>En dehors des bonnes pratiques de configuration d&rsquo;un serveur, je ne m&rsquo;intéresserai qu&rsquo;à la partie réseau. La configuration de la partie ILO/IDRAC/IPMI ne sera pas abordée. Pourquoi ? car je n&rsquo;en ai pas envie et surtout je n&rsquo;ai pas les moyens de le mettre en œuvre sur mon lab. Peut être un jour dans un autre article.</p>



<p>Au vu de la criticité de ce que nous souhaitons mettre en place, il nous faut dissocier la partie management de la partie sauvegarde.</p>



<p>Avec des équipements d&rsquo;infrastructures adéquates et selon la volumétrie de datas à sauvegarder, l&rsquo;agrégation d&rsquo;interfaces est nécessaire. Au minima SFP+<sup data-fn="3b6c0862-32cf-4554-ac0a-e9cfe2377193" class="fn"><a href="#3b6c0862-32cf-4554-ac0a-e9cfe2377193" id="3b6c0862-32cf-4554-ac0a-e9cfe2377193-link">5</a></sup>, au maximum FC<sup data-fn="cc7945a0-53b5-45d9-8bac-c78a1fd6053a" class="fn"><a href="#cc7945a0-53b5-45d9-8bac-c78a1fd6053a" id="cc7945a0-53b5-45d9-8bac-c78a1fd6053a-link">6</a></sup>. Assurer les performances réseaux sont un fait, toutefois si le stockage ne suit pas et génère un goulot d&rsquo;étranglement (bolteneck), cela ne sert pas à grand chose.</p>


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


<h4 class="wp-block-heading">Réseau</h4>



<p>Bien entendu, si notre Firewall gère les liaisons supérieurs à 1 Gbits/s, il y a un intérêt de faire un VLAN dédié à l&rsquo;immuabilité dissocié de la sauvegarde. Dans le cas contraire et assurer de bonne performance, il conviendra de rester dans le même subnet et de passer par commutation.</p>



<p>Encore une fois, si nous avons de la micro segmentation, cela facilitera grandement les choses sur un même subnet. Dans le cas contraire, il sera nécessaire de définir les règles côté repo selon les interfaces, sources et destinations avec les ports et protocoles autorisées à transiter.</p>



<p>Lors de la configuration du repository et donc sans restriction les flux réseaux sont les suivants :</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="606" height="239" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_027_Immu_arch_allFlux.png" alt="" class="wp-image-2182" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_027_Immu_arch_allFlux.png 606w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_027_Immu_arch_allFlux-300x118.png 300w" sizes="auto, (max-width: 606px) 100vw, 606px" /></figure>
</div>


<p>Une fois les ressources push du serveur VEEAM vers le serveur hardened (tcp:22), le service VEEAM Installer se charge d&rsquo;installer et de déployer les composants (tcp:6160). Une fois les dépendances installées, la sauvegarde se déroulera à travers le service VEEAM Data Mover (tcp:6162) ainsi que le service Mount Server (tcp:2500-3000).</p>



<p>Soit au final nous n&rsquo;avons besoin que des flux suivants :</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="581" height="229" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_027_Immu_arch_someFlux.png" alt="" class="wp-image-2183" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_027_Immu_arch_someFlux.png 581w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_027_Immu_arch_someFlux-300x118.png 300w" sizes="auto, (max-width: 581px) 100vw, 581px" /></figure>
</div>


<p><strong>Ok, ça c&rsquo;est pour VEEAM, mais niveau serveur physique, il n&rsquo;y a pas des choses à faire ? </strong></p>



<p>Bien vu l&rsquo;aveugle. Il sera nécessaire d&rsquo;autoriser les protocoles :</p>



<figure class="wp-block-table"><table><tbody><tr><td class="has-text-align-center" data-align="center"><strong>Sens</strong></td><td class="has-text-align-center" data-align="center"><strong>Protocoles</strong></td><td class="has-text-align-center" data-align="center"><strong>Sources</strong></td><td class="has-text-align-center" data-align="center"><strong>Destinations</strong></td><td class="has-text-align-center" data-align="center"><strong>Actions</strong></td></tr><tr><td class="has-text-align-center" data-align="center">IN</td><td class="has-text-align-center" data-align="center">tcp:22</td><td class="has-text-align-center" data-align="center">Subnet de management</td><td class="has-text-align-center" data-align="center">Repo Hardened</td><td class="has-text-align-center" data-align="center">Deny</td></tr><tr><td class="has-text-align-center" data-align="center">LAN</td><td class="has-text-align-center" data-align="center">udp:161-162</td><td class="has-text-align-center" data-align="center">Repo Hardened</td><td class="has-text-align-center" data-align="center">SNMP Server</td><td class="has-text-align-center" data-align="center">Allow</td></tr><tr><td class="has-text-align-center" data-align="center">OUT</td><td class="has-text-align-center" data-align="center">tcp:80</td><td class="has-text-align-center" data-align="center">Repo Hardened (ILO)</td><td class="has-text-align-center" data-align="center">*.builder.com</td><td class="has-text-align-center" data-align="center">Allow</td></tr><tr><td class="has-text-align-center" data-align="center">OUT</td><td class="has-text-align-center" data-align="center">tcp:443</td><td class="has-text-align-center" data-align="center">Repo Hardened (ILO)</td><td class="has-text-align-center" data-align="center">*.builder.com</td><td class="has-text-align-center" data-align="center">Allow</td></tr><tr><td class="has-text-align-center" data-align="center">OUT</td><td class="has-text-align-center" data-align="center">tcp:25,465,587</td><td class="has-text-align-center" data-align="center">Repo Hardened (ILO)</td><td class="has-text-align-center" data-align="center">relai smtp<em>(s) over tls</em></td><td class="has-text-align-center" data-align="center">Allow</td></tr><tr><td class="has-text-align-center" data-align="center">IN</td><td class="has-text-align-center" data-align="center">http</td><td class="has-text-align-center" data-align="center">ANY</td><td class="has-text-align-center" data-align="center">Repo Hardened (ILO)</td><td class="has-text-align-center" data-align="center">Deny</td></tr><tr><td class="has-text-align-center" data-align="center">IN</td><td class="has-text-align-center" data-align="center">https</td><td class="has-text-align-center" data-align="center">ANY</td><td class="has-text-align-center" data-align="center">Repo Hardened (ILO)</td><td class="has-text-align-center" data-align="center">Deny</td></tr></tbody></table></figure>



<h4 class="wp-block-heading">Users &amp; Permissions</h4>



<p>Dans l&rsquo;idée, il convient d&rsquo;utiliser un compte utilisateur pour la sauvegarde veeam. Ce dernier aura la charge de quelques services. Ce compte ne doit en aucun cas être membre du groupe SUDO. Il l&rsquo;est uniquement lors du déploiement et lors du MCO logiciel. Ensuite les droits doivent lui être retirés.</p>



<p>Il en va de même que l&rsquo;accès au répertoire qui va contenir les sauvegardes doivent avoir des droits restreints à notre seul et unique utilisateur VEEAM que ce soit en tant qu&rsquo;utilisateur et groupe.</p>



<p>Les droits devant être défini sur 700.</p>



<p>Mouai, c&rsquo;est enfoncer une porte ouverte non ? Ouai ba j&rsquo;ai vu des SysAdmins faire des choses à la limite de faire<a href="https://www.youtube.com/watch?v=YTtbg71Tj5M&amp;ab_channel=Whitesos"> voir des choses terribles à un petit garçon</a>.</p>



<p>Il en va de soi, mais le sticky bit on oublie. Perso, je ne comprends qu&rsquo;elle serait l&rsquo;utilité du sticky bit. Mais bon, si VEEAM le précise, c&rsquo;est bien que certains SysAdmins ont essayés.</p>



<h3 class="wp-block-heading">Chaînes, maillons, et immutabilité</h3>



<p>Pour assurer l&rsquo;immuabilité des données de nos chaines, le mécanisme qui sera utilisé sera le même que pour la Foreward Incremental avec automatiquement une active full ou une syntetic full. </p>



<p>Pourquoi ? Une petit schéma s&rsquo;impose.</p>



<p>Partons du principe que nous définissions le nombre de point d&rsquo;immuabilité à 7 jours. Avec une synthétique full hebdomadaire tous les dimanches.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="216" height="80" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_028_Immu_chain_1.png" alt="" class="wp-image-2184"/></figure>
</div>


<p>Sauf que voilà, il y a un problème. Le premier point immuable est une full et le dernier point avant la dernière full est une incrémental (Sunday to Saturday). L&rsquo;immuabilité étant défini à 7 jours les points sont donc inaltérables tant que l&rsquo;échéance du dernier point incrémental n&rsquo;est pas atteint. Si la full est supprimée les incréments ne sont pas utile. Donc nous devons attendre de nouveau 7 jours pour supprimer la première chaine et la création d&rsquo;une troisième full.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="371" height="79" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_028_Immu_chain_2.png" alt="" class="wp-image-2185" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_028_Immu_chain_2.png 371w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_028_Immu_chain_2-300x64.png 300w" sizes="auto, (max-width: 371px) 100vw, 371px" /></figure>
</div>


<p>Nous avons pas 7 points inaltérables mais 13 points.</p>



<p>Une fois la full réalisée le 3 dimanches nous passons à 14 points. C&rsquo;est à ce moment là, une fois la full terminée et rendu inaltérable que les 6 premières points de la chaine se verront retirés l&rsquo;attribut d&rsquo;immuabilité puis les maillons seront supprimés (Le principe, se base sur le Grand-Père, Père et fils).</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="404" height="80" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_028_Immu_chain_3.png" alt="" class="wp-image-2186" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_028_Immu_chain_3.png 404w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_028_Immu_chain_3-300x59.png 300w" sizes="auto, (max-width: 404px) 100vw, 404px" /></figure>
</div>


<p>Et puis on recommence.</p>



<p>Donc nous avons un minimum de 7 points de rétention et un maximum de 13 points.</p>



<p>Un point sur lequel je n&rsquo;ai toutefois pas encore fait de test, reste le traitement de l&rsquo;externalisation (backup copy). Le principe de GFS doit alors être configuré. J&rsquo;essaierai plus tard.</p>



<p>Je pense que maintenant nous avons toutes les informations requises pour passer à la pratique. Il n&rsquo;est pas impossible que certaines parties ne soient pas toutes à fait complètes. Il est difficile de tout couvrir et de ne rien oublier. Mais on peut toujours échanger pour toutes questions.</p>



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



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



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2111_71e697-c7 kt-accordion-has-4-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-pane2111_51b63b-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">1 &#8211; Création du compte VEEAM</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 créons donc notre utilisateur dédié à VEEAM et nous lui définissons un mot de passe robuste.</p>



<pre class="wp-block-code"><code><strong>$ sudo useradd usr.veeam</strong>
<strong>$ sudo passwd usr.veeam</strong></code></pre>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2111_c172fd-ea"><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; Ajout au groupe SUDO</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>L&rsquo;utilisateur créé, il nous faudra lui donner temporairement les droits d&rsquo;élévation de privilége (sudo) que nous lui retirerons une fois l&rsquo;installation des composants et dépendances terminées.</p>



<pre class="wp-block-code"><code><strong>$ sudo usermod -aG sudo usr.veeam</strong></code></pre>



<p>Puis plus ultérieurement</p>



<pre class="wp-block-code"><code><strong>$ sudo gpasswd -d usr.veeam sudo</strong></code></pre>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2111_c138db-3c"><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; Partition dédiée</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 en va de soi que nous ne stockerons pas les données de sauvegarde sur la partition et disque système.</p>



<p>Nous allourons un disque dédié sur un volume autre que le système pour stocker nos datas immuable. L&rsquo;un des prérequis, le format doit être en XFS.</p>



<p>Il n&rsquo;est pas improbable qu&rsquo;à la suite vous rencontriez des problèmes quant à la capacité de votre stocakge. Je m&rsquo;explique, au délà de 2 TB de données, il ne sera pas possible de créer la partition avec l&rsquo;utilitaire <strong>fdisk</strong>, mais avec <strong>gdisk</strong>.</p>



<p>Les commandes sont sensiblement les mêmes que pour <strong>fdisk</strong>. Un mémo, plus qu&rsquo;un mode opératoire (attention les commandes qui suivent sont expéditives. Enfin vous pouvez admirer un des rares moments de travaille bâcler 🙂 ).</p>



<pre class="wp-block-code"><code><strong>$ sudo gdisk /dev/sdX
   * n
   * 1
   * Paramètres par défaut
   * 8300
   * w
   * y</strong></code></pre>



<p>Nous formatons la partoche</p>



<pre class="wp-block-code"><code><strong>$ sudo mkfs.xfs /dev/sdX1</strong></code></pre>



<p>Petit montage dans les règles de l&rsquo;art (je passe la partie fstab, là on est sur du standard de chez standard. Dans le cas contraire, faite un tour <a href="https://erwanguillemard.com/linux-disk-part/">ici</a>).</p>



<pre class="wp-block-code"><code><strong>$ sudo mkdir /mnt/veeam
$ sudo mkdir /mnt/veeam/hardened_repository
$ sudo mount -o rw /dev/sdX1 /mnt/veeam/hardened_repository</strong></code></pre>



<p> Notre partition est montée.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane2111_82b9ac-70"><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; Permissions et répertoire</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>Afin de se prémunir contre toutes potentielles intrusions de la part d&rsquo;un autre utilisateur sur notre repo est donc sur notre point de montage, nous allons définir l&rsquo;accès uniquement à notre utilisateur et son groupe en modification utilisateur uniquement.</p>



<p>Soit par une traduction en shell par :</p>



<pre class="wp-block-code"><code><strong>$ sudo chmod 700 -R /mnt/veeam/hardened_repository</strong>
<strong>$ sudo chown usr.veeam:usr.veeam /mnt/veeam/hardened_repository</strong></code></pre>
</div></div></div>
</div></div></div>



<p></p>



<p>Si je n&rsquo;ai rien omis, nous pouvons passer à la suite et toutes les étapes devraient bien se passer. Dans le cas contraire, je vous autorise à me donner une grande tape sur l&rsquo;épaule, promis je vous dirai merci pour ne pas m&rsquo;en reprendre une dizaine.</p>



<h3 class="wp-block-heading">Intégration dans VEEAM</h3>



<h4 class="wp-block-heading">Ajout du serveur Linux</h4>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2111_38aa8b-93 kt-accordion-has-5-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-pane2111_de2b0f-2d"><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; Scream my Name !</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>Dans l&rsquo;onglet Backup Infrastructure, sélectionnez ajouter un serveur. Puis ajouter un nouveau serveur Linux.</p>



<p>Comme ci-dessous vous avez deux possibilités. Soit vous ajoutez l&rsquo;IP de votre repo (absence de serveur DNS dans mon cas et flemme d&rsquo;aller faire une surcharge dans le fichier host juste pour le lab) ou d&rsquo;ajouter le nom DNS. Ayant plusieurs repositories, j&rsquo;aime bien mettre une petite description (surtout en l&rsquo;absence de nom DNS).</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="759" height="541" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_001_Desciription.png" alt="" class="wp-image-2113" style="width:459px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_001_Desciription.png 759w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_001_Desciription-300x214.png 300w" sizes="auto, (max-width: 759px) 100vw, 759px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2111_46ad1b-5a"><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; Linux Credential (une fois seulement)</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>Dans la partie SSH Connection, nous n&rsquo;avons pas d&rsquo;entrée dans le gestionnaire de mot de passe de notre VEEAM. Et nous ne voulons surtout pas que nos informations d&rsquo;authentifications soient stockées (Sinon à quoi faire du hardened ?).</p>



<p>Cliquons donc sur Add et sélectionnons la dernière proposition « <strong>Single-use credentials</strong>« . Normalement vous devriez avoir l&rsquo;écran ci-dessous.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="759" height="540" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_002_Credentials.png" alt="" class="wp-image-2114" style="width:388px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_002_Credentials.png 759w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_002_Credentials-300x213.png 300w" sizes="auto, (max-width: 759px) 100vw, 759px" /></figure>
</div>


<p>Si vous avez fait les choses proprement, vous renseignez le login de votre compte utilisateur propre à VEEAM avec son petit mot de passe. Dans mon cas <strong>svc.veeam</strong> et <strong>password1234</strong> ou <strong>azerty1234</strong>. Cochez la case d&rsquo;élévation de privilège ainsi que la case « Use su if sudo fails » et là, renseigner le mot de passe du compte root.</p>



<p>Toujours si vous avez bien fait les choses, le compte <strong>svc.veeam</strong> est à ce moment un compte membre du groupe <strong>sudo</strong>. Donc un utilisateur à privilège le temps de l&rsquo;installation. Si ce n&rsquo;est pas le cas, ajoutez le :</p>



<pre class="wp-block-code"><code><strong>$ sudo usermod -aG sudo svc.veeam</strong></code></pre>



<p>Pour le fun, essayer de mettre en compte utilisateur le compte root. Normalement, VEEAM devrait exprimer votre nom indien avec sa main « <a href="https://www.youtube.com/watch?v=LcuR7cuEKQI&amp;ab_channel=Ons%27enBaluchon">Dresser avec le Majeur</a>« . 🙂</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2111_92f922-3f"><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 Review</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>Si vous êtes là c&rsquo;est que le serveur VEEAM arrive à pu initier la connexion en SSH avec notre futur repository immuable.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="757" height="543" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_003_Review.png" alt="" class="wp-image-2115" style="width:436px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_003_Review.png 757w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_003_Review-300x215.png 300w" sizes="auto, (max-width: 757px) 100vw, 757px" /></figure>
</div>


<p>Les composants transport et installer vont être déployés. Ces derniers ne sont pas déjà présent sur le serveur. Pour le moment pas un faux pas !</p>



<p>Passons à l&rsquo;étape suivante.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane2111_1e4f8a-f0"><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; Jamais du premier coup 😉</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>Bon ba nous voilà comme un con sur un quai de gare un jour de grève à la SNCF&#8230; Ca ne fonctionne pas BORDEL ! (Pourquoi tu n&rsquo;as pas censurer l&rsquo;injure ? Parce que je suis frustré d&rsquo;avoir durci une saloperie de système GNU/LINUX dans l&rsquo;état de l&rsquo;art et d&rsquo;avoir des erreurs de ce type. Je suis pas une base de loisir MERDE !)</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="757" height="543" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_004_Apply_ErrorDeployement.png" alt="" class="wp-image-2116" style="width:506px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_004_Apply_ErrorDeployement.png 757w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_004_Apply_ErrorDeployement-300x215.png 300w" sizes="auto, (max-width: 757px) 100vw, 757px" /></figure>
</div>


<p><a href="https://www.youtube.com/watch?v=FRV3y2OWT-w&amp;ab_channel=JohnnyCadillac">Monsieur, Calmez vous !</a> Oui, c&rsquo;est bon. Pas de castagne. LINUX et VEEAM sont sympa car ils nous donnent gentiment le message d&rsquo;insulte que l&rsquo;un donne à l&rsquo;autre. C&rsquo;est alors qu&rsquo;en bon copain nous allons arrondir les angles pour que VEEAM et notre repo LINUX puissent fleurter ensemble.</p>



<p>L&rsquo;une des mesures de sécurité que j&rsquo;applique sur mes systèmes GNU en terme de durcissement est d&rsquo;interdire l&rsquo;exécution sur la partition <strong>/var</strong> et <strong>/tmp</strong>. Donc un petit remove de l&rsquo;argument <strong>noexec</strong> et un remount des partitions et c&rsquo;est repartie comme en 40 ! (Il y a quelques choses d&rsquo;autres à faire mais je le garde pour moi).</p>



<p>On relance un Previous, puis un Next pour relancer le déploiement. Là, à la surprise générale, l&rsquo;installation se déroule sans accro.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="758" height="542" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_004_Apply_Succeed.png" alt="" class="wp-image-2117" style="width:501px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_004_Apply_Succeed.png 758w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_004_Apply_Succeed-300x215.png 300w" sizes="auto, (max-width: 758px) 100vw, 758px" /></figure>
</div>


<p>Alors elle est pas belle la vie ?</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane2111_c126fe-58"><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; Congratulations</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>L&rsquo;installation est terminée. Les composants ont bien été déployées nous avons ci-dessous le récapitulatif.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="759" height="541" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_005_Recap.png" alt="" class="wp-image-2118" style="width:515px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_005_Recap.png 759w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_005_Recap-300x214.png 300w" sizes="auto, (max-width: 759px) 100vw, 759px" /></figure>
</div>


<p>Toutefois, nous devons remettre en l&rsquo;état les quelques points de sécurité que nous avons assouplis pour permettre l&rsquo;arrimage de notre repository Hardened LINUX à notre serveur VEEAM.</p>



<ul class="wp-block-list">
<li>Retirer l&rsquo;utilisateur <strong>svc.veeam</strong> du groupe <strong>sudo</strong></li>



<li>Rétablir les arguments <strong>noexec</strong> sur les partitions <strong>/var</strong>, <strong>/tmp</strong></li>



<li>Rétablir les paramètres que l&rsquo;auteur a vraiment décider de ne pas divulger</li>
</ul>



<p></p>
</div></div></div>
</div></div></div>



<h4 class="wp-block-heading">Ajout du repository</h4>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2111_43e5d9-7a kt-accordion-has-8-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-pane2111_ad1e78-56"><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; Quels types choisir ?</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>Choisissons le type de repository pour déclarer notre repo hardened, soit Direct Attached Storage.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="715" height="614" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_006_AddRepo.png" alt="" class="wp-image-2119" style="width:292px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_006_AddRepo.png 715w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_006_AddRepo-300x258.png 300w" sizes="auto, (max-width: 715px) 100vw, 715px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane2111_2d477b-47"><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; Linux Hardened Repository</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>Dans les choix, j&rsquo;hésite vraiment sur l&rsquo;option pour notre type de repo. Peut-être la réponse numéro 3, <strong>Linux (Hardened Repository)</strong> ?</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="714" height="618" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_007_HardenedRepo.png" alt="" class="wp-image-2120" style="width:326px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_007_HardenedRepo.png 714w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_007_HardenedRepo-300x260.png 300w" sizes="auto, (max-width: 714px) 100vw, 714px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2111_abeae7-47"><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; Scream my Name (Again)</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>On note le nom de notre repo. Tachons donc de rester logique et de choisir un nom dans le standard des repositories. Pour ma part REPO_HARDENED_01. Comme j&rsquo;aurais pu avoir un REPO_SVG_01 ou REPO_EXT_01. Soignons pragmatique <a href="https://www.youtube.com/watch?v=_vuzhkEkNSQ&amp;ab_channel=Filmentaria">Père UBU</a> par ma chandelle verte !</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="758" height="542" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_008_HardenedRepo_Name.png" alt="" class="wp-image-2121" style="width:327px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_008_HardenedRepo_Name.png 758w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_008_HardenedRepo_Name-300x215.png 300w" sizes="auto, (max-width: 758px) 100vw, 758px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane2111_79f04f-f3"><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; Server Selection</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 serveur ayant été ajouté précédemment nous avons le listing de chacune des partitions présentent et montée.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="757" height="541" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_009_HardenedRepo_Target.png" alt="" class="wp-image-2122" style="width:424px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_009_HardenedRepo_Target.png 757w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_009_HardenedRepo_Target-300x214.png 300w" sizes="auto, (max-width: 757px) 100vw, 757px" /></figure>
</div>


<p>Dans la liste (5ème positions) nous retrouvons bien notre partition sous <strong>/mnt/veeam/hardened_repository</strong> monté sur <strong>/dev/sdb1</strong>.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane2111_f9aa4e-e9"><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; Choix du repository (Path) </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>Sélectionnons la partition qui nous intéresse.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="760" height="544" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_010_HardenedRepo_RepoSettings.png" alt="" class="wp-image-2123" style="width:430px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_010_HardenedRepo_RepoSettings.png 760w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_010_HardenedRepo_RepoSettings-300x215.png 300w" sizes="auto, (max-width: 760px) 100vw, 760px" /></figure>
</div>


<p>Activons ensuite les paramètres de clonage rapide sur les volumes XFS. Je défini la durée de l&rsquo;immuabilité sur 14 jours (le minimum étant 7 jours). Je limite le nombre de tâche parallélisé à 4.</p>



<p>Dans les options avancées, j&rsquo;ai pour habitude d&rsquo;activer l&rsquo;alignement des blocks pour améliorer les performances quant à la sauvegarde et à la restauration malgré une légère hausse du CPU.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="758" height="542" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_011_HardenedRepo_RepoSettings_Advanced.png" alt="" class="wp-image-2124" style="width:403px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_011_HardenedRepo_RepoSettings_Advanced.png 758w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_011_HardenedRepo_RepoSettings_Advanced-300x215.png 300w" sizes="auto, (max-width: 758px) 100vw, 758px" /></figure>
</div>


<p>J&rsquo;active également le paramètre d&rsquo;utiliser le paramètre per machine backup files car il améliore les performances de stockage pour les équipements qui bénéficient de flux important d&rsquo;I/O. Ce qui tombe bien est notre cas.</p>



<p>Les deux autres options ne doivent pas être cochés, puisque nous n&rsquo;avons pas de support rotatif et l&rsquo;option de décompression n&rsquo;est pas compatible avec la sauvegarde immuable.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane2111_23e170-e2"><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; Where is the mount Server ?</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>De nouveau nous avons un petit récapitulatif des rôles à ajouter ou déjà présent sur notre repo.</p>



<ul class="wp-block-list">
<li>Transport</li>



<li>vPower NFS</li>



<li>Mount Server</li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="761" height="541" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_013_HardenedRepo_Recap.png" alt="" class="wp-image-2126" style="width:426px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_013_HardenedRepo_Recap.png 761w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_013_HardenedRepo_Recap-300x213.png 300w" sizes="auto, (max-width: 761px) 100vw, 761px" /></figure>
</div>


<p>Il est possible de cocher la case de recherche de chaine existante. Ce n&rsquo;est pas notre cas.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-7 kt-pane2111_87fb20-16"><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">7 &#8211; Applying</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 appliquons la configuration de notre repo. Deux avertissements toutefois. Dû au durcissement de mon SE GNU/LINUX. Toutefois rien de bien méchant car on regarde l&rsquo;avertissement lié au service de déploiement.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="760" height="543" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_014_HardenedRepo_Apply.png" alt="" class="wp-image-2127" style="width:435px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_014_HardenedRepo_Apply.png 760w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_014_HardenedRepo_Apply-300x214.png 300w" sizes="auto, (max-width: 760px) 100vw, 760px" /></figure>
</div></div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-8 kt-pane2111_3b0f88-bc"><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">8 &#8211; Petit Résumé</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>Encore une fois, le petit récapitulatif nous informant que le repo a bien été créé.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="758" height="542" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_015_HardenedRepo_Summary.png" alt="" class="wp-image-2128" style="width:513px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_015_HardenedRepo_Summary.png 758w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_015_HardenedRepo_Summary-300x215.png 300w" sizes="auto, (max-width: 758px) 100vw, 758px" /></figure>
</div></div></div></div>
</div></div></div>



<h3 class="wp-block-heading">Backup Job &amp; Tests</h3>



<p>Pour ce point, je ne vois pas de grand intérêt à décrire comme créer un jobs de backup. C&rsquo;est pourquoi j&rsquo;irai à l&rsquo;essentiel, un en mot un seul, pour être succinct, sans détour et fioriture, bref j&rsquo;irai droit au but&#8230;</p>



<p>Pourquoi cette entrée en matière dans cette partie ? Simplement car cela dépend de la source sur laquelle le serveur de sauvegarde se base.</p>



<ul class="wp-block-list">
<li>VMWare VCenter</li>



<li>VMWare ESXi</li>



<li>NUTANIX Prism Element</li>



<li>NUTANIX Prism Central</li>



<li>MICROSOFT HyperV</li>



<li>VEEAM Backup Agent</li>



<li>etc</li>
</ul>



<p>La liste pourrait s&rsquo;allonger comme un jour sans pain au vu du nombre de point d&rsquo;entrée OnPremise et Cloud.</p>



<p>Dans mon cas et sur mon petit environnement de lab, ça sera sur un job de sauvegarde pour du VEEAM Backup Agent pour Windows (en Guest Processing) d&rsquo;un serveur local.</p>



<h4 class="wp-block-heading">Backup</h4>



<p>Nous considérons qu&rsquo;un compte d&rsquo;administration est déjà présent pour la sauvegarde est durci dans les règles de l&rsquo;art et que le serveur source se trouve dans la bonne configuration pour être sauvegardé.</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id2111_a3b94c-87 kt-accordion-has-3-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-pane2111_e7a21f-32"><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; Storage</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>Dans la partie Storage de notre job (peut importe le type), il nous suffit de sélectionner notre repository hardened.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="798" height="580" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_022_Immu_Storage-1.png" alt="" class="wp-image-2175" style="width:409px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_022_Immu_Storage-1.png 798w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_022_Immu_Storage-1-300x218.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_022_Immu_Storage-1-768x558.png 768w" sizes="auto, (max-width: 798px) 100vw, 798px" /></figure>
</div>


<p>Le nombre de point de rétention doit être en adéquation avec la politique d&rsquo;immuabilité en place comme décris dans la partie théorique. Dans mon cas 14 jours.</p>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane2111_1c0c32-9a"><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; Storage GFS</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>La sauvegarde hardened se base sur le principe GFS<sup data-fn="ec6aa003-32a1-49af-8a77-ef1a9eb1ddb1" class="fn"><a href="#ec6aa003-32a1-49af-8a77-ef1a9eb1ddb1" id="ec6aa003-32a1-49af-8a77-ef1a9eb1ddb1-link">7</a></sup>. Effectivement et comme une nouvelle fois expliqué précédemment, il n&rsquo;est pas possible et cela n&rsquo;a pas de sens de faire de la RI<sup data-fn="aaaaa269-53a7-47ca-b188-00da64f0a9c7" class="fn"><a href="#aaaaa269-53a7-47ca-b188-00da64f0a9c7" id="aaaaa269-53a7-47ca-b188-00da64f0a9c7-link">8</a></sup> mais bien FI<sup data-fn="55b862c5-880a-4a67-bd76-304f10074f68" class="fn"><a href="#55b862c5-880a-4a67-bd76-304f10074f68" id="55b862c5-880a-4a67-bd76-304f10074f68-link">9</a></sup>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="799" height="582" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_023_Immu_GFS-2.png" alt="" class="wp-image-2174" style="width:362px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_023_Immu_GFS-2.png 799w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_023_Immu_GFS-2-300x219.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_023_Immu_GFS-2-768x559.png 768w" sizes="auto, (max-width: 799px) 100vw, 799px" /></figure>
</div>


<p>Je défini donc de réaliser une full backup synthétique de manière hebdomadaire, le 7 jour de la semaine, 7 jour où le Seigneur exténué (comme moi d&rsquo;ailleurs) d&rsquo;avoir travaillé si dure les 6 jours précédents de prendre un jour de repo. Et comme la sauvegarde est là pour nous prémunir de tout aléas</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>Les premiers seront les derniers, et les derniers seront les premiers</em></p>
<cite>Marc 10:31</cite></blockquote>



<p>Nous pouvons faire confiance à Saint Marc. Amen. </p>
</div></div></div>
</div></div></div>



<p>Laissons notre job tourner et admirer les performances et actions en cours.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1019" height="724" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_018_Immu_Ongoing.png" alt="" class="wp-image-2159" style="width:456px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_018_Immu_Ongoing.png 1019w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_018_Immu_Ongoing-300x213.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_018_Immu_Ongoing-768x546.png 768w" sizes="auto, (max-width: 1019px) 100vw, 1019px" /></figure>
</div>


<h4 class="wp-block-heading">Tests</h4>



<p>Une fois le job terminé avec succès. L&rsquo;une de nos grandes questions que nous devons nous poser en tant que SysAdmin (et que n&rsquo;importe quel client, chef d&rsquo;entreprise doit se poser) est <strong>« Comment s&rsquo;assurer que la chaine de sauvegarde est bien inaltérable, immuable ? » </strong></p>



<p>Le plus simple, c&rsquo;est de supprimer la chaine de sauvegarde ou l&rsquo;une des ressources protégées. Normalement, dans la boite de dialogue se préparant à l&rsquo;exécution de la suppression, vous devriez avoir un violent message d&rsquo;avertissement vous informant que <a href="https://www.youtube.com/watch?v=eq1xiZDhBvs&amp;ab_channel=Ch%C3%B4meurDigne">NON, VEEAM ne veut pas.</a> Mais comme VEEAM n&rsquo;est pas si en désaccord avec votre volonté de supprimer le backup, il vous donne toutefois la date d&rsquo;échéance où il sera possible de supprimer la chaine si et seulement si le job est désactivé naturellement.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="958" height="521" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_020_Immu_NODELETE.png" alt="" class="wp-image-2161" style="width:522px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_020_Immu_NODELETE.png 958w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_020_Immu_NODELETE-300x163.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_020_Immu_NODELETE-768x418.png 768w" sizes="auto, (max-width: 958px) 100vw, 958px" /></figure>
</div>


<p>Si nous voulons allés plus loin, c&rsquo;est du côté repo qu&rsquo;il faudra contrôler que l&rsquo;attribut d&rsquo;immutabilité est bien positionné sur nos fichiers. Un petit coup de <strong>lsattr</strong> et le tour est joué.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="806" height="135" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_021_Immu_attributeJobs.png" alt="" class="wp-image-2162" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_021_Immu_attributeJobs.png 806w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_021_Immu_attributeJobs-300x50.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_021_Immu_attributeJobs-768x129.png 768w" sizes="auto, (max-width: 806px) 100vw, 806px" /></figure>
</div>


<h3 class="wp-block-heading">Altérer l&rsquo;inaltérable ?</h3>



<p>Super cette sauvegarde immuable ! Avec ça, nous sommes paré à toutes éventualités contre la suppression et altération de nos chaines de sauvegarde.</p>



<p>Sauf que ce n&rsquo;est pas tout à fait vrai. Désolé de vous mettre un stop. En haut de ce billet, j&rsquo;ai insisté sur la topologie et l&rsquo;architecture. Tout va reposer sur  cette dernière pour ne pas altérer le contenu de votre repository hardened.</p>



<p>Avant de rentrer plus dans les explications, je rappel dans le contexte que le système GNU est durci. Le compte utilisateur dédié à la sauvegarde n&rsquo;a pas de droit d&rsquo;élévation, le daemon ssh est désactivé.</p>



<p><a href="https://www.youtube.com/watch?v=ZZ6plV0dH6s&amp;ab_channel=RaoulPetiteOfficiel">Allez, faut y aller</a>, oui mais où ? Maintenant rentrons dans le vif du sujet.</p>



<p>En me connectant directement à mon repo en console ou en direct. Regardons nos différents maillons de chaines pour notre job. J&rsquo;ai deux full. Pourquoi ? Parce que je suis un abruti qui lors du la configuration de mon job, j&rsquo;ai oublié de chiffrer ma chaine. M&rsquo;en rendant compte après coup, j&rsquo;ai donc corrigé ce petit détail. Sauf que activer le chiffrement d&rsquo;un job implique forcément de repartir sur un full. Merdouille non ?</p>



<p>Alors comment faire pour supprimer le premier maillon .vbk qui est indépendant de mon second .vbk ?</p>



<ul class="wp-block-list">
<li>Je suis patient et j&rsquo;attends 28 jours</li>



<li>Je supprime le point au niveau système et je clean ma configuration</li>
</ul>



<p>Pour le coup je ne serai pas patient et je vais donc contourner l&rsquo;immuabilité.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="840" height="241" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_025_Immu_remove_IMMU-1.png" alt="" class="wp-image-2170" style="width:763px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_025_Immu_remove_IMMU-1.png 840w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_025_Immu_remove_IMMU-1-300x86.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_025_Immu_remove_IMMU-1-768x220.png 768w" sizes="auto, (max-width: 840px) 100vw, 840px" /></figure>
</div>


<ol class="wp-block-list">
<li>Je liste uniquement les maillons de la chaine qui sont des fulls (.vbk) afin d&rsquo;identifier le point que je souhaite faire disparaitre</li>



<li>Etant en root, je retire l&rsquo;attribut d&rsquo;immuabilité sur le fichier</li>



<li>Je liste de nouveau les attributs des maillons de la chaine qui sont des fulls (.vbk) pour vérifier que c&rsquo;est bon</li>



<li>Je supprime le fichier</li>



<li>Je liste de nouveau les attributs des maillons de la chaine qui sont des fulls (.vbk) pour vérifier que je n&rsquo;ai plus qu&rsquo;un fichier vbk</li>
</ol>



<p>Nous nous déconnectons de notre console. Et regardons notre chaine côté VEEAM Ordo.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="827" height="312" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_025_Immu_remove_IMMU_1.png" alt="" class="wp-image-2171" style="width:562px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_025_Immu_remove_IMMU_1.png 827w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_025_Immu_remove_IMMU_1-300x113.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_025_Immu_remove_IMMU_1-768x290.png 768w" sizes="auto, (max-width: 827px) 100vw, 827px" /></figure>
</div>


<p>Là j&rsquo;ai été un vite en besogne car j&rsquo;ai déjà nettoyer la configuration. Mais notre point remontait comme inaccessible car nous l&rsquo;avons supprimé (petite icone rouge et police en italique). Mais une fois nettoyé, nous avons 4 points en lieu et place de 5.</p>



<p>Donc il est possible d&rsquo;altérer l&rsquo;inaltérable sous certaines conditions.</p>



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



<p>La sauvegarde immuable ou hardened est vraiment une solution indispensable des organisations. Cette dernière ne doit pas être négligé. Malheureusement et c’est là un triste constat les organisations et entreprises pour des raisons de coût néglige cette protection supplémentaire.</p>



<p class="has-text-align-center"><strong>«&nbsp;J’ai déjà une sauvegarde et une externalisation, je ne risque rien. Mon Service interne est parano ou Mon prestataire informatique me prend pour une vache à lait&nbsp;»</strong></p>



<p>Ce sentiment de puissance, de confiance et d’invincibilité pourtant ne tiens qu’à un fil et c’est lorsque ça tourne mal qu’il nous reste plus qu’à pleurer en regardant comme Loth, sa femme pétrifié de sel (Genése 19:26). <a href="https://www.youtube.com/watch?v=VGN8G6eSVqU&amp;ab_channel=thiefaineVEVO">Attention, la facture est salée</a>.</p>



<p>Toutefois, l’implémentation d’un tel système nécessite des aptitudes avancées pour les systèmes LINUX/GNU ce qui peut représenter un frein à la mise en place de ce dernier. Notamment sur la partie durcissement. A cela peut s’ajouter des budgets ainsi que des ressources limitées sur l’infrastructures ne permettant pas d’assurer cette fonctionnalité.</p>



<p>Il reste à moindre cout l’usage et l’implémentation d’une sauvegarde sur disque externe. Cependant je pense que cette solution est moins performante, plus espacée dans le temps, moins adapté à l’évolution du SI et soumis au risque humain (oublie, corruption, etc). Mais cela reste une solution.</p>



<p>Encore une fois la question de curseur se pose sur le rapport bénéfices risques. Qu’est ce que je suis prêt à accepter pour mon organisation&nbsp;? Il suffit d’avoir frôlé la banque route ou d’avoir dans ces connaissances un patron qui a perdu son entreprise ou sauver de peu son business pour se sentir concerné.</p>



<p>Ouai mais tu nous as démontré que ce n’était pas inaltérable à 100%. Tu ne serais pas en train de nous refourguer une solution pour éviter le <a href="https://fr.wikipedia.org/wiki/Passage_informatique_%C3%A0_l%27an_2000">bug de l’an 2000</a>&nbsp;?</p>



<p>Oui je conçois et l’ai démontré. Nulle solution n’est parfaite est sécurisé à 100%. Toutefois les opérations pour retirer l’immuabilité nécessite de passer plusieurs mécanismes de sécurités et le risque bien de présent est minime voir nul. Disons que si un individu malveillant s’attaque à la sauvegarde immuable, normalement l’équipe interne ou le service IT seront informés car c’est le point d’entrée le plus complexe à infiltrer. Et donc, cet individu aura pris le temps de mettre un joyeux bor**l sur l’ensemble de notre infra au préalable.</p>



<p>Nous pourrions également dire que 7 jours ou 14 jours d’immuabilité c’est peu. Et pourtant il faut voir cette sauvegarde comme l’as dans la manche qui nous sortira de l’échec et compromission de notre sauvegarde et externalisation. C’est une sauvegarde certes, mais la dernière carte à jouer. Sincèrement, vous SysAdmin/DSI persuadez votre DG, DAF ou PDG d’implémenter cette fonctionnalité. </p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="728" height="416" src="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_029_SysAdmin_DAF.jpg" alt="" class="wp-image-2196" style="width:347px;height:auto" title="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_029_SysAdmin_DAF.jpg 728w, https://erwanguillemard.com/wp-content/uploads/2024/06/AP_007_029_SysAdmin_DAF-300x171.jpg 300w" sizes="auto, (max-width: 728px) 100vw, 728px" /></figure>
</div>


<p class="has-text-align-center has-small-font-size"><em>Rare image d&rsquo;échange entre un DAF avec un DSI/SysAdmin concernant le budget informatique</em></p>



<p>Vous DG, DAF ou PDG, écoutez votre SysAdmin/DSI et permettez lui de passer des nuits tranquilles loin des <a href="https://www.youtube.com/watch?v=LPmUcSowpko&amp;ab_channel=Hubert-F%C3%A9lixThi%C3%A9faine-Topic">valium, tranxène, nembutal</a> (ouai je sais ça faut beaucoup de référence à HFT, mais je suis dans ma période de vilain garnement 🙂 ).</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>Consonnes, Voyelles. Je demande un 50/50 sur une garde sans. Risquez comme opération, mais ça passe et vous partez avec Maïté car votre préféré c’est le rondelé.</em></p>
<cite>Erwan GUILLEMARD</cite></blockquote>



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



<ul class="wp-block-list">
<li><a href="https://www.larousse.fr/dictionnaires/francais/immuable/41744#:~:text=1.,soi%2Dm%C3%AAme%20%3A%20V%C3%A9rit%C3%A9s%20immuables.&amp;text=2.,ciel%20d'un%20bleu%20immuable.">Définition Immuable</a></li>



<li><a href="https://helpcenter.veeam.com/docs/backup/vsphere/hardened_repository.html?ver=120">VEEAM B&amp;R 12.1 &#8211; Hardened Guide</a></li>



<li><a href="https://man7.org/linux/man-pages/man1/chattr.1.html">Linux &#8211; chattr</a></li>



<li><a href="https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.1">E2fsprogs</a></li>
</ul>



<p class="has-small-font-size"><em>Je remercie LLU, d’avoir su me mettre sur la voie et d’avancer sur ce sentier.</em></p>


<ol class="wp-block-footnotes"><li id="c69c2835-a941-45dd-ba6c-71392873daa8"><strong>SE</strong> : Système d&rsquo;Exploitation <a href="#c69c2835-a941-45dd-ba6c-71392873daa8-link" aria-label="Aller à la note de bas de page 1">↩︎</a></li><li id="c5ab9c8c-0307-4b61-83b5-82041447e886"><strong>LTS</strong> : Long Time Support <a href="#c5ab9c8c-0307-4b61-83b5-82041447e886-link" aria-label="Aller à la note de bas de page 2">↩︎</a></li><li id="c7bb64ce-4db6-48ca-866d-f856e977c1a1"><strong>ANSSI</strong> : Agence National de Sécurité des Systèmes d&rsquo;Informations <a href="#c7bb64ce-4db6-48ca-866d-f856e977c1a1-link" aria-label="Aller à la note de bas de page 3">↩︎</a></li><li id="58bbf35d-a51b-4ba9-937a-d58393f894bc"><strong>XFS</strong> : X File System <a href="#58bbf35d-a51b-4ba9-937a-d58393f894bc-link" aria-label="Aller à la note de bas de page 4">↩︎</a></li><li id="3b6c0862-32cf-4554-ac0a-e9cfe2377193"><strong>SFP+</strong> : Small Form-Factor Pluggable+ (10 Gb/s) <a href="#3b6c0862-32cf-4554-ac0a-e9cfe2377193-link" aria-label="Aller à la note de bas de page 5">↩︎</a></li><li id="cc7945a0-53b5-45d9-8bac-c78a1fd6053a"><strong>FC</strong> : Fiber Channnel <a href="#cc7945a0-53b5-45d9-8bac-c78a1fd6053a-link" aria-label="Aller à la note de bas de page 6">↩︎</a></li><li id="ec6aa003-32a1-49af-8a77-ef1a9eb1ddb1"><strong>GFS</strong> : Grand Father, Father, Son <a href="#ec6aa003-32a1-49af-8a77-ef1a9eb1ddb1-link" aria-label="Aller à la note de bas de page 7">↩︎</a></li><li id="aaaaa269-53a7-47ca-b188-00da64f0a9c7"><strong>RI</strong> : Reverse Incremental <a href="#aaaaa269-53a7-47ca-b188-00da64f0a9c7-link" aria-label="Aller à la note de bas de page 8">↩︎</a></li><li id="55b862c5-880a-4a67-bd76-304f10074f68"><strong>FI</strong> : Forward Incremental <a href="#55b862c5-880a-4a67-bd76-304f10074f68-link" aria-label="Aller à la note de bas de page 9">↩︎</a></li></ol>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Apps &#8211; VEEAM Backup &#038; Réplication</title>
		<link>https://erwanguillemard.com/windows-veeam-backup-replication/</link>
		
		<dc:creator><![CDATA[Erwan Guillemard]]></dc:creator>
		<pubDate>Mon, 27 May 2024 21:16:04 +0000</pubDate>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[Securité]]></category>
		<category><![CDATA[VEEAM]]></category>
		<guid isPermaLink="false">https://erwanguillemard.com/?p=1989</guid>

					<description><![CDATA[Sauvegarde, nom fénimin (de sauf et garde) : Garantie, protection accordée par une autorité&#160;:&#160;Se mettre sous la sauvegarde de la justice ou au sens informatique du terme, Procédure de protection des informations contenues dans un système informatique, par copie de ces informations sur disque ou bande magnétique. Vous l&#8217;avez compris, je vais parler de sauvegarde...]]></description>
										<content:encoded><![CDATA[
<p>Sauvegarde, nom fénimin (de sauf et garde) : <em>Garantie, protection accordée par une autorité&nbsp;:&nbsp;Se mettre sous la sauvegarde de la justice</em> ou au sens informatique du terme, <em>Procédure de protection des informations contenues dans un système informatique, par copie de ces informations sur disque ou bande magnétique</em>.</p>



<p>Vous l&rsquo;avez compris, je vais parler de sauvegarde et mon autorité à moi, c&rsquo;est VEEAM. (Je vous rassure je n&rsquo;ai pas de part, ni d&rsquo;action dans cette société).</p>



<p><strong>Déjà pourquoi VEEAM et pas un autre ?</strong> Je n&rsquo;ai absolument rien contre les autres solutions. J&rsquo;ai juste commencé avec cette solution et j&rsquo;ai continué avec cette dernière ainsi que toutes la suite de produits qui gravite autour 🙂 Alors pourquoi changer une équipe qui gagne ?</p>



<p>Avant de rentrer dans le vif du sujet, la question que nous devons nous poser, c&rsquo;est pourquoi la sauvegarder un système informatique d&rsquo;un simple poste utilisateur à la totalité d&rsquo;un système d&rsquo;information.</p>



<p>Jusqu&rsquo;à présent, les données étaient stockées sur des supports physiques (papier, photo, etc). Aujourd&rsquo;hui la majorité de nos données sont stockées sur des supports logiques numériques dans des supports physiques (téléphone, disque dur, USB, Serveurs etc) à un endroit, voir plusieurs. Or, comment s&rsquo;assurer que ces données non physiques à base de 0 et de 1 soient protégées de toutes suppressions accidentelles ? Nous allons faire une copie de ces données et les stockées autre part. Ainsi en cas de suppression ou d&rsquo;avarie nous serons en capacité de les « retrouver ».</p>



<p>La solution VEEAM Backup et Réplication répond à ce besoin pour les systèmes d&rsquo;informations. C&rsquo;est pourquoi je vous propose dans ce billet de déployer un serveur de sauvegarde. (Attention et comme d&rsquo;habitude, je vais suivre le guide officiel fournit par le fournisseur. Je ne compte pas réinventer la roue, mais m&rsquo;attarder sur des points importants qui sont bien malheureusement négligés par certains SysAdmin).</p>





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



<ul class="wp-block-list">
<li><strong>SE :</strong> Windows 2016 à 2022</li>



<li><strong>Apps : </strong>VEEAM B&amp;R 12.1, 12.2</li>



<li><strong>Autres : </strong>
<ul class="wp-block-list">
<li>Média externe</li>



<li>Stockage Object</li>



<li>Stockage Hardened</li>
</ul>
</li>
</ul>



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



<p>L&rsquo;article historiquement était trop long (+ 9500 mots pour 51 minutes de lecture) et après plusieurs remarques constructives, j&rsquo;ai pris la décision de scinder en deux parties ce billet. De plus cela permettra de faciliter dans un seul article de gérer les diverses versions de VEEAM Backup et Replication à l&rsquo;avenir (oui je fais parti de ces groupies qui trépignent d&rsquo;impatience devant la Version 13 en devenir 🙂 ).</p>



<ul class="wp-block-list">
<li><a href="https://erwanguillemard.com/apps-vbr-partie-1-theorie/">Partie 1 : Théorie</a>
<ul class="wp-block-list">
<li>Aborder les bonnes pratiques, l&rsquo;architecture et topologies la plus adéquate pour une infrastructure VEEAM B&amp;R. Les performances systèmes requis, ainsi que les permissions</li>
</ul>
</li>



<li><a href="https://erwanguillemard.com/apps-vbr-partie-2-pratique/">Partie 2 : Pratique</a>
<ul class="wp-block-list">
<li>Installation et configuration de la solution. Présentation point à point de la sécurisation et durcissement de la solution VBR</li>
</ul>
</li>
</ul>



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



<p><strong>/!\ Attention /!\ :</strong> Le script dans sa version 1.0.2 contient deux dysfonctionnements et restent en statu béta, alpha. Il manque les blocks de descriptions des fonctions, et l&rsquo;optimisation des points 7 et 10. D&rsquo;autres fonctionnalités viendrons s&rsquo;ajouter. Comme indiqué, le travail de R&amp;D reste sur mon temps perso et donc ne me permet pas de « livrer »/ »mettre à disposition » une solution propre clé en main. Avant d&rsquo;appliquer le script, je vous recommande un snapshot à froid de votre serveur VEEAM.</p>



<p class="has-text-align-center"><a href="https://github.com/EGuillemard/SS_038_VEEAM-ENHANCED.git">Miaou</a></p>



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



<p>C&rsquo;est encore un gros billet que tu nous sors là Père GUILLEMARD ! Hé, oui mon gars ! Félicitation si t&rsquo;as pas décroché entre temps. Je penserai à te donner un succès Gold ou Platinium sur le PlayStation Store 🙂</p>



<p>Plus sérieusement, je n&rsquo;avais JAMAIS poussé aussi loin la configuration et la sécurisation d&rsquo;une infrastructure VEEAM B&amp;R. Et encore, par manque de ressource sur ma petite machine, je n&rsquo;ai pas poussé le vice à déployer un WAN Accelerator et un Proxy VEEAM (m&rsquo;enfin dans la logique c&rsquo;est pas super compliqué il faut juste de la rigueur et du bon sens). Comme nous sommes dans la confidence, je dirai même que j&rsquo;ai le sentiments d&rsquo;être un imposteur quant aux infrastructures VEEAM que j&rsquo;ai pu déployer. C&rsquo;est un peu le fameux « <a href="https://www.youtube.com/watch?v=1SERx1KyECU&amp;ab_channel=JeanGabin-Topic">Nan, mais je sais</a> » alors qu&rsquo;en réalité je ne savais pas.</p>



<p>VEEAM nous offre dans ces versions de nouvelles fonctionnalités toujours plus poussées et orientées sécurité. Il est difficile (par manque de temps peut-être ?) de suivre toutes ces nouvelles fonctionnalités d&rsquo;une version à une autre et donc de se remettre en question et de modifier en bien nos infrastructures. Pour autant, cela fait il de moi un charlot ? Egalement ce qui doit être souligné, c&rsquo;est que VEEAM en plus de prodiguer les bonnes pratiques met à disposition des outils pour suivre l&rsquo;état de santé des services dans ces solutions pour rester le plus performant possible.</p>



<p>La sauvegarde et l&rsquo;ensemble de son écosystème représente le dernier bastion des systèmes d&rsquo;informations. La bonne gestion de cet écosystème permet de se prémunir de sinistre matériel, infrastructure ou d&rsquo;attaques informatiques et de pouvoir repartir dans des délais acceptable selon le RTO établi. Dans le cas contraire, des mots durs et difficiles à entendre peuvent apparaitre « dépôt de bilan », « licenciement », « perte financière », « cessation d&rsquo;activité »&#8230; <a href="https://www.youtube.com/watch?v=lOfZLb33uCg&amp;list=RDX9uk9IcoQ0w&amp;index=9&amp;ab_channel=alyankovicVEVO">Welcome to Amish Paradise</a></p>



<p class="has-text-align-center"><strong>Il ne faut pas négliger la sauvegarde.</strong></p>



<p>Et j&rsquo;inviterai chaque dirigeant ou directeur des systèmes d&rsquo;informations à demander un rapport d&rsquo;audit de leur infrastructure de sauvegarde de manière ponctuelle. De plus les KPIs<sup data-fn="131b6739-edc8-4ac7-8fcc-a0b5f525a9be" class="fn"><a href="#131b6739-edc8-4ac7-8fcc-a0b5f525a9be" id="131b6739-edc8-4ac7-8fcc-a0b5f525a9be-link">1</a></sup> de l&rsquo;ensemble des jobs de sauvegardes devraient être présenté dans des rapports et revues hebdomadaires, mensuelles et annuelles.</p>



<p>Dans les perspectives d&rsquo;évolutions et le pourquoi de cette article, VEEAM DR (ou Backup &amp; Réplication) va me permettre de poursuivre avec d&rsquo;autres articles, notamment la VCC, VSPC, Repo Hardened, Repo Stockage S3 ainsi qu&rsquo;une passerelle entre VEEAM et ITOP concernant le MCO des sauvegardes journalières.</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>C&rsquo;est un coup des russes ? Alerte Générale !!! Ah pardon, mais vous étiez en case mandoline. Vous reculez de 3 GFS et vous restaurez chez LAMELOISE. Pensez à la NDF.  </em></p>
<cite>Erwan GUILLEMARD</cite></blockquote>



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



<ul class="wp-block-list">
<li><a href="https://www.larousse.fr/dictionnaires/francais/sauvegarde/71207#:~:text=1.,la%20sauvegarde%20de%20la%20justice.&amp;text=2.,la%20sauvegarde%20de%20la%20paix.">Définition Sauvegarde</a></li>



<li><a href="https://www.ibm.com/docs/fr/workload-automation/10.2.0?topic=compliance-fips-overview">FIPS</a></li>



<li><a href="https://www.veeam.com/downloads.html?ad=downloads#vbftrial">VEEAM B&amp;R 12.1 &#8211; ISO</a></li>



<li><a href="https://helpcenter.veeam.com/docs/backup/hyperv/overview.html?ver=120">VEEAM B&amp;R 12.1 &#8211; Guide</a></li>



<li><a href="https://helpcenter.veeam.com/docs/backup/vsphere/used_ports.html?ver=120">VEEAM B&amp;R 12.1 &#8211; Ports</a></li>



<li><a href="https://helpcenter.veeam.com/docs/backup/vsphere/best_practices_analyzer.html?ver=120">VEEAM B&amp;R 12.1 &#8211; Securities Compliants guide</a></li>



<li><a href="https://helpcenter.veeam.com/docs/backup/permissions/backup.html?ver=120">VEEAM B&amp;R 12.X &#8211; VMWare Permissions</a></li>



<li><a href="https://learn.microsoft.com/en-us/windows-server/security/credentials-protection-and-management/configuring-additional-lsa-protection">WINDOWS &#8211; LSASS</a></li>



<li><a href="https://www.cert.ssi.gouv.fr/actualite/CERTFR-2016-ACT-038/#:~:text=Le%20protocole%20Web%20Proxy%20Auto,les%20r%C3%A9seaux%20internes%20d'entreprise.">WINDOWS &#8211; WPAD</a></li>



<li><a href="https://learn.microsoft.com/en-us/windows-server/administration/windows-server-update-services/deploy/2-configure-wsus#211-configure-your-firewall-to-allow-your-first-wsus-server-to-connect-to-microsoft-domains-on-the-internet">WINDOWS &#8211; WinUpdate Server</a></li>
</ul>



<p></p>


<ol class="wp-block-footnotes"><li id="131b6739-edc8-4ac7-8fcc-a0b5f525a9be"><strong>KPIs</strong> : Keys Performances Indicators <a href="#131b6739-edc8-4ac7-8fcc-a0b5f525a9be-link" aria-label="Aller à la note de bas de page 1">↩︎</a></li></ol>


<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>LINUX &#8211; Certificats</title>
		<link>https://erwanguillemard.com/linux-certificats/</link>
		
		<dc:creator><![CDATA[Erwan Guillemard]]></dc:creator>
		<pubDate>Tue, 13 Feb 2024 00:39:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Certificat]]></category>
		<category><![CDATA[Securité]]></category>
		<guid isPermaLink="false">https://erwanguillemard.com/?p=1616</guid>

					<description><![CDATA[C&#8217;est une évidence, mais pourtant je me suis souvent à mes début (ou par flemme) passé de certificats pour la publication de mes services. Et puis honnêtement « Qu&#8217;est ce que j&#8217;en avais à f****e ? Je ne faisais pas de publication sur le www« . Oui mais ce comportement désinvolte doublé d&#8217;une flemme masquait deux choses...]]></description>
										<content:encoded><![CDATA[
<p>C&rsquo;est une évidence, mais pourtant je me suis souvent à mes début (ou par flemme) passé de certificats pour la publication de mes services. Et puis honnêtement « <strong>Qu&rsquo;est ce que j&rsquo;en avais à f****e ? Je ne faisais pas de publication sur le www</strong>« . Oui mais ce comportement désinvolte doublé d&rsquo;une flemme masquait deux choses :</p>



<ul class="wp-block-list">
<li>Le manque de budget pour acheter un NDD<sup data-fn="24089398-7bf7-4faf-8224-705c69e1f611" class="fn"><a href="#24089398-7bf7-4faf-8224-705c69e1f611" id="24089398-7bf7-4faf-8224-705c69e1f611-link">1</a></sup> et un certificat TLS/SSL<sup data-fn="41f05846-438c-424c-83d0-86f31e3ed2d0" class="fn"><a href="#41f05846-438c-424c-83d0-86f31e3ed2d0" id="41f05846-438c-424c-83d0-86f31e3ed2d0-link">2</a></sup></li>



<li>Un manque de compétence pour générer un certificat auto-signé</li>
</ul>



<p>Le bât blesse hein ? Et pourtant même si un moment de honte est si vite passé, l&rsquo;orgueil en prend toujours un coup. Je me suis dit que cela serait une bonne chose de rappeler le fonctionnement théorique d&rsquo;un certificat. Puis le côté pratique pour générer un certificat autosigné, voir même pourquoi pas un certificat Lets Encrypt ?</p>





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



<ul class="wp-block-list">
<li><strong>SE</strong> : GNU LINUX</li>



<li><strong>Apps</strong> : openssl, certbot</li>



<li><strong>Autres</strong> : </li>
</ul>



<h2 class="wp-block-heading">Théorie &#8211; Certificats</h2>



<p>Déjà la première question légitime serait « <strong>Qu&rsquo;est ce qu&rsquo;un certificat ?</strong> » . L&rsquo;une des définition pourrait être « Un fichier qui permet de garantir l&rsquo;identité d&rsquo;une ressource de manière singulière et permettre l&rsquo;établissement d&rsquo;échange d&rsquo;informations de manière sécurisée. »</p>



<p>Il existe trois grands types de certificats SSL :</p>



<ul class="wp-block-list">
<li>DV (Domain Validated)</li>



<li>OV (Organization Validated)</li>



<li>EV (Extended Validation)</li>
</ul>



<p>Les certificats (les vrais authentiques) sont délivrés par des AC<sup data-fn="18356bd0-6a39-43f6-9798-6da40fd914b2" class="fn"><a href="#18356bd0-6a39-43f6-9798-6da40fd914b2" id="18356bd0-6a39-43f6-9798-6da40fd914b2-link">3</a></sup> qui vont vérifier la véracité des informations d&rsquo;une personne ou d&rsquo;une entreprise dans l&rsquo;optique d&rsquo;établir précisément son identité. L&rsquo;AC va émettre le certificat à l&rsquo;administrateur du site qui en à fait la demande. Dans le certificat, nous allons retrouver les informations suivantes :</p>



<ul class="wp-block-list">
<li>L&rsquo;url du site, de l&rsquo;ensemble des SANs<sup data-fn="e46f0ea9-72c5-4fcd-8d67-e037195548c2" class="fn"><a href="#e46f0ea9-72c5-4fcd-8d67-e037195548c2" id="e46f0ea9-72c5-4fcd-8d67-e037195548c2-link">4</a></sup> ou wildcard certifiés</li>



<li>Les informations de l&rsquo;entreprise tel que son nom, adresse</li>



<li>La clé publique</li>



<li>Le nom de l&rsquo;AC qui a fournit le certificat ainsi que ça signature</li>



<li>La date de début et de fin de validité du certificat</li>
</ul>



<p>Personnellement je n&rsquo;ai utilisé à ce jour que des certificats DV. Bien que tous ces certificats garantissent la sécurité d&rsquo;échanges d&rsquo;information ils n&rsquo;ont pas le même niveau d&rsquo;exigence, le même cout et le même temps de création et de livraison. </p>



<p class="has-text-align-center"><strong>DV &lt; OV &lt; EV</strong></p>



<p>Le certificat DV fournit le niveau le plus faible niveau d&rsquo;authentification. Il est facile d&rsquo;obtenir un certificat dans l&rsquo;heure. Lors de la demande de création du certificat, l&rsquo;AC va s&rsquo;assurer que le nom de domaine est bien la propriété de la personne ou de l&rsquo;entreprise.</p>



<p>Le certificat OV va fournir un niveau de sécurité un niveau au dessus en garantissant plus précisément l&rsquo;identité du certificat délivré auprès de la personne ou de l&rsquo;entreprise.  L&rsquo;AC va reprendre les mêmes vérifications que pour le certificat DV tout en ajoutant d&rsquo;autres contrôles afin de garantir de l&rsquo;identité du demandeur et donc d&rsquo;une confiance supplémentaire auprès des utilisateurs. Cette vérification peut être visible dans le certificat dans les attributs lié à l&rsquo;entreprise.</p>



<p>Le certificat EV fournira le niveau de confiance le plus élevé quant à l&rsquo;authentification. Lors de la demande de ce type de certificat, l&rsquo;AC va reprendre les mêmes points de contrôle que pour la construction des certificats OV et DV en poussant le contrôle bien plus loin. Tel que le contrôle du numéro d&rsquo;entreprise (SIRET, SIREN ect), le numéro de téléphone ect. Une fois le certificat délivré ce dernier est vu par les navigateurs comme une source de confiance maximum et gage de sécurité quant à l&rsquo;organisation qui le présente.</p>



<p>Ok pour les types de certificat. Mais qu&rsquo;en est il de la navigation entre un poste client et un site web ? </p>



<p>Avant d&rsquo;attaquer la navigation et l&rsquo;affichage d&rsquo;un site web sécurisé par un certificat, le poste client va établir auprès du site web un ensemble d&rsquo;opération (négociation TLS) afin d&rsquo;établir une clé de session entre les deux parties pour réaliser les échanges d&rsquo;informations chiffrés.</p>



<ul class="wp-block-list">
<li>Le poste client requête le serveur WEB</li>



<li>Le serveur WEB présente son certificat au poste client ainsi que la clé publique afin d&rsquo;établir une connexion sécurisée, chiffrée. C&rsquo;est l&rsquo;établissement de la clé de session</li>



<li>Le poste client valide qu&rsquo;il a confiance à l&rsquo;AC dans les informations présentées par le certificat à condition que la date de validité du certificat est conforme</li>



<li>La navigation peut alors débutée </li>
</ul>



<p>Pour le reste, si ça vous intéresse, je vous laisse approfondir le sujet. Comme pour le stockage et format de disque, il serait facile de débattre et d&rsquo;échanger sur le sujet durant des heures.</p>



<p>Intéressons nous plutôt en détails au contenu de notre certificat. Toc Toc Toc qu&rsquo;est ce qu&rsquo;il y a dans notre certificat (certificat.csr ou certificat.crt) ? Comme vu plus haut il contient les informations propres à notre identité physique pour garantir le niveau de confiance de notre ressource.</p>



<pre class="wp-block-code"><code><strong>$ sudo cat /etc/pki/tls/certs/portail.erwanguillemard.com.crt</strong></code></pre>



<p class="has-text-align-center"><img loading="lazy" decoding="async" width="500" height="189" class="wp-image-1646" style="width: 500px;" src="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_001_catcrtjpg.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_001_catcrtjpg.png 725w, https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_001_catcrtjpg-300x113.png 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /></p>



<p>Bon on va pas se mentir, comment doit on lire ça ? Ma méthode Champollion date des mes derniers cours de math lorsque je déchiffrais tant bien que mal les vagues d&rsquo;écritures rouges de mes professeurs « <strong>Oh le cours et le chapitre ne sont pas maitrisés, ressaisissez vous !!!!</strong> » (il y a du vrai et en toute honnêteté, j&rsquo;étais malheureusement bon client de ce genre d&rsquo;encouragement ?!) 🙂 Mis à part ça, sauf si vous savez décoder de tête le standard x509, vous pouvez passer par ce petit site que j&rsquo;aime bien <a href="https://www.sslshopper.com/certificate-decoder.html">Lien</a> et copier le contenu de notre certificat.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="919" height="642" src="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_002_ssldecoder_autosigne.png" alt="" class="wp-image-1647" srcset="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_002_ssldecoder_autosigne.png 919w, https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_002_ssldecoder_autosigne-300x210.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_002_ssldecoder_autosigne-768x537.png 768w" sizes="auto, (max-width: 919px) 100vw, 919px" /></figure>



<p>Ouwa la classe, il est même certifié 10 ans ! Sauf que c&rsquo;est pas un « vrai » certificat. C&rsquo;est un « faux » ou du moins un toléré. Au tout début de cet article j&rsquo;ai parlé de certificat autosigné. Si nous reprenons les trois types de certificats disponible, il en existe un quatrième, j&rsquo;ai nommé l&rsquo;autosigné ou AS.</p>



<p class="has-text-align-center"><strong>AS</strong> &lt; DV &lt; OV &lt; EV</p>



<p>Le certificat AS est considéré comme le certificat avec le niveau de sécurité le plus faible de tous pour ne pas dire inexistant (car il chiffre les données tout de même). L&rsquo;AS est considéré comme tel car comme son nom l&rsquo;indique, nous n&rsquo;allons pas passer par une AC tierce. <a href="https://www.youtube.com/watch?v=ObgDNk2GXEk&amp;ab_channel=euronews%28enfran%C3%A7ais%29">L&rsquo;AC c&rsquo;est moi !</a> Et donc vous conviendrez que nous ne pouvons pas être juge et partie. Niveau confiance c&rsquo;est pas top. Toutefois (car il y a un toutefois), cela est plutôt pratique pour garantir sur notre LAN le chiffrement des données entre des applications (attention, pas de publication vers l&rsquo;extérieur. Sauf si vous êtes joueurs et voulez à tous prix benchmarker les performances de Pôle Emploie vs France Travail). Un exemple, un accès à une solution de ticketing, CMDB :3</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="769" height="620" src="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_003_autosigne.png" alt="" class="wp-image-1648" srcset="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_003_autosigne.png 769w, https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_003_autosigne-300x242.png 300w" sizes="auto, (max-width: 769px) 100vw, 769px" /></figure>



<p>Notre navigateur « n&rsquo;est pas content » et il nous le fait savoir <strong>« ERR_CERT_AUTHORITY_INVALID »</strong> car il ne peut pas vérifier l&rsquo;AC et donc ne fait pas confiance au certificat qui est présenté. Cela pourrait être un individu malveillant ? Bien que si nous poursuivons le navigateur nous informe que notre navigation n&rsquo;est pas sécurisée, nos échanges sont bien chiffrés à travers la clé publique présente dans notre certificat.</p>



<p>Et si maintenant nous passions à quelques choses de plus concret ?</p>



<h2 class="wp-block-heading">Pratique &#8211; Certificats</h2>



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



<p>Comme présenté précédemment, le certificat autosigné a son avantage si l&rsquo;on souhaite garantir un minimum de sécurité sur notre LAN à moindre cout.</p>



<p>Pour se faire nous allons dans un premier temps générer les informations de l&rsquo;entité de certification « AC », certificat et clé privée. Puis nous générerons notre certificats que nous adouberons dans par NOTRE entité de confiance.</p>



<h4 class="wp-block-heading">Autorité de Confiance</h4>



<p>La commande qui suit va nous permettre de générer la clé privé de notre autorité de confiance. Passons à la loupe l&rsquo;ensemble des commandes que nous allons exécuter. OpenSSL peut vite se montrer complexe et il est facile de se perdre dans les commandes quand nous ne les utilisons pas quotidiennement.</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id1616_820dfe-6d kt-accordion-has-3-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-pane1616_307109-4d"><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">AC Racine &#8211; Génération du Key</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">
<ul class="wp-block-list">
<li><strong>ecparam :</strong> indique que nous allons générer à partir d&rsquo;une fonction mathématique EC<sup data-fn="d53581ba-ce14-4b81-add8-76a2ea00543a" class="fn"><a href="#d53581ba-ce14-4b81-add8-76a2ea00543a" id="d53581ba-ce14-4b81-add8-76a2ea00543a-link">5</a></sup> une série d&rsquo;octet en tant que strings qui débutera par &#8212;&#8212;-BEGIN EC PARAMETERS&#8212;&#8211; et se terminera par &#8212;&#8212;-END EC PARAMETERS&#8212;&#8211;.</li>



<li><strong>out :</strong> indique la sortie dans notre fichier *.key</li>



<li><strong>name :</strong> spécifie le type de courbe elliptique que nous souhaitons pour générer notre clé. il est possible d&rsquo;afficher les ECs disponible <code>openssl ecparam -list_curves</code>.  Attention le choix de l&rsquo;algorithme et important car ils n&rsquo;ont pas tous le même usage et ne sont pas supportés par tous les navigateurs ou autres. Dans notre usage, il est préférable d&rsquo;utiliser <strong>prime256v1</strong> ou <strong>secp384r1</strong> (aussi connu sous P384)</li>



<li><strong>genkey :</strong> précisons la génération d&rsquo;une clé</li>
</ul>



<pre class="wp-block-code"><code><strong>$ sudo openssl ecparam -out erwanguillemard_racine.key -name prime256v1 -genkey</strong></code></pre>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane1616_b62501-b0"><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">AC Racine &#8211; Génération du CSR</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>Notre clé *.key racine créée, nous allons pouvoir générer notre demande de signature de certificat CSR<sup data-fn="c0ef079a-d45d-4e63-b1f0-27ed0f7fa957" class="fn"><a href="#c0ef079a-d45d-4e63-b1f0-27ed0f7fa957" id="c0ef079a-d45d-4e63-b1f0-27ed0f7fa957-link">6</a></sup> . </p>



<ul class="wp-block-list">
<li><strong>req :</strong> instruction de de demande de requête</li>



<li><strong>new :</strong> nouvelle requête</li>



<li><strong>sha256 :</strong> algorithme de salage, hashage qui sera utilisé</li>



<li><strong>key :</strong> spécifions notre clé privé soit la clé généré précédemment</li>



<li><strong>out :</strong> indique la sortie dans notre fichier *.csr</li>
</ul>



<pre class="wp-block-code"><code><strong>$ sudo openssl req -new -sha256 -key erwanguillemard_racine.key -out erwanguillemard_racine.csr</strong></code></pre>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane1616_8d95b6-41"><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">AC Racine &#8211; Génération du CRT</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 avons tous les éléments nécessaires pour générer notre certificat racine d&rsquo;autorité de certification soit notre *.csr et *.key.</p>



<ul class="wp-block-list">
<li><strong>x509</strong> : spécifie la norme de certificat qui sera utilisé. Généralisé depuis les années 80, cette norme est toujours en vigueur pour les certificats à clé publique. Il est l&rsquo;un des standards des certificats de nos jours.</li>



<li><strong>req</strong> : nouvelle requête</li>



<li><strong>sha256</strong> : algorithme de salage, hashage qui sera utilisé</li>



<li><strong>days</strong> : le nombre de jour de validité</li>



<li><strong>in</strong> : le fichier *.csr généré précédemment</li>



<li><strong>signkey</strong> : le fichier *.key qui va signer notre certificat</li>



<li><strong>out</strong> : indique la sortie de notre certificat dans notre fichier *.crt</li>
</ul>



<pre class="wp-block-code"><code><strong>$ sudo openssl x509 -req -sha256 -days 3650 -in erwanguillemard_racine.csr -signkey erwanguillemard_racine.key -out erwanguillemard_racineCA.crt</strong></code></pre>
</div></div></div>
</div></div></div>



<h4 class="wp-block-heading">Certificat &#8211; portail.erwanguillemard.com</h4>



<p>Et voilà notre AC terminée. Il ne nous reste plus qu&rsquo;à recommencer les étapes pour notre certificat que nous déploieront pour notre application ITOP sous l&rsquo;url portail.erwanguillemard.com. L&rsquo;exception se verra lors de la génération du certificat puisque nous utiliserons notre certificat racine ainsi que notre clé racine de notre autorité de certification « homemade ».</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id1616_bac0fb-b3 kt-accordion-has-3-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-pane1616_121c99-d9"><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">Génération du Key</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 class="has-text-align-center"><em>(On admire un mangnifique Ctrl+C enchainé d&rsquo;un Ctrl+V)</em></p>



<ul class="wp-block-list">
<li><strong>ecparam :</strong> indique que nous allons générer à partir d&rsquo;une fonction mathématique EC<sup data-fn="d53581ba-ce14-4b81-add8-76a2ea00543a" class="fn"><a href="#d53581ba-ce14-4b81-add8-76a2ea00543a" id="d53581ba-ce14-4b81-add8-76a2ea00543a-link">5</a></sup> une série d&rsquo;octet en tant que strings qui débutera par &#8212;&#8212;-BEGIN EC PARAMETERS&#8212;&#8211; et se terminera par &#8212;&#8212;-END EC PARAMETERS&#8212;&#8211;.</li>



<li><strong>out :</strong> indique la sortie dans notre fichier *.key</li>



<li><strong>name :</strong> spécifie le type de courbe elliptique que nous souhaitons pour générer notre clé. il est possible d&rsquo;afficher les ECs disponible <code>openssl ecparam -list_curves</code>.  Attention le choix de l&rsquo;algorithme et important car ils n&rsquo;ont pas tous le même usage et ne sont pas supportés par tous les navigateurs ou autres. Dans notre usage, il est préférable d&rsquo;utiliser <strong>prime256v1</strong> ou <strong>secp384r1</strong> (aussi connu sous P384)</li>



<li><strong>genkey :</strong> précise la génération d&rsquo;une clé</li>
</ul>



<pre class="wp-block-code"><code><strong>$ sudo openssl ecparam -out portail.erwanguillemard.com.key -name prime256v1 -genkey</strong></code></pre>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane1616_55b383-44"><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">Génération du CSR</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>Notre clé *.key créée, nous allons pouvoir générer notre demande de signature de certificat CSR<sup data-fn="c0ef079a-d45d-4e63-b1f0-27ed0f7fa957" class="fn"><a href="#c0ef079a-d45d-4e63-b1f0-27ed0f7fa957" id="c0ef079a-d45d-4e63-b1f0-27ed0f7fa957-link">6</a></sup> . </p>



<ul class="wp-block-list">
<li><strong>req :</strong> instruction de de demande de requete</li>



<li><strong>new :</strong> nouvelle requete</li>



<li><strong>sha256 :</strong> algorithme de salage, hashage qui sera utilisé</li>



<li><strong>key :</strong> spécifions notre clé privé soit la clé généré précédemment</li>



<li><strong>out :</strong> indique la sortie dans notre fichier *.csr</li>
</ul>



<pre class="wp-block-code"><code><strong>$ sudo openssl req -new -sha256 -key portail.erwanguillemard.com.key -out portail.erwanguillemard.com.csr</strong></code></pre>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane1616_055e95-5c"><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">Génération du CRT</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 avons tous les éléments nécessaires pour générer notre certificat soit notre *.csr ainsi que notre certificat racine et clé racine de notre AC.</p>



<p>La commande diffère de celle qui a été exécuté lors de la génération de notre certificat racine AC.</p>



<ul class="wp-block-list">
<li><strong>x509</strong> : spécifie la norme de certificat qui sera utilisé. Généralisé depuis les années 80, cette norme est toujours en vigueur pour les certificats à clé publique. Il est l&rsquo;un des standards des certificats de nos jours.</li>



<li><strong>req</strong> : nouvelle requête</li>



<li><strong>in</strong> : le fichier *.csr de notre certificat portail.erwanguillemard.com</li>



<li><strong>CA</strong> : le certificat racine de notre AC *.crt généré plus tôt</li>



<li><strong>CAkey</strong> : la clé privée racine correspondant à notre AC *.key</li>



<li><strong>CAcreateserial</strong> : génère un numéro de série unique à notre certificat par le biais de notre AC</li>



<li><strong>days</strong> : le nombre de jour de validité de notre certificat</li>



<li><strong>out</strong> : Indique la sortie de notre certificat dans notre fichier *.crt</li>



<li><strong>sha256</strong> : Algorithme de salage, hashage qui sera utilisé</li>
</ul>



<pre class="wp-block-code"><code><strong>$ sudo openssl x509 -req -in portail.erwanguillemard.com.csr -CA  erwanguillemard_racineCA.crt -CAkey erwanguillemard_racine.key -CAcreateserial -out portail.erwanguillemard.com.crt -days 3650 -sha256</strong></code></pre>
</div></div></div>
</div></div></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="743" height="624" src="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_009_autosigned_ok.png" alt="" class="wp-image-1665" srcset="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_009_autosigned_ok.png 743w, https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_009_autosigned_ok-300x252.png 300w" sizes="auto, (max-width: 743px) 100vw, 743px" /></figure>
</div>


<p>Nous avons donc notre certificat valide est disponible. Toutefois pour utiliser celui ci et ne pas le laisser trainer n&rsquo;importe où (au vu de la criticité des informations qu&rsquo;il contient), nous allons les déplacer dans les répertoires adéquates. Nous verrons ça plus bas.</p>



<h3 class="wp-block-heading">Let&rsquo;s Encrypt</h3>



<p>Les certificats Let&rsquo;s Encrypt sont apparu bien après mon cursus universitaire et donc je ne connaissais pas le principe. Aujourd&rsquo;hui je dirais que c&rsquo;est l&rsquo;un des plus utilisés pour les sites vitrines. Pour rappel, le remplacement d&rsquo;un certificat au delà du cout financier (variable) nécessite des actions humaines qui peuvent être conséquentes dans des infrastructures complexes. C&rsquo;est pourquoi Let&rsquo;s Encrypt propose de fournir gratuitement des certificats et de permettre de piloter et d&rsquo;industrialiser le renouvellement de ces derniers directement sur les environnements. Cela permet également de générer facilement un certificat.</p>



<p>Ci-dessous, un exemple de déploiement depuis un serveur linux. Il sera toutefois nécessaire de déployer les paquets certbot ainsi que certbot pour apache.</p>



<pre class="wp-block-code"><code><strong># dnf install certbot python3-certbot-apache</strong></code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="933" height="236" src="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_004_Letsencrypt_install.png" alt="" class="wp-image-1656" srcset="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_004_Letsencrypt_install.png 933w, https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_004_Letsencrypt_install-300x76.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_004_Letsencrypt_install-768x194.png 768w" sizes="auto, (max-width: 933px) 100vw, 933px" /></figure>



<p>Nous souhaitons générer notre certificat. Certbot va nous permettre de générer le certificat et de l&rsquo;installer directement sur notre server ou de seulement générer celui-ci pour notre daemon apache. Je suis plutôt partisan de la seconde option. Je préfère ne pas faire confiance à la machine. Surtout que nous sommes en root.</p>



<pre class="wp-block-code"><code><strong># certbot certonly --apache</strong></code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="884" height="130" src="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_005_Letsencrypt_deploy_1-1.png" alt="" class="wp-image-1661" srcset="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_005_Letsencrypt_deploy_1-1.png 884w, https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_005_Letsencrypt_deploy_1-1-300x44.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_005_Letsencrypt_deploy_1-1-768x113.png 768w" sizes="auto, (max-width: 884px) 100vw, 884px" /></figure>



<p>Le bot est sympa, il vous demande même votre adresse mail pour vous notifier de l&rsquo;expiration de votre certificat en cas d&rsquo;oublie. Il sera nécessaire également d&rsquo;accepter les termes d&rsquo;utilisations (que je n&rsquo;ai pas lu naturellement comme tout le monde&#8230; Que celui qui me contredise m&rsquo;offre la première bière !)</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="936" height="132" src="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_006_Letsencrypt_deploy_2-1.png" alt="" class="wp-image-1662" srcset="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_006_Letsencrypt_deploy_2-1.png 936w, https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_006_Letsencrypt_deploy_2-1-300x42.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_006_Letsencrypt_deploy_2-1-768x108.png 768w" sizes="auto, (max-width: 936px) 100vw, 936px" /></figure>



<p>Libre à vous de dire Y pour accepter ou N pour refuser avec vos petits doigts.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="940" height="166" src="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_007_Letsencrypt_deploy_3-1.png" alt="" class="wp-image-1663" srcset="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_007_Letsencrypt_deploy_3-1.png 940w, https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_007_Letsencrypt_deploy_3-1-300x53.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_007_Letsencrypt_deploy_3-1-768x136.png 768w" sizes="auto, (max-width: 940px) 100vw, 940px" /></figure>



<p>Et là, et bien ça a merdé&#8230; Je vous passe les captures d&rsquo;écrans d&rsquo;échec critique. En voulant générer mon certificat, je n&rsquo;avais pas à se moment générer mon fichier de configuration apache (mon virtualhost) et ni installer la partie web d&rsquo;ITOP. Or, le certbot se base sur la configuration apache pour générer le certificat.</p>



<p>Conclusion, avoir un fichier de configuration valide.</p>



<p>Nous allons donc faire les choses bien et réaliser un enregistrement DNS pour notre site portail.erwanguillemard.com puis nous rappelons notre dernière commande.</p>



<pre class="wp-block-code"><code><strong># certbot certonly --apache</strong></code></pre>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="935" height="606" src="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_010_Letsencrypt_failed-1.png" alt="" class="wp-image-1671" srcset="https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_010_Letsencrypt_failed-1.png 935w, https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_010_Letsencrypt_failed-1-300x194.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/02/IL_008_010_Letsencrypt_failed-1-768x498.png 768w" sizes="auto, (max-width: 935px) 100vw, 935px" /></figure>
</div>


<p>Ca ne fonctionne pas mieux&#8230; Ce qui est normal puisque mon site n&rsquo;est pas joignable depuis l&rsquo;extérieur car :</p>



<ul class="wp-block-list">
<li>Je n&rsquo;ai pas de firewall (en dehors de ma box) pour faire un SNAT digne de ce nom</li>



<li>Je n&rsquo;ai pas la possibilité de faire un réseau de couche 2 à la maison (je donne raison à ma femme, ça reviendrait à rammener du travail à la maison. Mais j&rsquo;y arriverai un jour 🙂 )</li>



<li>Je n&rsquo;ai pas d&rsquo;ESXi (un petit vSwitch avec un groupement de port par dessus et yopi hop !)</li>
</ul>



<p>Enfin, cela ne change rien puisqu&rsquo;à la fin de cette étape, nous récupérons notre certificats ainsi que notre clé qu&rsquo;il conviendra de déplacer dans les bons répertoires et de configurer notre fichier de configuration apache propre à notre site web.</p>



<h2 class="wp-block-heading">Où stocker le .key et .crt</h2>



<p>Il m&rsquo;est déjà arrivé lors d&rsquo;audit d&rsquo;un système GNU de trouver des clés et certificats dans des répertoires qui ne devraient pas l&rsquo;être. D&rsquo;où la première réflexion qui me vient à ces moment là.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>Qui qu’a mis ça là pis qu’a pas balayé?</em></p>
<cite>Pierre BENICHOU </cite></blockquote>



<p>Effectivement, les informations sont sensibles et je crois avoir bien insisté sur ce point précédemment. En temps normal, les informations sont stockées sous <strong>/etc/pki/</strong>. Dans notre cas plus précisément dans <strong>/etc/pki/tls/</strong>.</p>



<p>Les certificats doivent être stockés sous <strong>/etc/pki/tls/certs/</strong>, les clés doivent être stockées quant à elles sous <strong>/etc/pki/tls/private/</strong>. Dans tous les cas les permissions doivent être <strong>600</strong> pour <strong>root:root</strong>.</p>



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



<p>Je pense que tant que faire se peut il est nécessaire de déployer des certificats. Il se pose alors la question de la criticité et de l&rsquo;exposition de notre site.</p>



<p>Effectivement, si notre site est publié sur internet, le certificat doit être délivré par une CA afin de garantir une niveau de confiance satisfaisant. Un certificat Let&rsquo;s Encrypt est également envisageable mais de mon point de vu plus à destination de site vitrine. Toutefois pour un usage interne l&rsquo;utilisation d&rsquo;un certificat auto-signé fait l&rsquo;affaire et c&rsquo;est toujours mieux que rien.</p>



<p>L&rsquo;un des points de vigilance est de contrôler que les éléments (certificats, key etc) sont bien « rangés » dans les bons répertoires et que les droits et permissions sont bien appliqués.</p>



<p>Dans le cas de renouvellement de certificat, il sera nécessaire de ne pas collectionner les éléments expirés. Quand un changement est réalisé autant aller jusqu&rsquo;au bout. </p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>Je NAT mes congés, galoche mon CA. Ca nous ramènera pas Carlos cette histoire.</em></p>
<cite>Erwan GUILLEMARD</cite></blockquote>



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



<ul class="wp-block-list">
<li><a href="https://certbot.eff.org/">Certbot</a></li>



<li><a href="https://www.sslshopper.com/certificate-decoder.html">CertificateSSL Decoder</a></li>



<li><a href="https://www.openssl.org/docs/manmaster/man1/openssl-ecparam.html">OpenSSL &#8211; ECPARAM</a></li>



<li><a href="https://www.openssl.org/docs/man1.1.1/man1/x509.html">OpenSSL &#8211; x509</a></li>
</ul>


<ol class="wp-block-footnotes"><li id="24089398-7bf7-4faf-8224-705c69e1f611">NDD : Nom De Domaine <a href="#24089398-7bf7-4faf-8224-705c69e1f611-link" aria-label="Aller à la note de bas de page 1">↩︎</a></li><li id="41f05846-438c-424c-83d0-86f31e3ed2d0">TLS/SSL : Transport Layer Security / Secure Sockets Layer <a href="#41f05846-438c-424c-83d0-86f31e3ed2d0-link" aria-label="Aller à la note de bas de page 2">↩︎</a></li><li id="18356bd0-6a39-43f6-9798-6da40fd914b2">AC : Authorization Certificate <a href="#18356bd0-6a39-43f6-9798-6da40fd914b2-link" aria-label="Aller à la note de bas de page 3">↩︎</a></li><li id="e46f0ea9-72c5-4fcd-8d67-e037195548c2">SAN : Subject Alternative Name <a href="#e46f0ea9-72c5-4fcd-8d67-e037195548c2-link" aria-label="Aller à la note de bas de page 4">↩︎</a></li><li id="d53581ba-ce14-4b81-add8-76a2ea00543a">EC : Elliptic curve <a href="#d53581ba-ce14-4b81-add8-76a2ea00543a-link" aria-label="Aller à la note de bas de page 5">↩︎</a></li><li id="c0ef079a-d45d-4e63-b1f0-27ed0f7fa957">CSR : Certificat Signature Request <a href="#c0ef079a-d45d-4e63-b1f0-27ed0f7fa957-link" aria-label="Aller à la note de bas de page 6">↩︎</a></li><li id="d53581ba-ce14-4b81-add8-76a2ea00543a">EC : Elliptic curve <a href="#d53581ba-ce14-4b81-add8-76a2ea00543a-link" aria-label="Aller à la note de bas de page 7">↩︎</a></li><li id="c0ef079a-d45d-4e63-b1f0-27ed0f7fa957">CSR : Certificat Signature Request <a href="#c0ef079a-d45d-4e63-b1f0-27ed0f7fa957-link" aria-label="Aller à la note de bas de page 8">↩︎</a></li></ol>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>LINUX &#8211; MFA</title>
		<link>https://erwanguillemard.com/linux-mfa/</link>
		
		<dc:creator><![CDATA[Erwan Guillemard]]></dc:creator>
		<pubDate>Mon, 29 Jan 2024 22:40:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Securité]]></category>
		<guid isPermaLink="false">https://erwanguillemard.com/?p=1293</guid>

					<description><![CDATA[L’authentification est devenue au cours de ces dernières années un vrai sujet. L’évolution des nouvelles technologies et de ces usages ne cessent de revoir perpétuellement son fonctionnement afin de garantir sécurité et facilité d’utilisation. Aujourd’hui, un grand nombre de site si ce n’est la quasi-totalité proposent la mise en place à ces usagers l’authentification multifactoriel...]]></description>
										<content:encoded><![CDATA[
<p>L’authentification est devenue au cours de ces dernières années un vrai sujet. L’évolution des nouvelles technologies et de ces usages ne cessent de revoir perpétuellement son fonctionnement afin de garantir sécurité et facilité d’utilisation.</p>



<p>Aujourd’hui, un grand nombre de site si ce n’est la quasi-totalité proposent la mise en place à ces usagers l’authentification multifactoriel (MFA) et ce à travers différents biais, mail, sms, authenticator, clé physique ect.</p>



<p>Depuis quelques années déjà je me suis interrogé sur la mise en place d’une telle fonctionnalité sur les environnements UNIX que je trouvais trop exposés et vulnérables.</p>



<p class="has-text-align-center"><strong><em>LINUX, vulnérable&nbsp;? et Windows alors&nbsp;t’en fait quoi pèpère ?</em></strong></p>



<p>A cette époque j’avais 20 ans disait la chanson et il était plus facile (c’est toujours d’actualité), de déployer un petite VM LINUX avec un daemon configuré pour publier un service (xFTPx, Serveur WEB perso ect) que de monter une grosse VM Windows avec des applications tierces et une configuration chronophage. Toutefois, je laisse à chacun le choix des solutions et ne souhaite pas engager le sujet <a href="https://www.youtube.com/watch?v=rlarCLhzfoU&amp;ab_channel=michel2i"><em>Est-ce que Linux est mieux que Windows t-elle est la question</em></a>. Quelqu’un de constitution normal ne se poserait pas la question quant à la publication du protocole SSH directement sur le WWW (ou autres services à risques) de manière frontale.</p>



<p>Et pourtant bien qu’en 2024 il subsiste toujours ce type de publication sans Firewall, sans durcissement du système d’exploitation et sans renforcement de l’authentification sur le WWW. Dans le cas contraire, même à travers un firewall le risque subsiste.</p>



<p>La question bien avant d’aborder le durcissement d’un environnement LINUX dans un environnement ISO27001/HDS est donc de limiter le risque lié à l’authentification de base Login/Password.</p>



<p>Les puristes me diront que la MFA existe depuis longtemps à travers l’authentification par clé (privée, publique) et par passphrase. Je vois cette méthode d’authentification différemment.</p>



<p>Effectivement, si je ne possède pas la clé privée pas possible de m’authentifier via SSH. Donc cela répond à la MFA. Toutefois, il faut stocker la clé dans un endroit sécurisé, ne pas la perdre, ne pas se la faire voler. Ne pas l’avoir déployée sur une armada d’autres serveurs (pratique courante dans l’administration des systèmes d’informations pour faciliter le MCO).</p>



<p>«&nbsp;<em>La sécurité ce n’est pas pratique</em>&nbsp;» disait l’un de mes collègues et il a malheureusement bien raison. Je suis partisan des relation 1:1 soit d’un jeu de clé par serveur.</p>



<p>Pour cela je préfère donc les méthodes d’authentifications suivantes uniquement pour les comptes utilisateurs :</p>



<ul class="wp-block-list">
<li>Login + MFA</li>



<li>Key + MFA</li>
</ul>



<p>Rien ne justifie l’authentification direct par le biais d&rsquo;un compte avec privilège, administrateur ou root. La notion d’escalade de privilège et donc de RBAC ferra l’objet d’un autre billet.</p>





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



<ul class="wp-block-list">
<li><strong>SE:</strong> RHEL, DEBIAN, UBUNTU</li>



<li><strong>Apps:</strong> Google-Authenticator</li>



<li><strong>Autres:</strong> Sauvegarde fonctionnelle et/ou sauvegarde des fichiers de configurations au préalable</li>
</ul>



<h2 class="wp-block-heading">MFA – Google Authentificator</h2>



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



<p>Rechercher et installer les paquets suivants, <strong>google authenticator </strong>et <strong>qrencode-libs</strong>.</p>



<ul class="wp-block-list">
<li>Le premier paquet permettra de générer les tokens de connexion toutes les 30 secondes</li>



<li>Le second paquet permettra de générer le QRCode pour intégrer le code dans un gestionnaire d’authentification.</li>
</ul>



<pre class="wp-block-code"><code><strong>$ sudo dnf search google-authenticator</strong> 
<strong>$ sudo dnf search qrencode-libs</strong>
<strong>$ sudo dnf install google-authenticator qrencode-libs</strong> <strong>&nbsp;</strong></code></pre>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69d48ec27c502&quot;}" data-wp-interactive="core/image" data-wp-key="69d48ec27c502" class="aligncenter size-full is-resized wp-lightbox-container"><img loading="lazy" decoding="async" width="412" height="187" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://erwanguillemard.com/wp-content/uploads/2024/01/002_0_Search_Install.png" alt="search and install packets" class="wp-image-1296" style="width:442px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/01/002_0_Search_Install.png 412w, https://erwanguillemard.com/wp-content/uploads/2024/01/002_0_Search_Install-300x136.png 300w" sizes="auto, (max-width: 412px) 100vw, 412px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandir"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


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



<p>Pour la phase de configuration, la majorité des actions sont à réaliser en tant qu’utilisateur et non en tant que root.</p>



<figure class="wp-block-table"><table><tbody><tr><td><strong>/!\</strong><strong>Attention :</strong> Pour rappel, les commandes en tant qu’utilisateur seront signalées avec <strong>$</strong> et avec <strong>#</strong> en tant que root.</td></tr></tbody></table></figure>



<p>Création d’un répertoire caché <strong>.ssh</strong> dans le home de l’utilisateur </p>



<pre class="wp-block-code"><code><strong>$ mkdir ~/.ssh</strong></code></pre>



<p class="has-text-align-left">Ce répertoire contiendra le fichier d’authentification propre à l’utilisateur avec les tokens générés par Google Authentificator. Cette manipulation permet de ne pas désactiver le SELinux. Ce service n’autorise pas par défaut le daemon SSHD à écrire en dehors de son répertoire dans le home des utilisateurs, c’est pourquoi nous allons configurer l’application google-authentication pour changer d’emplacement par défaut.</p>



<pre class="wp-block-code"><code><strong>$ google-authentication -s ~/.ssh/google_authenticator</strong></code></pre>



<figure class="wp-block-table is-style-regular"><table><tbody><tr><td>Activer la génération des tokens basés sur le temps. (<strong>Y</strong>)</td><td><img loading="lazy" decoding="async" width="500" height="47" class="wp-image-1300" style="width: 500px;" src="https://erwanguillemard.com/wp-content/uploads/2024/01/002_1_Token.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/01/002_1_Token.png 307w, https://erwanguillemard.com/wp-content/uploads/2024/01/002_1_Token-300x28.png 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /></td></tr><tr><td rowspan="2">Scanner et enregistrer le QRcode ainsi que les 5 codes de secours lorsque vous aurez saisie le code généré par l’application. &nbsp; <em>La perte de ces informations ne vous permettra plus à l’avenir de vous authentifier</em>. &nbsp; Vous pouvez également préciser l’url comme source TOIP en copiant l’URL fournit en amont du QRCode. &nbsp; Mettez à jour le fichier google_authenticator (<strong>Y</strong>)</td><td><img loading="lazy" decoding="async" width="500" height="505" class="wp-image-1301" style="width: 500px;" src="https://erwanguillemard.com/wp-content/uploads/2024/01/002_2_qrcode.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/01/002_2_qrcode.png 307w, https://erwanguillemard.com/wp-content/uploads/2024/01/002_2_qrcode-297x300.png 297w" sizes="auto, (max-width: 500px) 100vw, 500px" /></td></tr><tr><td><img loading="lazy" decoding="async" width="500" height="171" class="wp-image-1302" style="width: 500px;" src="https://erwanguillemard.com/wp-content/uploads/2024/01/002_3_Securitycode.png" alt=""></td></tr><tr><td>Prémunissez vous des attaques man-in-the-middle en saisissant (<strong>Y</strong>)   Ne permettez pas la durée de vie d’un token au-delà de 40 minutes une fois les 30 secondes écoulées (<strong>N</strong>)    </td><td><img loading="lazy" decoding="async" width="500" height="198" class="wp-image-1303" style="width: 500px;" src="https://erwanguillemard.com/wp-content/uploads/2024/01/002_4_configuration.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/01/002_4_configuration.png 303w, https://erwanguillemard.com/wp-content/uploads/2024/01/002_4_configuration-300x119.png 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /></td></tr><tr><td>Activer la fréquence de limitation dans le cas d’échec d’authentification au-delà de 3 tentatives (<strong>Y</strong>)</td><td><img loading="lazy" decoding="async" width="500" height="56" class="wp-image-1304" style="width: 500px;" src="https://erwanguillemard.com/wp-content/uploads/2024/01/002_5_attempts.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/01/002_5_attempts.png 302w, https://erwanguillemard.com/wp-content/uploads/2024/01/002_5_attempts-300x34.png 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /></td></tr></tbody></table></figure>



<p>Si tu veux du challenge pour me «&nbsp;tipiaker&nbsp;» tu peux y aller à savoir que&nbsp;:</p>



<ul class="wp-block-list">
<li>La VM n’est pas publiée</li>



<li>La VM est jetable c’est du LAB</li>



<li>La VM est sur mon poste et pas sur une infrastructure de production</li>



<li>La VM a été reconfiguré plusieurs fois</li>



<li>J’ai un doctorat en paint obtenu sur Windows 95 (True story pour le SE et paint)</li>
</ul>



<p>Une fois la configuration effectuée, réactualiser le contexte du daemon SSH dans le SELinux</p>



<pre class="wp-block-code"><code><strong>$ restorecon -rv ~/.ssh/</strong></code></pre>



<h3 class="wp-block-heading">SSH &amp; 2FA</h3>



<p>Avant de commencer, faite une sauvegarde des fichiers de configuration suivant&nbsp;(sshd et sshd_config). </p>



<pre class="wp-block-code"><code><strong>$ sudo cp /etc/pam.d/sshd /etc/pam.d/sshd.origin
$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.origin</strong></code></pre>



<p>Modifiez le fichier de configuration sshd et ajouter les lignes suivantes à la fin du fichier.</p>



<pre class="wp-block-code"><code><strong>$ sudo vim /etc/pam.d/sshd</strong>

<strong>auth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp;&nbsp;&nbsp; pam_google_authenticator.so secret=/home/${USER}/.ssh/google_authenticator</strong> 
<strong>auth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp;&nbsp;&nbsp; pam_permit.so</strong></code></pre>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69d48ec27cd70&quot;}" data-wp-interactive="core/image" data-wp-key="69d48ec27cd70" class="aligncenter size-full is-resized wp-lightbox-container"><img loading="lazy" decoding="async" width="308" height="121" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://erwanguillemard.com/wp-content/uploads/2024/01/002_6_pam_ssh.png" alt="" class="wp-image-1305" style="width:398px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/01/002_6_pam_ssh.png 308w, https://erwanguillemard.com/wp-content/uploads/2024/01/002_6_pam_ssh-300x118.png 300w" sizes="auto, (max-width: 308px) 100vw, 308px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandir"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p>Comme nous avons modifié l’emplacement par défaut de l’apps google_authenticator, nous spécifions l’emplacement du fichier de configuration dans le home de l’utilisateur. L’avantage de cette méthode, nous pouvons générer un nouveau fichier MFA pour d’autres utilisateurs vus que le chemin appel la variable d’environnement <strong>${USER}</strong>. <br>Afin de rendre optionnel la méthode d’authentification, nous pouvons préciser à la fin de la première ligne l’argument <strong>nullok</strong>.<br>La seconde ligne permet d’autoriser l’authentification si un utilisateur n’utilise pas la MFA dans le cas de l’utilisation <strong>nullok</strong>.</p>



<p>Modifiez le fichier de configuration du daemon ssh pour activer le challenge d’authentification en passant ce dernier à <strong>YES</strong> et en vérifiant que l’argument <strong>UsePAM</strong> est à <strong>YES </strong>également.<br><br>Sauvegardez le fichier. </p>



<figure class="wp-block-table"><table><tbody><tr><td><img loading="lazy" decoding="async" width="500" height="95" class="wp-image-1306" style="width: 500px;" src="https://erwanguillemard.com/wp-content/uploads/2024/01/002_7_pam_ssh.png" alt=""></td><td><img loading="lazy" decoding="async" width="500" height="143" class="wp-image-1307" style="width: 500px;" src="https://erwanguillemard.com/wp-content/uploads/2024/01/002_8_pam_ssh.png" alt=""></td></tr></tbody></table></figure>



<p><strong>/!\Attention :</strong> Depuis RHEL 9 la configuration est différente pour l’authentification google.<br>Il est donc nécessaire de spécifier le challenge d’authentification dans le fichier gauth.conf.</p>



<pre class="wp-block-code"><code><strong>$ echo "ChallengeResponseAuthentication yes" &gt; /etc/ssh/sshd_config.d/10-gauth.conf</strong></code></pre>



<p>Relancez le daemon SSH sans quitter le terminal.</p>



<pre class="wp-block-code"><code><strong>$ sudo systemctl restart sshd.service</strong></code></pre>



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



<p>Dans un second terminal, connectez vous en tant qu’utilisateur protégé par la MFA.<br>Saisissez le mot de passe local de l’utilisateur, puis saisissiez le TOTP. </p>



<figure class="wp-block-table"><table><tbody><tr><td><img loading="lazy" decoding="async" width="250" height="439" class="wp-image-1308" style="width: 250px;" src="https://erwanguillemard.com/wp-content/uploads/2024/01/002_9_tokenMFA.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/01/002_9_tokenMFA.png 190w, https://erwanguillemard.com/wp-content/uploads/2024/01/002_9_tokenMFA-171x300.png 171w" sizes="auto, (max-width: 250px) 100vw, 250px" /></td><td><img loading="lazy" decoding="async" width="500" height="123" class="wp-image-1309" style="width: 500px;" src="https://erwanguillemard.com/wp-content/uploads/2024/01/002_10_authentification.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/01/002_10_authentification.png 325w, https://erwanguillemard.com/wp-content/uploads/2024/01/002_10_authentification-300x74.png 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /></td></tr></tbody></table></figure>



<p>Vous voilà authentifiés. </p>



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



<p>L’accès à la ressource est sécurisé via SSH ainsi que par une authentification complémentaire. Nous pouvons toujours en cas d’incident passer par l’authentification classique depuis la console système. Toutefois nous pouvons noter une limite à l’implémentation de cette fonctionnalité.</p>



<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id1293_324fdb-d8 kt-accordion-has-2-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-pane1293_5efb09-83"><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">Avantages</span><span class="kb-svg-icon-wrap kb-svg-icon-fe_check kt-btn-side-right"><svg viewBox="0 0 24 24"  fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"  aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></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">
<ul class="wp-block-list">
<li>Si perte de la MFA possible de récupérer la clé par la console système</li>



<li>Double sécurité</li>



<li>Peut être couplé avec d’autres restrictions</li>



<li>Possibilité de mettre facultatif l’authentification double facteurs</li>



<li>Modification rapide du jeton d’authentification</li>
</ul>
</div></div></div>



<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane1293_052859-70"><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">Inconvénients</span><span class="kb-svg-icon-wrap kb-svg-icon-fe_xCircle kt-btn-side-right"><svg viewBox="0 0 24 24"  fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"  aria-hidden="true"><circle cx="12" cy="12" r="10"/><line x1="15" y1="9" x2="9" y2="15"/><line x1="9" y1="9" x2="15" y2="15"/></svg></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">
<ul class="wp-block-list">
<li>Pas pris en charge par toutes les solutions tierces ni éditeurs (Nécessite de désactiver l’authentification)</li>



<li>Pour des services multi-utilisateurs ou robot, nécessite de générer la clé secret et configuration intrinsèque</li>



<li>Possibilité de mettre facultatif l’authentification double facteurs</li>



<li>Modification rapide du jeton d’authentification</li>
</ul>
</div></div></div>
</div></div></div>



<p> </p>



<p>Certaines solutions tierces ne prennent pas en charge la MFA. Ce qui peux poser un problème et ce malgré la précision du <strong>NULLOK</strong>.</p>



<p>Dans mon cas, quatre solutions sont envisageables&nbsp;:</p>



<ol class="wp-block-list">
<li>Présenter à l’éditeur de la solution le cas et demander si une évolution est possible. Si oui, désactiver temporairement la MFA si le risque est maitrisé et contenu</li>



<li>Etudier le remplacement de la solution Tierce et garder le niveau de sécurité en place. Attention toutefois car cela aura des couts financiers, humains</li>



<li>Désactiver la MFA si le risque est maitrisé et si rien ne peut être réalisé</li>



<li>Déployer un nouveau serveur, Appliance dédié au client ou application concernés sans fonctionnalité de MFA</li>
</ol>



<p>Le mot de la fin&nbsp;:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>Je vais un tour du côté de chez SWAN. Je MFA ma culotte de chasteté, j’ai perdu le codex et envie de pisser.</em></p>
<cite>Erwan GUILLEMARD</cite></blockquote>



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



<ul class="wp-block-list">
<li><a href="https://man.archlinux.org/man/extra/libpam-google-authenticator/google-authenticator.1.en">Google-authenticator</a></li>



<li><a href="https://github.com/google/google-authenticator-libpam">Google-authenticator_libpam</a></li>



<li><a href="https://linux.die.net/man/1/qrencode">Qrencode</a></li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>LINUX &#8211; Locked Account</title>
		<link>https://erwanguillemard.com/linux-locked-account/</link>
		
		<dc:creator><![CDATA[Erwan Guillemard]]></dc:creator>
		<pubDate>Mon, 15 Jan 2024 22:27:55 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[MUTT]]></category>
		<category><![CDATA[Projet]]></category>
		<category><![CDATA[Securité]]></category>
		<guid isPermaLink="false">https://erwanguillemard.com/?p=1335</guid>

					<description><![CDATA[La sécurité, c&#8217;est savoir regarder qui est devant sa porte. Avec l&#8217;évolution technologique, nous pouvons bénéficier depuis nos smartphones à l&#8217;intégralité de notre propriété et autres biens si nous avons choisi de souscrire à une entreprise de surveillance ou d&#8217;avoir déployer soit même quelques équipements. Ces Judas électroniques étaient inexistant il n&#8217;y a pas si...]]></description>
										<content:encoded><![CDATA[
<p>La sécurité, c&rsquo;est savoir regarder qui est devant sa porte. Avec l&rsquo;évolution technologique, nous pouvons bénéficier depuis nos smartphones à l&rsquo;intégralité de notre propriété et autres biens si nous avons choisi de souscrire à une entreprise de surveillance ou d&rsquo;avoir déployer soit même quelques équipements.</p>



<p>Ces Judas électroniques étaient inexistant il n&rsquo;y a pas si longtemps. A défaut d&rsquo;être chez soi et de lorgner dans le Judas pour vérifier qui frappe à la porte (ou s&rsquo;abandonner au plaisir solitaire du commérage), nous étions bien e******s quand nous n&rsquo;étions pas chez nous. D&rsquo;où les systèmes d&rsquo;alarmes, sirènes qui hurlent et c*****t les c******s du voisinage.</p>



<p>A partir de ce postulat et avec un peu d&rsquo;imagination, mon domicile c&rsquo;est mon serveur LINUX. Se pose la question de vérifier qui frappe à la porte, qui rentre, qui rentre pas. Qui se fait kick par <a href="https://www.youtube.com/watch?v=DOO5vuxizLM&amp;ab_channel=StupeflipOfficiel">Jean-Pierre, notre bon chien</a> (plus petit que Cerbère quand même car il bouffe ce c*n) quand je ne suis pas scotché sur mon système le nez dans mes journaux de log.</p>



<p>Une nouvelle fois je me suis tourné vers une solution purement personnelle. Pourquoi ?</p>



<p>Parce que j&rsquo;ai pas trouvé chaussure à mon pied&#8230;</p>



<p>Afin de répondre à cette question, je vais vérifier si des utilisateurs sont lock et envoyer une notification mail à l&rsquo;équipe en charge du MCO du serveur. Si ça ne suffit, pas, le mail reviendra tant que le compte n&rsquo;aura pas été unlock.</p>



<p>Plusieurs raisons peuvent être dû au verrouillage d&rsquo;un compte :</p>



<ul class="wp-block-list">
<li>Syndrome des doigts palmés</li>



<li>Oublie du login, password</li>



<li>Compte non habilité à se connecter</li>



<li>Tentative d&rsquo;intrusion</li>
</ul>



<p>Dans la majorité des cas, il résulte du syndrome du palmipède. Le compte est rapidement déverrouillé (par un autre compte ou par un autre biais). Dans le dernier cas, il convient d&rsquo;éplucher les journaux et de mettre rapidement des mesures pour isoler et interdire les IPs sources ayant tenter de s&rsquo;authentifier. D&rsquo;aller consulter son Responsable Sécurité pour engager les actions nécessaires en adéquations selon le risque couru.</p>





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



<ul class="wp-block-list">
<li>RHEL, Debian, Ubuntu</li>



<li>Mutt, cyrus-sasl-plain, Faillock</li>
</ul>



<h1 class="wp-block-heading">Locked Account &amp; Notifications</h1>



<h2 class="wp-block-heading">Installation et configuration de MUTT</h2>



<p>Concernant cette partie, je vous invite à parcourir la section déjà documentée dans l&rsquo;article <a href="https://erwanguillemard.com/apps-mutt/" data-type="link" data-id="https://erwanguillemard.com/apps-mutt/">Apps &#8211; MUTT</a>.</p>



<h2 class="wp-block-heading">Configuration de Faillock</h2>



<p>Le module faillock vient remplacer le module pam_tally2 devenu obsolète il y a un petit moment déjà. Il est présent nativement sur quasi tout les systèmes à ce jour.</p>



<p>Je ne traite pas volontairement dans cette partie de la politique de mot de passe. Cela fera parti d&rsquo;un autre article à la limite de l&rsquo;indigeste.</p>



<p>Il va être nécessaire de modifier les fichiers password-auth et system-auth du module d&rsquo;authentification.</p>



<h3 class="wp-block-heading">password-auth</h3>



<p>Editer le fichier password-auth</p>



<pre class="wp-block-code"><code><strong>$ sudo /etc/pam.d/password-auth</strong></code></pre>



<p>Ajouter les lignes suivantes dans le fichier</p>



<pre class="wp-block-code"><code>1) <strong>auth        required      pam_faillock.so preauth audit silent deny=5 unlock_time=900</strong>

2) <strong>auth        &#91;default=die] pam_faillock.so authfail audit deny=5 unlock_time=900</strong>

3) <strong>account     required      pam_faillock.so</strong></code></pre>



<p>La première ligne assure que l&rsquo;utilisateur à 5 tentatives de connexion avant de voir son compte verrouillé pour une durée de 15 minutes. Nous choisissons de logger l&rsquo;information et de ne pas indiquer que le compte est désactivé.</p>



<p>La seconde ligne indique qu&rsquo;en cas d&rsquo;échec de la ligne précédente, le compte sera locked.</p>



<p>La troisième ligne indique que le module d&rsquo;authentification faillock et requis.</p>



<h3 class="wp-block-heading">system-auth</h3>



<p>Editer le fichier system-auth</p>



<pre class="wp-block-code"><code><strong>$ sudo /etc/pam.d/system-auth</strong></code></pre>



<p>Ajouter les lignes suivantes dans le fichier</p>



<pre class="wp-block-code"><code>1) <strong>auth        required      pam_faillock.so preauth audit silent deny=5 unlock_time=900</strong>

2) <strong>auth        &#91;default=die] pam_faillock.so authfail audit deny=5 unlock_time=900</strong>

3) <strong>account     required      pam_faillock.so</strong></code></pre>



<p>Les explications sont les mêmes que pour le module précédent.</p>



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



<p>Vérifions que les modifications apportées ont bien été prise en compte. Pour se faire nous allons vérifier l&rsquo;état des comptes Valid</p>



<pre class="wp-block-code"><code><strong>$ sudo faillock</strong></code></pre>



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



<p>Volontairement nous allons verrouiller le compte <strong>adm.r-one</strong>. Il est nécessaire d&rsquo;avoir un second shell d&rsquo;ouvert en parallèle pour déverrouiller le compte ou de passer par la console système en <strong>root</strong> directement. </p>



<p>Ou encore, en dernière option d&rsquo;attendre 15 minutes.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="847" height="533" src="https://erwanguillemard.com/wp-content/uploads/2024/01/006_4_faillock_locked.png" alt="" class="wp-image-1375" srcset="https://erwanguillemard.com/wp-content/uploads/2024/01/006_4_faillock_locked.png 847w, https://erwanguillemard.com/wp-content/uploads/2024/01/006_4_faillock_locked-300x189.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/01/006_4_faillock_locked-768x483.png 768w" sizes="auto, (max-width: 847px) 100vw, 847px" /></figure>



<p>Nous allons libérer l&rsquo;utilisateur <strong>adm.r-one</strong> puis vérifier que ce dernier est bien unlocked.</p>



<pre class="wp-block-code"><code><strong>$ sudo faillock --user adm.r-one --reset
$ sudo faillock</strong></code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="847" height="131" src="https://erwanguillemard.com/wp-content/uploads/2024/01/006_5_faillock_release.png" alt="" class="wp-image-1376" srcset="https://erwanguillemard.com/wp-content/uploads/2024/01/006_5_faillock_release.png 847w, https://erwanguillemard.com/wp-content/uploads/2024/01/006_5_faillock_release-300x46.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/01/006_5_faillock_release-768x119.png 768w" sizes="auto, (max-width: 847px) 100vw, 847px" /></figure>



<h2 class="wp-block-heading">Configuration et installation du Script</h2>



<p>J’ai toujours pour habitude de positionner mes scripts à la racine du système dans un répertoire à part avec des droits spécifiques. L’objectif étant de toujours garantir un niveau de sécurité suffisant et d’éviter une escalade potentiel des droits.</p>



<pre class="wp-block-code"><code><strong>$ sudo mkdir /script</strong>
<strong>$ sudo mkdir /script/SS_027-LINUX_LockAccount</strong></code></pre>



<p>Editez le fichier ou copiez le fichier suivant&nbsp;: <em>SS_027_D_LINUX_LockAccount.sh</em></p>



<p>A ce jour le fichier en version D est construit de la manière suivante&nbsp;:</p>



<ul class="wp-block-list">
<li>Les constantes</li>



<li>Une fonction vérifiant l’OS</li>



<li>Une fonction vérifiant les derniers logon authentifiés avec succès (utilisateurs et services)</li>



<li>Une fonction vérifiant les comptes verouillés</li>



<li>Une fonction pour préparer le mail</li>



<li>Une fonction d’envoi de mail</li>



<li>Une fonction pour forger le mail en html</li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="849" height="1002" src="https://erwanguillemard.com/wp-content/uploads/2024/01/006_0_scriptCode.png" alt="" class="wp-image-1349" style="width:545px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/01/006_0_scriptCode.png 849w, https://erwanguillemard.com/wp-content/uploads/2024/01/006_0_scriptCode-254x300.png 254w, https://erwanguillemard.com/wp-content/uploads/2024/01/006_0_scriptCode-768x906.png 768w" sizes="auto, (max-width: 849px) 100vw, 849px" /></figure>
</div>


<p>Comme tous mes autres outils, les premiers échanges de mails se sont fait au format texte brut, puis pour un soucis de compréhension j&rsquo;ai dû passer au format HTML&#8230; </p>



<p>Il est encore trop tôt pour expliquer cette aversion personnel pour le monde du web&#8230; Mais passons, il est donc possible d&rsquo;envoyer les notifications sous les deux formats.</p>



<p>Pour le script, comme pour mon premier article sur le sujet je ne souhaite pas pour l&rsquo;instant rendre ce dernier accessible à la disposition de tous. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em><strong>Couvrez ce code que je ne saurais voir.</strong>&nbsp;<strong>Par de pareils objets les AdminSys sont blessées,</strong>&nbsp;<strong>Et cela fait venir de coupables pensées</strong></em>&#8230;</p>
<cite>Molière 2.0</cite></blockquote>



<p>Et surtout cela me demanderai de configurer mon GitHub, de soigner mon code etc.</p>



<p>So, comment le code fonctionne ? De la plus simple des façons.</p>



<p>Le code va vérifier la version du SE, puis vérifier si des comptes sont verrouillés ou non. Si un des comptes est verrouillés, nous récupérons ces derniers. Nous récupérons la date de la dernière fois que tous les comptes se sont connectés (afin de contrôler qu&rsquo;il n&rsquo;y a pas de Léviator sous Racaillou). S&rsquo;ensuit la préparation du mail, le « forgeage » puis l&rsquo;envoi.</p>



<p>Dans le cas où aucun compte n&rsquo;est verrouillé, le code ne fait rien.</p>



<p>Nous controllons les droits sur le fichier afin de s&rsquo;assurer que ce dernier est bien en 700 pour root:root.</p>



<pre class="wp-block-code"><code><strong>$ sudo ls -ahl /script/SS_027-LINUX_LockAccount/</strong>
</code></pre>



<p>Dans le cas contraire, il sera nécessaire de réaliser les opérations adéquates.</p>



<h2 class="wp-block-heading">Configuration du cron</h2>



<p>Comme nous voulons une alerte plutôt réactive, mais qui ne spam pas trop non plus, j&rsquo;aime par confort définir une vérification toutes les 3 minutes. Libre à chacun de faire comme il le souhaite.</p>



<pre class="wp-block-code"><code><strong># vim /etc/crontab</strong></code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="334" src="https://erwanguillemard.com/wp-content/uploads/2024/01/006_1_cron-1024x334.png" alt="" class="wp-image-1366" srcset="https://erwanguillemard.com/wp-content/uploads/2024/01/006_1_cron-1024x334.png 1024w, https://erwanguillemard.com/wp-content/uploads/2024/01/006_1_cron-300x98.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/01/006_1_cron-768x250.png 768w, https://erwanguillemard.com/wp-content/uploads/2024/01/006_1_cron.png 1052w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Ce qui nous donne dans notre BAL, lorsqu&rsquo;un compte est verrouillé la notification ci-dessous.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="556" height="755" src="https://erwanguillemard.com/wp-content/uploads/2024/01/006_2_notifications.png" alt="" class="wp-image-1371" srcset="https://erwanguillemard.com/wp-content/uploads/2024/01/006_2_notifications.png 556w, https://erwanguillemard.com/wp-content/uploads/2024/01/006_2_notifications-221x300.png 221w" sizes="auto, (max-width: 556px) 100vw, 556px" /></figure>
</div>


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



<p>La roue a dû encore une fois être réinventée. Mais cette solution me convient et répond à mon besoin.</p>



<p>Nous revenons toujours sur ce curseur bénéfices, risques que cette solution apporte.</p>



<p>Si niveau système, la configuration et l&rsquo;usage du module faillock dans les modules d&rsquo;authentifications relève de la bonne pratique, ma solution pose question.</p>



<p>Avantages</p>



<ul class="wp-block-list">
<li>Suivi des alertes quasi en temps réel sur lock du compte</li>
</ul>



<p>Inconvénients</p>



<ul class="wp-block-list">
<li>Utilise le compte root pour la tâche planifiée</li>



<li>Repose sur un paquet, application tiers « MUTT »</li>



<li>Doit être ajusté selon les SEs qui ne sont pas pris en charge</li>



<li>S’assurer que le script n’est pas altéré</li>
</ul>



<p>Au delà des axes récurrents d&rsquo;améliorations, nous comptons plus d&rsquo;inconvénients que d&rsquo;avantages. Le point le plus bloquant selon moi est que tout repose sur le daemon assurant les notifications mails. Si le daemon vient à planter ou à être la cible d&rsquo;un individu malveillant rendant ce dernier inopérant, l&rsquo;attaquant a le champ libre.</p>



<p>Dans un sens si nous revenons à notre analogie initiale du serveur et de notre maison, l&rsquo;individu malveillant nous à couper notre système d&rsquo;alarme, internet et électricité ect.</p>



<p>Nous devons donc coupler des mécanismes de sécurité supplémentaires en amont et aval de notre serveur.</p>



<p>Le mot de la fin&nbsp;:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>J&rsquo;Houdini ma twingo et pars avant l&rsquo;orage. Vous ne pouvez pas vous êtes faillock avec Francis Huster pendant deux madeleines</em></p>
<cite>Erwan GUILLEMARD</cite></blockquote>



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



<ul class="wp-block-list">
<li><a href="https://linux.die.net/man/8/faillock">Faillock</a></li>



<li><a href="https://erwanguillemard.com/apps-mutt/">Mutt</a></li>
</ul>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
