Outils pour utilisateurs

Outils du site


reseau:cloud:haproxy

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
reseau:cloud:haproxy [2026/01/19 18:55] – [Obtenir les certificats intermédiaires ADCS] techer.charles_educ-valadon-limoges.frreseau:cloud:haproxy [2026/01/19 23:09] (Version actuelle) – [déposer le .pem dans /etc/haproxy/certs] techer.charles_educ-valadon-limoges.fr
Ligne 2: Ligne 2:
  
 Client => DNS => HAProxy (LXC) => oauth2-proxy => Applications internes Client => DNS => HAProxy (LXC) => oauth2-proxy => Applications internes
 +
 +HAProxy dispose d'un certificat signé par ADCS.
 +
 +Les serveurs sont accessibles :
 +  * en http
 +  * en https avec un certificat signé par ADCS  
  
 ===== Gestion des certificats avec SNA ===== ===== Gestion des certificats avec SNA =====
Ligne 80: Ligne 86:
 ====== Utiliser des certificats signés par une CA Microsoft ====== ====== Utiliser des certificats signés par une CA Microsoft ======
  
-===== Obtenir les certificats intermédiaires ADCS ===== 
  
-   * se connecter à http://serveur-ADCS/certsrv 
-   * cliquez sur **Télécharger un certificat d'autorité de certification, une chaîne de certificats ou une liste de révocation des certificats** : 
  
-{{ :reseau:cloud:ca_11.png |}} +   
- +
-   * cliquez sur **Télécharger la chaîne de certificats d'autorité de certification** au format **Base 64** pour obtenir le fichier **certnew.p7b** : +
- +
-{{ :reseau:cloud:ca_12.png |}} +
- +
-   * Extraire uniquement les intermédiaires +
- +
-<code> +
-openssl pkcs7 -in certnew.p7b -print_certs -out chain-all.pem +
-</code> +
- +
-   * Puis extraire les intermédiaires : +
- +
-La racine a généralement un Subject = Issuer +
-Les intermédiaires ont Subject != Issuer +
- +
-Tu peux les séparer manuellement, ou avec un script si tu veux (je peux t’en fournir un). +
- +
- +
-  * certificats signés par la CA Microsoft +
-  * utilisable pour les serveurs Linux (conteneurs LXC) +
-  * sans avoir de warnings SSL dans les navigateurs Windows +
- +
- +
-Lien :   * [[reseau:certificat:camicrosoft:accueil|Gérer des certificats pour serveurs Debian avec la CA de Microsoft]] +
- +
-Le conteneur LXC ne peut pas demander automatiquement un certificat à la CA Microsoft.+
  
 ===== générer une clé + CSR dans le LXC ===== ===== générer une clé + CSR dans le LXC =====
Ligne 154: Ligne 130:
  
 </code> </code>
- 
- 
- 
  
 ===== soumettre la CSR à la CA Microsoft ===== ===== soumettre la CSR à la CA Microsoft =====
  
- +   * Depuis un PC Windows membre du domaine, accédez à http://ADCS\_SERVER/certsrv
- +
-   * Depuis un PC Windows membre du domaine, accédez à http://<ADCS\_SERVER>/certsrv+
    * Cliquez sur **Demander un certificat**     * Cliquez sur **Demander un certificat** 
  
Ligne 171: Ligne 142:
 {{ :reseau:cloud:ca_10.png |}} {{ :reseau:cloud:ca_10.png |}}
  
-Request a certificate =>  +   * copier-coller le contenu du fichier .csr encodé au format Base 64 et choisissez le modèle de certificat
-advanced certificate request +
-submit a certificate request by using a base‑64 encoded file +
-Colle le contenu de guac.lab.local.csr+
  
-Sélectionne un template adapté, par exemple :+{{ :reseau:cloud:ca_13.png |}}
  
-Web Server +<WRAP center round important> 
-Computer +Important : le modèle de certificat doit autoriser :
-ou un template personnalisé activé pour SAN+
  
-⚠ Important : dans la console CA, le template doit autoriser :+  * **Allow private key to be exported** => pas nécessaire 
 +  * **Supply in the request** => obligatoire pour les SAN
  
-"Allow private key to be exported" → pas nécessaire +</WRAP>
-"Supply in the request" → obligatoire pour les SAN+
  
-Télécharge ensuite :+  * Téléchargez ensuite : 
 +    * le certificat au format Base64 (.cer) 
 +    * la chaîne **CA certificate** (Root CA + éventuellement la subCA) (.p7b)
  
-le certificat au format Base64 +{{ :reseau:cloud:ca_14.png |}}
-la chaîne "CA certificate" (Root CA + éventuellement la subCA)+
  
-Tu obtiendras un fichier .cer.+===== Convertir le certificat et la chaîne de certificat en PEM ===== 
 +  * convertir le certificat 
  
-🧱 Étape 3 — Convertir le certificat Microsoft en PEM +<code> 
-Dans le LXC : +openssl x509 -in certificat.cer -out certificat.crt 
-Copie le certificat +</code>
-scp user@windows:/path/to/guac.lab.local.cer /root/+
  
-Convertis-le si nécessaire : +  * Convertir la chaîne de certificat du format .p7b au PEM (base 64)
-Shellopenssl x509 -in guac.lab.local.cer -out guac.lab.local.crtAfficher plus de lignes +
-Copie également le certificat de l'autorité racine (Root CA), depuis Windows : +
-certutil -ca.cert rootCA.cer+
  
-Puis convertis/le mets en .crt : +<code> 
-Shellopenssl x509 -in rootCA.cer -out rootCA.crtAfficher plus de lignes +openssl pkcs7 -print_certs -in certificate.p7b -out chain.pem 
-(si tu as une CA intermédiaire : fais pareil)+</code>
  
-📦 Étape 4 — Construire le fichier .pem pour HAProxy +==== Pour HAProxy ====
-HAProxy doit avoir un seul fichier .pem contenant :+
  
-la clé privée +  * Construire le fichier .pem final contenant la clé privéele certificat serveur et la chaîne (intermédiaires) 
-le certificat serveur +
-la chaîne CA (intermédiaires + racine)+
  
-Exemple : +<code> 
-Shellcat guac.lab.local.crt guac.lab.local.key rootCA.crt \  /etc/haproxy/certs/guac.lab.local.pemAfficher plus de lignes +cat server.key certificat.crt chain.pem fullchain.pem 
-Donne des permissions sécurisées : +</code>
-Shellchmod 600 /etc/haproxy/certs/guac.lab.local.pemAfficher plus de lignes+
  
-🔄 Étape 5 — Recharger HAProxy +  * Déposer le fichier dans **/etc/haproxy/certs/fullchain.pem** 
-haproxy -c -f /etc/haproxy/haproxy.cfg +  * Changer les droits : 
-systemctl reload haproxy+
  
-Navigue ensuite vers : +<code> 
-https://guac.lab.local+chmod 600 /etc/haproxy/certs/fullchain.pem 
 +</code>
  
-Tu devrais obtenir aucune alerte SSL sur les PC du domaine Windows, car la CA Microsoft est déjà dans le magasin "Trusted Root Certification Authorities".+==== Pour Apache2 ====
  
-🔁 Répéter pour chaque application +  * récupérer le certificat de l'autorité racine (Root CA), depuis Windows :
-Pour :+
  
-grafana.lab.local +<code> 
-portainer.lab.local +certutil -ca.cert rootCA.cer 
-vault.lab.local+</code>
  
-Tu répètes simplement :+   * convertir en .crt : 
 + 
 +<code> 
 +openssl x509 -in rootCA.cer -out rootCA.crt 
 +</code> 
 + 
 + 
 +  * Recharger HAProxy 
 + 
 +<code> 
 +haproxy -c -f /etc/haproxy/haproxy.cfg 
 +systemctl reload haproxy 
 +</code>
  
-génération clé + CSR +   * pour chaque application (app1.local, app1.local, etc.) 
-soumission à la CA Microsoft +     génération clé + CSR 
-création du .pem final +     * soumission à la CA Microsoft 
-dépôt dans /etc/haproxy/certs/+     * création du .pem final 
 +     * dépôt dans /etc/haproxy/certs/
  
 HAProxy détectera automatiquement le bon certificat grâce au SNI. HAProxy détectera automatiquement le bon certificat grâce au SNI.
Ligne 253: Ligne 226:
 Private key → “Key usage: Digital Signature + Key Encipherment” Private key → “Key usage: Digital Signature + Key Encipherment”
 Key length : 2048 ou 4096 bits Key length : 2048 ou 4096 bits
- 
-C'est LE bon template pour HAProxy. 
- 
-🧠 Résumé simple 
  
  
Ligne 299: Ligne 268:
  
  
 +sudo chown tomcat:tomcat /etc/tomcat9/ssl/sioguacamole.0870019y.lan.p12
 +sudo chmod 600 /etc/tomcat9/ssl/sioguacamole.0870019y.lan.p12
 +
 +
 +OLUTION : désinstaller libtcnative-1 pour forcer Tomcat à repasser en JSSE
  
 ====== Installer oauth2‑proxy dans le conteneur HAProxy ====== ====== Installer oauth2‑proxy dans le conteneur HAProxy ======
reseau/cloud/haproxy.1768845342.txt.gz · Dernière modification : 2026/01/19 18:55 de techer.charles_educ-valadon-limoges.fr