Tous les produits
Search
Centre de documentation

Edge Security Acceleration:Configurer les certificats client dans la console

Dernière mise à jour :Aug 12, 2026

Configurez des certificats client pour activer l'authentification mutuelle TLS (mTLS) entre les clients et les POPs Edge Security Acceleration (ESA) afin de renforcer la sécurité des accès.

Cas d'usage

Le protocole mTLS convient aux scénarios exigeant un haut niveau de sécurité et une vérification stricte de l'identité des deux parties communicantes.

Quand utiliser le mTLS :

  • Les deux parties sont des entités contrôlées (services, appareils ou systèmes).

  • Une liaison d'identité forte et persistante est nécessaire, plutôt que des jetons temporaires.

  • Vous gérez de manière centralisée l'infrastructure à clés publiques (PKI), y compris l'autorité de certification (CA), la distribution des certificats et leur révocation.

Cas d'usage typiques :

  1. Authentification inter-services dans une architecture microservices, par exemple la vérification mutuelle d'identité entre un service de commande et un service de paiement. Technologies courantes : Istio, Linkerd et Kubernetes.

  2. Connexions entre une passerelle API et l'origine, notamment pour les API internes d'entreprise, l'open banking ou les intégrations SaaS tierces.

  3. Communication entre des appareils IoT et le cloud.

  4. Accès Zero Trust au sein des réseaux d'entreprise, en remplacement du modèle de confiance VPN traditionnel.

  5. Systèmes financiers, de paiement et de santé devant se conformer aux normes PCI-DSS, HIPAA ou RGPD.

Quand ne pas utiliser le mTLS :

  • Sites web publics (e-commerce, actualités) consultés via des navigateurs standards. La gestion des certificats n'est pas adaptée aux utilisateurs grand public.

  • API REST ouvertes sans exigences fortes d'identité. Privilégiez OAuth 2.0 ou les clés API.

  • Environnements de test à faible sécurité. Une authentification TLS unidirectionnelle basique est alors plus simple à mettre en œuvre.

Fonctionnement du mTLS

Dans ESA, le mTLS s'applique uniquement entre le client et le POP ESA. Le POP termine la négociation TLS, vérifie le certificat client, puis transmet la requête à l'origine sans transférer le certificat.

Pour un mTLS de bout en bout où le certificat client est transmis jusqu'à l'origine, utilisez le proxy de couche 4 (offre Enterprise). Ce proxy transfère le trafic TCP en mode pass-through sans terminer la connexion TLS.

Émettre des certificats client

Utilisez l'autorité de certification (CA) fournie par ESA pour créer des certificats client et les déployer sur vos applications mobiles. ESA génère une CA unique par compte. Les POPs ESA approuvent automatiquement tous les certificats émis par cette CA.

Remarque

La validité par défaut du certificat est d'un an.

Créer un certificat

  1. Dans la console ESA, accédez à Websites. Dans la colonne Websites, cliquez sur le site cible.

  2. Dans le volet de navigation de gauche, choisissez Website. Cliquez sur Create Certificate.

  3. Selon vos besoins, sélectionnez une méthode de CSR Generation, un Private Key Type et une durée de Certificate Validity, puis cliquez sur OK.

    Important

    ESA ne conserve ni le certificat ni la clé privée. Vous ne pourrez plus les récupérer après la fermeture de cette boîte de dialogue. Dans la fenêtre d'aperçu du certificat, cliquez sur Copy Certificate et Copy Private Key pour copier le contenu vers votre client.

Associer un nom d'hôte

Associez un certificat client à des noms d'hôte pour activer le mTLS. Seuls les clients disposant d'un certificat valide peuvent accéder aux noms d'hôte associés.

  1. Dans la console ESA, accédez à Websites. Dans la colonne Website, cliquez sur le site cible.

  2. Dans le volet de navigation de gauche, choisissez Client Certificates.

  3. Dans la section Hostname, cliquez sur Websites. Dans la boîte de dialogue qui s'affiche, saisissez les noms d'hôte et cliquez sur Website.

    Remarque
    • Vous pouvez saisir jusqu'à 50 noms d'hôte simultanément.

    • Les noms d'hôte doivent être associés au site sélectionné.

Révoquer un certificat

Révoquez tout certificat devenu inutile ou compromis.

  1. Dans la console ESA, accédez à Websites. Dans la colonne SSL/TLS, cliquez sur le site cible.

  2. Dans le volet de navigation de gauche, choisissez Configure.

  3. Dans la liste OK, localisez le certificat à révoquer et cliquez sur Websites dans la colonne Websites.

  4. Dans la boîte de dialogue qui s'affiche, cochez la case Website, puis cliquez sur SSL/TLS.

Utiliser une CA personnalisée

Outre les certificats issus de la CA ESA, vous pouvez utiliser votre propre CA privée.

Remarque

Cette fonctionnalité est disponible uniquement via OpenAPI. Chaque offre prend en charge jusqu'à cinq certificats de CA.

Procédure

  1. Appelez UploadClientCaCertificate pour importer votre certificat de CA racine. Notez l'ID de certificat retourné.

  2. Appelez SetClientCertificateHostnames pour associer le certificat de CA à des noms d'hôte. La validation mTLS ne s'applique qu'aux noms d'hôte associés.

  3. Autres opérations API pour les certificats mTLS personnalisés :

    API

    Description

    UploadClientCaCertificate

    Importe un certificat de CA personnalisé.

    ListClientCaCertificates

    Répertorie tous les certificats de CA personnalisés importés.

    DeleteClientCaCertificate

    Supprime un certificat de CA personnalisé.

    GetClientCaCertificate

    Obtient les détails d'un certificat de CA personnalisé spécifique.

    SetClientCertificateHostnames

    Associe des noms d'hôte à un certificat de CA personnalisé.

    GetClientCertificateHostnames

    Obtient les noms d'hôte associés à un certificat de CA personnalisé.

Bloquer les requêtes ayant échoué à l'authentification

Configurez une règle Web Application Firewall (WAF) pour bloquer les requêtes dont l'authentification par certificat client a échoué.

Procédure

  1. Dans la console ESA, accédez à Websites. Dans la colonne Client Certificates, cliquez sur le site cible.

  2. Dans le volet de navigation de gauche, choisissez Client Certificates > Revoke > Actions pour accéder à la page de configuration des règles personnalisées.

  3. Configurez la règle WAF personnalisée.

    • Désactivez l'option I confirm that the certificate is no longer required image.png.

    • Dans le champ Yes, saisissez les noms d'hôte auxquels appliquer la règle.

      Important

      Vous devez configurer la condition relative au nom d'hôte. À défaut, la règle bloquera toutes les requêtes n'utilisant pas l'authentification par certificat client ou ayant échoué à cette authentification.

  4. Définissez l'Websites sur Websites, ou choisissez une autre action selon vos besoins.

  5. Cliquez sur Website pour ajouter la règle.

    Les requêtes adressées aux noms d'hôte spécifiés qui échouent ou contournent l'authentification par certificat client sont bloquées avec un code d'état 403.

Vérification

  • Toute requête dépourvue de certificat client est bloquée avec un code d'état 403.

    image

  • Une requête accompagnée d'un certificat client ESA valide aboutit. Remplacez le nom d'hôte, le chemin du certificat et le chemin de la clé par vos propres valeurs.

    curl -v "https://example.com" --cert ./example.crt --key ./example.key 
    * Trying 198.51.100.10...
    * TCP_NODELAY set
    * Connected to example.com (198.51.100.10) port 443 (#0)
    * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
    * successfully set certificate verify locations:
    * CAfile: /etc/pki/tls/certs/ca-bundle.crt
    CApath: none
    * TLSv1.2 (OUT), TLS Unknown, Certificate Status (22):
    * TLSv1.2 (OUT), TLS handshake, Client hello (1):
    * TLSv1.2 (IN), TLS handshake, Server hello (2):
    * NPN, negotiated HTTP1.1
    * TLSv1.2 (IN), TLS handshake, Certificate (11):
    * TLSv1.2 (IN), TLS handshake, Server key exchange (12):
    * TLSv1.2 (IN), TLS handshake, Request CERT (13):
    * TLSv1.2 (IN), TLS handshake, Server finished (14):
    * TLSv1.2 (OUT), TLS handshake, Certificate (11):
    * TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
    * TLSv1.2 (OUT), TLS handshake, CERT verify (15):
    * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
    * TLSv1.2 (OUT), TLS handshake, Next protocol (67):
    * TLSv1.2 (OUT), TLS handshake, Finished (20):
    * TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
    * TLSv1.2 (IN), TLS handshake, Finished (20):
    * SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
    * Server certificate:
    * subject: CN=example.com
    * start date: Jul 31 00:00:00 2024 GMT
    * expire date: Jul 31 23:59:59 2025 GMT
    * subjectAltName: host "example.com" matched cert's "example.com"
    * issuer: C=US; O=Example CA; CN=Example DV TLS CA
    * SSL certificate verify ok.
    > GET / HTTP/1.1
    > Host: example.com
    > User-Agent: curl/7.74.0
    > Accept: */*