**Ceci est une ancienne révision du document !**
Table des matières
Gérer des certificats pour serveurs Debian avec la CA de Microsoft
- Le sous-composant Service Web Inscription de certificats du rôle Service de certificats Active Directory doit avoir été installé.
Le Service Web Inscription de certificats (CES) permet à des machines et utilisateurs d’obtenir ou renouveler des certificats via HTTPS, même s’ils ne sont pas connectés au domaine (ex : ordinateurs en DMZ, machines distantes, BYOD…).
Création d'un compte dédié appelé svc_ces dans le domaine
- créer le compte svc_ces
Le configurer comme Identité du pool d’applications CES dans IIS.
- Redémarrer IIS en ligne de commande en tant qu'administrateur
iisreset
Configuration du service Web d'inscription des certificats
- Installation en Renouvellement seul :
- Authentification est Authentification du certificat client :
Principes de fonctionnement quand CES est configuré en renouvellement seulement :
- Le client envoie une requête de renouvellement (CSR)
- Il signe la requête avec la clé privée de son ancien certificat
- Le serveur CES valide que :
- le certificat à renouveler est légitime
- la signature correspond à la clé privée
- la CA accepte les renouvellements
La CA délivre un nouveau certificat basé sur l’ancien.
Aucune demande de nouveau certificat n'est acceptée.
Cela permet :
- d'exposer CES via Internet,
- de permettre uniquement la continuité, pas de nouvelles inscriptions
- pour des appareils non joints au domaine mais déjà équipés d’un certificat initial
- en réduisant l’exposition du service d’inscription
Disposer des autorisation d'enrollement sur les modèles de certificat
- lancer la console des modèles de certificats certtmpl.msc,
- cliquez-droit sur le modèle voulu et accédez à ses propriétés puis l'onglet Sécurité :
- donner l'autorisation Inscrire
Configurer un serveur Debian
Obtenir un certificat initial (bootstrap)
Générer une clé privée et un CSR
- En CLI
openssl genrsa -out /etc/ssl/private/server.key 2048 chmod 600 /etc/ssl/private/server.key
Crée un fichier san.cnf pour ajouter un SAN (recommandé) pur un serveur exemple appelé guac.lab.local avec ce contenu :
[ req ] default_bits = 2048 prompt = no default_md = sha256 req_extensions = req_ext distinguished_name = dn [ dn ] CN = guac.lab.local [ req_ext ] subjectAltName = @alt_names [ alt_names ] DNS.1 = guac.lab.local DNS.2 = guac
- générer le CSR
openssl req -new -key guac.lab.local.key \ -out guac.lab.local.csr \ -config san.cnf
* vérifiez le csr
openssl req -text -noout -verify -in guac.lab.local.csr
Certificate request self-signature verify OK
Certificate Request:
Data:
Version: 1 (0x0)
Subject: CN=guac.lab.local
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:b8:7f:55:b1:ca:09:23:12:fc:1b:d4:97:7a:76:
8e:50:37:24:ce:4a:e7:c8:3e:75:82:7b:78:9b:8b:
94:bb:6d:7e:31:6f:9c:25:77:4d:ab:55:c7:06:31:
09:dc:43:80:32:7f:5d:89:22:15:4c:ea:ea:ba:81:
79:6b:f0:16:53:3c:b1:38:db:04:33:bb:d2:04:24:
db:8f:d9:a6:a7:45:04:ea:ac:3d:eb:19:91:bb:ed:
d0:7b:8c:ba:6b:9b:a1:17:a2:cc:15:1b:c4:dc:fd:
b9:e7:dd:5c:47:d0:d9:53:93:70:4c:c8:1a:41:32:
84:e2:c5:63:3d:d2:93:96:81:0c:bf:d9:25:59:bd:
de:eb:99:56:e4:2d:06:ce:cb:33:92:98:a4:41:18:
5a:de:5d:8d:2a:b4:5b:c7:d2:d3:f1:e9:30:4c:ba:
93:fc:44:d5:f6:cf:7d:49:69:b7:b5:66:7d:99:4f:
1c:0a:cb:43:30:71:70:96:53:75:bc:18:43:ff:c8:
e6:94:00:2b:ad:d9:e5:a6:5b:cc:5a:c6:6b:1e:15:
69:35:a4:3c:30:80:e8:a7:c0:de:23:79:96:d5:ab:
0c:2d:48:ad:28:63:66:6c:dc:79:5f:e8:3d:b4:4e:
ab:6d:58:04:66:44:11:36:77:73:0a:50:7b:ed:59:
ad:01
Exponent: 65537 (0x10001)
Attributes:
Requested Extensions:
X509v3 Subject Alternative Name:
DNS:guac.lab.local, DNS:guac
Signature Algorithm: sha256WithRSAEncryption
Signature Value:
58:57:5e:29:66:bf:38:7d:b0:0f:c2:d5:cd:37:b9:51:ab:10:
7f:4c:ac:f1:15:1f:82:8b:d1:ca:e3:8f:da:03:a2:24:1c:ac:
78:f6:81:4c:8c:ac:0c:37:02:fe:ec:1f:f2:d0:51:d6:a3:f5:
da:01:d4:aa:c3:27:d9:d3:f1:5b:99:00:14:b3:e0:32:a4:a1:
2f:4c:2d:52:84:bc:da:fc:fd:c7:7c:ae:da:9c:b2:e3:78:24:
74:62:3d:50:af:7a:de:b5:92:91:c9:fe:f1:90:5c:8c:11:a1:
a7:ba:5b:ed:4f:59:05:7a:06:11:69:ca:d8:e4:1f:4e:ee:4b:
63:81:47:58:10:e1:0a:cf:cb:b9:0c:76:f5:2c:d1:05:a0:b2:
be:a5:da:dc:bc:9c:5e:9a:06:5b:0c:d8:13:a9:4a:fd:c3:c1:
c0:ff:8b:0e:33:2b:b8:0d:c8:73:f4:d3:3b:22:e6:4e:80:e3:
c5:f3:76:5b:a4:89:1c:f1:9b:6f:a9:88:ec:f7:f6:4e:58:2d:
42:6d:c6:06:b9:58:fa:98:db:17:9a:5c:ce:64:3a:fc:e5:be:
4f:08:58:ac:fe:3a:26:f1:ef:1d:09:9a:46:8c:2f:31:1b:68:
e5:96:08:ea:63:35:63:8c:6f:fb:4a:5d:28:2a:00:a5:c6:b8:
f8:b5:c4:ec
soumettre la CSR à la CA Microsoft
Il faut disposer sur le serveur AD CS (ou d’un serveur disposant des outils d’administration nécessaires), d’un modèle de certificat adapté pour Serveur Web avec le rôle Authentification du serveur pour délivrer le certificat TLS.
- Depuis un PC Windows membre du domaine, accédez à http:<ADCS_SERVER>/certsrv * Cliquez sur Demander un certificat
* Cliquez sur demande de certificat avancée :
Request a certificate ⇒
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 :
Web Server
Computer
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
Télécharge ensuite :
le certificat au format Base64
la chaîne “CA certificate” (Root CA + éventuellement la subCA)
Tu obtiendras un fichier .cer.
🧱 Étape 3 — Convertir le certificat Microsoft en PEM
Dans le LXC :
Copie le certificat :
scp user@windows:/path/to/guac.lab.local.cer /root/
Convertis-le si nécessaire :
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 :
Shellopenssl x509 -in rootCA.cer -out rootCA.crtAfficher plus de lignes
(si tu as une CA intermédiaire : fais pareil)
📦 Étape 4 — Construire le fichier .pem pour HAProxy
HAProxy doit avoir un seul fichier .pem contenant :
la clé privée
le certificat serveur
la chaîne CA (intermédiaires + racine)
Exemple :
Shellcat guac.lab.local.crt guac.lab.local.key rootCA.crt > \ /etc/haproxy/certs/guac.lab.local.pemAfficher plus de lignes
Donne des permissions sécurisées :
Shellchmod 600 /etc/haproxy/certs/guac.lab.local.pemAfficher plus de lignes
🔄 Étape 5 — Recharger HAProxy
haproxy -c -f /etc/haproxy/haproxy.cfg
systemctl reload haproxy
Navigue ensuite vers :
https://guac.lab.local
➜
➜ L’utiliser pour s’authentifier auprès du CES
➜ Automatiser le renouvellement du certificat via CES
➜ Installer automatiquement le nouveau certificat dans le système








