<?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>Certificat &#8211; erwan.guillemard</title>
	<atom:link href="https://erwanguillemard.com/tag/certificat/feed/" rel="self" type="application/rss+xml" />
	<link>https://erwanguillemard.com</link>
	<description></description>
	<lastBuildDate>Sat, 01 Feb 2025 21:56:46 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8</generator>

<image>
	<url>https://erwanguillemard.com/wp-content/uploads/2024/02/cropped-Logo-sans-baseline-32x32.png</url>
	<title>Certificat &#8211; erwan.guillemard</title>
	<link>https://erwanguillemard.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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 fetchpriority="high" 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="(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 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="(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 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="(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>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>
	</channel>
</rss>
