Vault pas content avec le TLS mutualisé sur K8s

Posté par martin-hubert le 20/10/2024
RÉSOLU

martin-hubert

Membre depuis le 07/12/2022

salut les pros j'essaie de configurer Vault avec du mTLS pour un client mais ça part en cacahuète. mon client K8s doit s'authentifier à Vault via un certificat, mais Vault refuse la connexion TLS. j'ai des erreurs de type `x509: certificate signed by unknown authority`. j'ai bien monté le CA dans Vault pour qu'il reconnaisse les certs clients.

# partie de ma config Vault TLS
listener "tcp" {
  address = "0.0.0.0:8200"
  tls_disable = false
  tls_cert_file = "/vault/tls/vault.crt"
  tls_key_file = "/vault/tls/vault.key"
  tls_client_ca_file = "/vault/tls/ca.crt"
  tls_require_and_verify_client_cert = true
}

Commentaires

antoine-gay

Membre depuis le 31/03/2024

yo. si t'es sur k8s et que t'as un ingress controller devant Vault, c'est lui le coupable. beaucoup de ingress controllers (nginx, traefik) terminent le TLS et ne transmettent pas le certificat client à Vault par défaut. il faut que l'ingress soit configuré pour passer le cert client.

martin-hubert

Membre depuis le 07/12/2022

on est sur Nginx Ingress Controller. j'ai mis les annotations pour les secrets TLS classiques mais je pensais que c'était suffisant. il faut faire quoi pour le cert client ?

matthieu-bonnin

Membre depuis le 30/06/2024

pour Nginx Ingress, tu dois ajouter des annotations spécifiques pour le mTLS. principalement `nginx.ingress.kubernetes.io/auth-tls-verify-client: "on"` et `nginx.ingress.kubernetes.io/auth-tls-secret` qui pointe vers le secret avec ton CA client. Sans ça Nginx fait pas passer le cert client à Vault.

martin-hubert

Membre depuis le 07/12/2022

ah ouais merde j'avais complètement zappé l'annotation `auth-tls-verify-client`. je la rajoute et je re-teste. je vous tiens au jus.

antoine-gay

Membre depuis le 31/03/2024

ouais c'est la clé. l'ingress doit être configuré pour *demander* et *transmettre* le certificat client. sinon Vault voit pas le cert et te jette.

martin-hubert

Membre depuis le 07/12/2022

VOILÀ ! C'était bien ça. J'ai ajouté l'annotation et c'est passé nickel. Vault reçoit bien le cert client. Merci les gars, vous me sauvez la mise !

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire