Pourquoi mettre en place une PKI interne ?
Mettre en place une PKI interne permet :
- d’émettre ses propres certificats
- de maîtriser leur durée de vie
- d’automatiser leur renouvellement
- de supprimer les certificats auto-signés non maîtrisés
Par contre, il faudra prévoir d’e configurer ‘ajouter le certificat de l’autorité de certification sur chaque client.
Dans cet article, nous allons voir comment déployer une autorité de certification interne avec step-ca.
Pourquoi utiliser step-ca ?
Smallstep step-ca est une autorité de certification open source développée par Smallstep.
Avantages :
- Installation simple
- Compatible ACME (comme Let’s Encrypt)
- Gestion d’identités X.509 et SSH
- API REST
- Intégration facile avec des scripts et outils d’automatisation
- Support du renouvellement automatique
Architecture recommandée
Une PKI interne minimale comprend :
- 1 CA root (idéalement offline)
- 1 CA intermédiaire (utilisée pour signer les certificats)
- 1 serveur step-ca
- 1 mécanisme de distribution du certificat root vers les clients
En environnement simple (lab ou PME), on peut commencer avec une seule CA hébergée sur un serveur sécurisé.
Installation de step-ca (exemple sous Debian 12)
1️⃣ Installation
curl -fsSL https://get.smallstep.com | bash
apt install step-ca
Vérification :
step version
2️⃣ Initialisation de la PKI
step ca init
L’assistant va demander :
- Nom de la CA
- Nom DNS du serveur
- Adresse IP
- Mot de passe de protection de la clé privée
À la fin, tu obtiens :
- root_ca.crt
- intermediate_ca.crt
- fichiers de configuration
3️⃣ Démarrage du service
step-ca $(step path)/config/ca.json
Ou via systemd.
Émission d’un certificat
Exemple pour un serveur interne :
step ca certificate srv-web01.infra.local srv-web01.crt srv-web01.key
Le certificat est signé par la CA interne.
Tu peux ensuite l’installer dans :
- Nginx
- Apache
- HAProxy
- Interface d’administration d’un firewall
- Reverse proxy
Activation du protocole ACME
L’un des gros avantages de step-ca est le support natif d’ACME.
Cela permet :
- d’utiliser Certbot
- d’automatiser le renouvellement
- d’éviter toute gestion manuelle
Exemple de configuration ACME :
{
"type": "ACME",
"name": "acme"
}
Ensuite, un serveur peut demander son certificat automatiquement via ACME interne.
Distribution du certificat root
Point critique : tous les clients doivent faire confiance à la CA interne.
Sur Linux :
cp root_ca.crt /usr/local/share/ca-certificates/
update-ca-certificates
Sur Windows : via GPO
Sur équipements réseau : import manuel du certificat root.
Cas d’usage concrets
En environnement réseau/sécurité (comme le tien), une PKI interne permet :
- HTTPS sur interfaces d’administration de firewalls
- TLS sur serveurs internes
- Authentification mutuelle VPN
- Wi-Fi entreprise (EAP-TLS)
- Signature de certificats pour API internes
- Certificats courts pour renforcer la sécurité
Bonnes pratiques de sécurité
- Protéger la clé privée de la CA
- Sauvegarder les clés hors ligne
- Conserver la root CA offline si possible
- Utiliser des certificats courts (30 à 90 jours)
- Automatiser le renouvellement
- Mettre en place une CRL ou OCSP si nécessaire
Conclusion
Mettre en place une PKI interne n’est plus réservé aux grandes entreprises.
Avec Smallstep step-ca, il est possible de :
- déployer une autorité de certification en quelques minutes
- automatiser totalement l’émission
- sécuriser l’ensemble de l’infrastructure interne