Procédure pour le renouvellement des certificats TLS sur Kubernetes

Cette page décrit la procédure de renouvellement des certificats TLS générés par Helm pour les communications internes entre les services de Cyberwatch.

Durée de validité par défaut

Helm génère automatiquement des certificats TLS pour sécuriser les communications internes entre les services (base de données, Redis, Elasticsearch, etc.).

Les durées de validité par défaut sont :

  • Certificats de service : 365 jours (1 an)
  • Certificat de l’autorité de certification (CA) : 3650 jours (10 ans)

Ces certificats sont conservés dans des secrets Kubernetes. Helm ne régénère un certificat que si le secret correspondant n’existe pas déjà dans le cluster (mécanisme lookup).

Les certificats de service doivent être renouvelés avant leur expiration pour éviter une interruption de communication entre les services.

Vérifier la date d’expiration des certificats

Lister les secrets de type TLS et afficher leur date d’expiration :

for secret in $(kubectl -n cyberwatch get secrets -o jsonpath='{.items[?(@.type=="kubernetes.io/tls")].metadata.name}'); do
  enddate=$(kubectl -n cyberwatch get secret "$secret" -o jsonpath='{.data.tls\.crt}' | \
    base64 -d | openssl x509 -noout -enddate | cut -d= -f2)
  printf "%-30s %s\n" "$secret" "$enddate"
done

Pour le certificat CA (stocké sous une clé différente) :

kubectl -n cyberwatch get secret cyberwatch-root-ca -o jsonpath='{.data.root-ca\.crt}' | \
  base64 -d | openssl x509 -noout -enddate

Procédure de renouvellement des certificats de service

Pour forcer la régénération des certificats, il faut supprimer les secrets existants puis relancer helm upgrade.

  1. Identifier les secrets de certificats à renouveler à l’aide de la commande de vérification ci-dessus.

  2. Supprimer les secrets identifiés, par exemple :

    kubectl -n cyberwatch delete secret <secret-1> <secret-2> ...
    

    Certains secrets TLS ne sont pas renouvelés automatiquement par Helm (par exemple cyberwatch-tls). Ces secrets doivent être recréés manuellement. Consultez la documentation sur la configuration TLS pour Kubernetes pour plus d’informations.

  3. Suivre la procédure de mise à jour des images pour relancer le déploiement avec Helm et renouveler les certificats.

  4. La commande pour vérifier la date d’expiration des certificats peut être relancée pour confirmer que les certificats ont bien été renouvelés.

Renouvellement du certificat CA

Le renouvellement du CA invalide tous les certificats de service signés par celui-ci. Tous les secrets de certificats doivent être supprimés et recréés.

  1. Supprimer le secret du CA ainsi que tous les secrets de certificats de service.

  2. Suivre les étapes 2 à 4 de la procédure de renouvellement des certificats de service ci-dessus.


Retour en haut

English Français Español