Le Labo

Révocation mTLS en direct — en moins de 60 secondes

L'accroche de chaque appel prospect SkyQon. Un vrai cluster EJBCA émet un vrai certificat. Un vrai service protégé par mTLS accorde l'accès. Le certificat est révoqué — OCSP se propage — le même client est refusé. En direct. Aucune simulation, aucun mock. Tout le flux prend moins d'une minute.

Le flux

Cinq étapes. Une minute. Révocation réelle.

Chaque étape ci-dessous s'exécute sur un labo de production sur Proxmox. Les commandes exactes sont affichées pour que vos ingénieurs puissent les reproduire.

Émettre le certificat de test

L'action « Émettre un certificat » du tableau de bord envoie une CSR à EJBCA REST. Profil MTLS_CLIENT, ECDSA P-384, signé par SkyQon Issuing CA G2. Certificat et clé renvoyés en quelques secondes.

POST /ejbca-rest-api/v1/certificate/pkcs10enroll

Vérifier l'accès mTLS

Utilisez le certificat fraîchement émis pour atteindre un service protégé par mTLS. HAProxy vérifie la chaîne en périphérie (verify required, ca-file IssuingCA-G2.crt) et relaie la requête vers Nextcloud / Graylog / RKE2.

curl --cert test.pem --key test.key https://nc.skyqon.com → 200 OK

Révoquer le certificat

Cliquez sur « Révoquer » dans le PKI Ops Dashboard, ou appelez EJBCA REST directement. Raison : KEY_COMPROMISE. EJBCA écrit la révocation dans son journal d'audit et met à jour la vue du répondeur OCSP immédiatement.

PUT /ejbca-rest-api/v1/certificate/{issuer}/{serial}/revoke

Propagation OCSP

Le répondeur OCSP reflète la révocation immédiatement. La publication de la CRL suit dans la fenêtre configurée (typiquement 60 minutes) — mais OCSP est le signal temps réel faisant autorité que HAProxy interroge.

openssl ocsp -issuer IssuingCA-G2.crt -cert test.pem … → revoked

Le service refuse l'accès

Relancez le même curl. HAProxy rejette la connexion car le certificat est désormais révoqué selon OCSP. L'application ne voit jamais la requête — l'accès a disparu.

curl --cert test.pem … → 403 / connection refused
~5s
Émission
~2s
Vérifier l'accès
~1s
Révocation
~3s
Propagation OCSP
~1s
Refus
<15s
Total observé
La stack du labo

De production. Pas un bac à sable.

Chaque composant tourne sur Proxmox VE de la même façon que dans un déploiement client. Nous avons délibérément fait du labo notre actif de démo — donc quand nous disons « éprouvé en labo », c'est littéralement vrai.

🏛️

Cluster EJBCA

EJBCA Communityactive/active

Deux backends derrière le VIP pki.skyqon.com. ECDSA P-384 / SHA3-512. Clés adossées à SoftHSM2.

🛢️

MariaDB Galera

3 nodesPROXY-v2

Un cluster Galera à trois nœuds. VIP HAProxy mono-writer avec PROXY protocole v2 pour préserver l'IP client.

🔒

HashiCorp Vault

KV-v2AppRole

Secrets applicatifs via KV-v2. Authentification AppRole pour la livraison d'identifiants non humains.

🛡️

HAProxy

TLS terminationmTLS verifySNI

Terminaison TLS avec mTLS en périphérie. verify required sur le frontend Nextcloud / Graylog.

🧂

Salt + Woodpecker

Salt 3006salt-apiWoodpecker CI

Master Salt exposé via nginx pour le TLS. Woodpecker CI dispatche l'application d'état via salt-api.

📊

Graylog

GELFstreams

Un puits d'observabilité unique. Audit EJBCA, événements salt et échecs de handshake mTLS — une chronologie.

Envie de le voir en direct ?

Réservez une démo guidée de 30 minutes. Nous partageons l'écran, exécutons la démo de bout en bout et répondons aux questions techniques que votre équipe CA posera.