Sujet :

problème de connexion client vault avec tls mutualisé sur k8s

RÉSOLU

Liste des sujets Répondre Créer un sujet

jeannine02

Membre depuis le 10/11/2024

hello la team, je galère à faire communiquer un pod client avec mon serveur vault. le vault est déployé sur k8s et j'ai activé le tls mutualisé. le pod a bien son certificat client et sa clé, le ca bundle vault est dans le configmap du client mais j'ai une erreur tls handshake failed. je check les logs vault y'a rien de très parlant juste un generic handshake error


# dans les logs du pod client
curl -v --cacert /certs/vault-ca.crt --cert /certs/client.crt --key /certs/client.key https://vault.svc.cluster.local:8200/v1/sys/health
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS alert, handshake failure (552):
* SSL_recv: error in SSLv2/v3 read server hello A
* LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to vault.svc.cluster.local:8200

antoine-gay

Membre depuis le 31/03/2024

check si le certificat client que tu présentes a bien l'extended key usage client authentication et que le common name ou san match bien le nom du rôle vault que tu utilises pour l'authentification. aussi assure toi que le ca utilisé pour signer ton certificat client est bien rooté dans la config tls de vault

hugues47

Membre depuis le 17/12/2024

et une chose conne mais souvent oubliée : l'heure du client et du serveur. si le décalage est trop grand les certs sont considérés comme non valides ou pas encore valides. un ntp sync est critique surtout pour le mTLS

jeannine02

Membre depuis le 10/11/2024

ok pour l'extended key usage et le ca rooté c bon j'ai re-vérifié. l'heure aussi. mais je viens de voir un truc. en fait mon ca bundle vault que j'ai mis dans le configmap du client ne contient que le root ca. or mon vault est signé par une intermediate ca. est-ce que ça pourrait être ça ?

antoine-gay

Membre depuis le 31/03/2024

oui complètement ! ton client doit avoir la chaîne complète pour valider le serveur : root ca + intermediate ca. ajoute l'intermediate ca au ca bundle de ton client et ça devrait passer. le serveur aussi doit présenter sa chaîne complète (cert serveur + intermediate ca) pour que le client puisse la valider

jeannine02

Membre depuis le 10/11/2024

vous êtes des boss ! j'ai mis la full chain dans le ca bundle du client et ça se connecte direct. thx la team vous m'avez sauvé la journée

Répondre

vous devez être connecté pour poster un message !

Rejoindre la communauté

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

S'inscrire