<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Autorité De Certification on slash-root.fr</title><link>https://beta.slash-root.fr/tags/autorit%C3%A9-de-certification/</link><description>Recent content in Autorité De Certification on slash-root.fr</description><generator>Hugo -- gohugo.io</generator><language>fr-fr</language><lastBuildDate>Tue, 12 Jul 2022 23:21:48 +0200</lastBuildDate><atom:link href="https://beta.slash-root.fr/tags/autorit%C3%A9-de-certification/index.xml" rel="self" type="application/rss+xml"/><item><title>OPNsense : Configuration d’un VPN SSL Road Warrior avec PKI</title><link>https://beta.slash-root.fr/opnsense-configuration-dun-vpn-ssl-road-warrior-avec-pki/</link><pubDate>Tue, 12 Jul 2022 23:21:48 +0200</pubDate><guid>https://beta.slash-root.fr/opnsense-configuration-dun-vpn-ssl-road-warrior-avec-pki/</guid><description>&lt;img src="https://beta.slash-root.fr/opnsense-configuration-dun-vpn-ssl-road-warrior-avec-pki/cover.jpg" alt="Featured image of post OPNsense : Configuration d’un VPN SSL Road Warrior avec PKI" /&gt;&lt;p&gt;Le but de cette documentation va être de configurer un serveur VPN dit SSL Road Warrior sur OPNsense (Un PFsense en mieux et totalement opensource :P). Les clients VPN pourront accéder à des ressources sur le réseau LAN distant de façon sécurisé.&lt;/p&gt;
&lt;p&gt;Le serveur VPN sera OpenVPN et celui-ci sera configuré de façon à accepter les connexions sur le port HTTPS (TCP 443). De cette façon, l'accès pourra se faire de n'importe où car ce port n'est pas (ou très très très rarement) filtré sur une connexion standard à Internet.&lt;/p&gt;
&lt;p&gt;Une autorité de certification sera créé pour délivrer un certificat afin de sécuriser les échanges.&lt;/p&gt;
&lt;p&gt;Un exemple de configuration d'un client sous Windows 10 est traité à la fin.&lt;/p&gt;
&lt;p&gt;Let's go !!!&lt;/p&gt;
&lt;h2 id="contexte"&gt;&lt;a href="#contexte" class="header-anchor"&gt;&lt;/a&gt;Contexte
&lt;/h2&gt;&lt;p&gt;Voici la version utilisée d'OPNsense :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OPNsense 22.1.2_2-amd64&lt;/li&gt;
&lt;li&gt;FreeBSD 13.0-STABLE&lt;/li&gt;
&lt;li&gt;OpenSSL 1.1.1m 14 Dec 2021&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Au niveau des interfaces de paramétrées :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;LAN = 192.168.56.254/24&lt;/li&gt;
&lt;li&gt;WAN = IP_PUBLIC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aucune configuration particulière à été apportée après l'installation d'OPNsense à part l'adressage IP des interfaces WAN et LAN.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Tout le paramétrage sera à réaliser à travers l'interface web d'administration d'OPNsense.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="pki"&gt;&lt;a href="#pki" class="header-anchor"&gt;&lt;/a&gt;PKI
&lt;/h2&gt;&lt;h3 id="création-de-lauthorité-de-certification"&gt;&lt;a href="#cr%c3%a9ation-de-lauthorit%c3%a9-de-certification" class="header-anchor"&gt;&lt;/a&gt;Création de l&amp;rsquo;authorité de certification
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Dans &lt;strong&gt;System&lt;/strong&gt; (1), &lt;strong&gt;Trust&lt;/strong&gt; (2), &lt;strong&gt;Authorities&lt;/strong&gt; (3), cliquer sur &lt;strong&gt;+&lt;/strong&gt; (4) pour ajouter une authorité de certification :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="01.png" alt="image-20220712200137330" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sélectionner &lt;strong&gt;Create an internal Certificate Authority&lt;/strong&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="02.png" alt="image-20220712200934152" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Je ne vais pas traiter la partie algorithme ni de type ou de longueur de clef. Je laisse les paramètres par défaut mais dans un contexte de production, il sera important de modifier ces différents paramètres.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Entrer une &lt;strong&gt;Descriptive name&lt;/strong&gt; ainsi que le &lt;strong&gt;Common Name&lt;/strong&gt; et les informations désirées.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enregistrer la nouvelle authorité de certification :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="03.png" alt="image-20220712201557684" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="génération-du-certificat-serveur"&gt;&lt;a href="#g%c3%a9n%c3%a9ration-du-certificat-serveur" class="header-anchor"&gt;&lt;/a&gt;Génération du certificat serveur
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Dans &lt;strong&gt;Certificates&lt;/strong&gt; (1), cliquer sur &lt;strong&gt;+&lt;/strong&gt; (2) pour ajouter un nouveau certificat :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="04.png" alt="image-20220712202909916" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sélectionner &lt;strong&gt;Create an internal Certificate&lt;/strong&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="04a.png" alt="image-20220712212614382" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Même remarque que précédement concernant la partie algorithme, clef...&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Entrer une &lt;strong&gt;Descriptive name&lt;/strong&gt;. Sélectionner le bon &lt;strong&gt;Certificate authority&lt;/strong&gt; et le type &lt;strong&gt;Server Certificate&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les informations provenant de l'authorité de certification doivent être pré-remplies.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Renseigner le &lt;strong&gt;Common Name&lt;/strong&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="04b.png" alt="image-20220712204003467" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enregistrer le nouveau certificat :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="04c.png" alt="image-20220712204333253" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="openvpn"&gt;&lt;a href="#openvpn" class="header-anchor"&gt;&lt;/a&gt;OpenVPN
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Dans &lt;strong&gt;VPN&lt;/strong&gt; (1), &lt;strong&gt;OpenVPN&lt;/strong&gt; (2), &lt;strong&gt;Servers&lt;/strong&gt; (3), cliquer sur l'icône du &lt;strong&gt;Wizard&lt;/strong&gt; (4) :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="05.png" alt="image-20220712202051739" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;En passant par le wizard, il y aura la possibilité de créer automatiquement les 2 règles nécessaires pour autoriser le flux provenant des clients VPN.Sinon, il faudra les ajouter à la main, ça fonctionne très bien aussi.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Type de serveur d'authentification : &lt;strong&gt;Local User Access&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Authorité de certification : &lt;strong&gt;OPNsense-CA&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Certificat : &lt;strong&gt;OPNsense-VPN-Cert&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dans la partie &lt;strong&gt;General OpenVPN Server Information&lt;/strong&gt;, renseigner les paramètres suivants :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="06.png" alt="image-20220712205028162" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les clients se connecteront sur l'interface &lt;strong&gt;WAN&lt;/strong&gt; d'OPNsense par le protocol &lt;strong&gt;TCP&lt;/strong&gt; sur le port &lt;strong&gt;443&lt;/strong&gt;. Par défaut OpenVPN écoute sur le port 1194 en UDP. Pour que la connexion soit possible depuis n'importe quel réseau Internet, il faut bien modifier ce paramètre. C'est quasiment indétectablement par les pare-feux pour faire la différence avec du flux HTTPS (du stateful inspection permet de faire la différence).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dans la partie &lt;strong&gt;Tunnel Settings&lt;/strong&gt;, renseigner les paramètres suivants :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="07.png" alt="image-20220712205937919" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dans &lt;strong&gt;IPv4 Tunnel Network&lt;/strong&gt;, entrer le réseau virtuel qui sera attribué aux clients VPN.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dans &lt;strong&gt;IPv4 Local Network&lt;/strong&gt;, entrer le réseau LAN qui doit être accessible aux clients VPN.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Le reste des paramètres sont laissés par défaut. Ils pourront être définis si besoin mais ne seront pas traités dans cet article.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Passer à la prochaine étape en cliquant sur &lt;strong&gt;Next&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cocher &lt;strong&gt;Firewall Rule&lt;/strong&gt; et &lt;strong&gt;OpenVPN Rule&lt;/strong&gt; pour générer les 2 règles adéquats dans le pare-feu :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="08.png" alt="image-20220712210924817" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Valider en cliquant sur &lt;strong&gt;Next&lt;/strong&gt; puis &lt;strong&gt;Finish&lt;/strong&gt; pour terminer le paramétrage du serveur VPN.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="utilisateur"&gt;&lt;a href="#utilisateur" class="header-anchor"&gt;&lt;/a&gt;Utilisateur
&lt;/h2&gt;&lt;h3 id="création-dun-utilisateur"&gt;&lt;a href="#cr%c3%a9ation-dun-utilisateur" class="header-anchor"&gt;&lt;/a&gt;Création d&amp;rsquo;un utilisateur
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Dans &lt;strong&gt;System&lt;/strong&gt; (1), &lt;strong&gt;Access&lt;/strong&gt; (2), &lt;strong&gt;Users&lt;/strong&gt; (3), cliquer sur &lt;strong&gt;+&lt;/strong&gt; (4) pour ajouter un nouveau utilisateur :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="09.png" alt="image-20220712211520676" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Renseigner un &lt;strong&gt;Username&lt;/strong&gt; et un &lt;strong&gt;Password&lt;/strong&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="10.png" alt="image-20220712211947305" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Plus bas, cocher &lt;strong&gt;Click to create a user certificate&lt;/strong&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="11.png" alt="image-20220712212137535" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Terminer en cliquant sur &lt;strong&gt;Save&lt;/strong&gt;. Cela déclenche la génération d'un certificat.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="génération-du-certificat-utilisateur"&gt;&lt;a href="#g%c3%a9n%c3%a9ration-du-certificat-utilisateur" class="header-anchor"&gt;&lt;/a&gt;Génération du certificat utilisateur
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Sélectionner &lt;strong&gt;Create an internal Certificate&lt;/strong&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="12.png" alt="image-20220712212728988" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Entrer une &lt;strong&gt;Descriptive name&lt;/strong&gt;. Sélectionner le bon &lt;strong&gt;Certificate authority&lt;/strong&gt; et le type &lt;strong&gt;Client Certificate&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les informations provenant de l'authorité de certification doivent être pré-remplies.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Renseigner le &lt;strong&gt;Common Name&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enregistrer le nouveau certificat.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Le certificat est maintenant associé à l'utilisateur :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="13.png" alt="image-20220712213220067" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Terminer en cliquant sur &lt;strong&gt;Save&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="client-windows"&gt;&lt;a href="#client-windows" class="header-anchor"&gt;&lt;/a&gt;Client Windows
&lt;/h2&gt;&lt;h3 id="exportation-de-la-configuration-client"&gt;&lt;a href="#exportation-de-la-configuration-client" class="header-anchor"&gt;&lt;/a&gt;Exportation de la configuration client
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Dans &lt;strong&gt;VPN&lt;/strong&gt; (1), &lt;strong&gt;OpenVPN&lt;/strong&gt; (2), &lt;strong&gt;Client Export&lt;/strong&gt; (3), télécharger l'archive contenant la confirmation client d'OpenVPN avec le certificat utilisateur correspondant :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="14.png" alt="image-20220712222650837" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;En cochant &lt;strong&gt;Windows Certificate System Store&lt;/strong&gt;, un certificat &lt;code&gt;.crt&lt;/code&gt; est récupéré. Malgré le faites de l'inscrire (ou d'inscrire le CA) dans le magasin (des certificats de l'ordinateur) des autorités de certification racines de confiance, celui-ci ne sera pas approuvé.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Le contenu de l'archive récupérée contient les éléments suivant :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;OPNsense_VPN_Server_batman_vpn-tls.key
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;OPNsense_VPN_Server_batman_vpn.ovpn
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;OPNsense_VPN_Server_batman_vpn.p12
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="installation-du-client"&gt;&lt;a href="#installation-du-client" class="header-anchor"&gt;&lt;/a&gt;Installation du client
&lt;/h3&gt;&lt;p&gt;Sur le poste client en Windows 10 :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Télécharger le client OpenVPN Community : &lt;a href="https://swupdate.openvpn.org/community/releases/OpenVPN-2.5.7-I602-amd64.msi"&gt;https://swupdate.openvpn.org/community/releases/OpenVPN-2.5.7-I602-amd64.msi&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Installer le client OpenVPN (Attention, il faudra des droits d'administrateur sur le poste Windows).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un message d'avertissement indique qu'il n'y a aucun profil de connexion.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Copier le contenu de l'archive préalablement exporter dans le répertoire &lt;code&gt;%USERPROFILE%\OpenVPN\config&lt;/code&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="15.png" alt="image-20220712225016759" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Se connecter :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="16.png" alt="image-20220712225229212" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un message peut survenir indiquant que l'utilisateur Windows doit faire partie du groupe local de la machine &lt;code&gt;OpenVPN Administrators&lt;/code&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="17.png" alt="image-20220712225549618" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Si contexte de domaine, une GPO peut appliquer ce paramètre automatiquement.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;S'identifier avec le compte utilisateur créé précédement dans OPNsense :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="18.png" alt="image-20220712225737892" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;La connexion VPN est établie :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="19.png" alt="image-20220712230430443" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>