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 svcces

le mettre membre du groupe local IIS_IUSRS du serveur CES

Lui donner les droits sur la CA dans certsrv.msc → Propriétés → Sécurité :

ajouter le compte svcces

lui donner les droits :

Lire

Demander des certificats

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 :

⇒ les clients peuvent demander uniquement de renouveler des certificats existants.

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

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

générer le CSR

openssl req -new -key guac.lab.local.key \
-out guac.lab.local.csr \
-config san.cnf

➜ ➜ 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