Mise en place d’une PKI interne avec Step-CA

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

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *