O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

HashiTalks France 2023 - Sécurisez la distribution automatique de vos certificats

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 39 Anúncio

HashiTalks France 2023 - Sécurisez la distribution automatique de vos certificats

Baixar para ler offline

L'utilisation de certificats est un des piliers de la sécurité.
La génération de ces certificats est habituellement effectuée manuellement et peut prendre plusieurs jours.
Ensuite, le certificat et sa clé privée sont généralement envoyés en clair dans un outil de messagerie,
ce qui fait de cette transaction, une des premières failles de sécurité, car la clé privée est possiblement exposée.
Ensuite, de plus en plus, les équipes de sécurité demandent une mise à jour plus fréquente de ces certificats.
Pour éviter que la gestion des certificats ne devienne un gouffre financier et de sécurité, il est nécessaire de mettre en place un système automatisé.

Cette session va montrer comment utiliser Vault et Consul-Template afin de sécuriser la génération et la distribution automatique de ces certificats.

Le discours s'appuie sur un exemple concret de mise en place d'une PKI interne à trois niveaux avec une CA racine externe, ce qui représente un cas d'usage courant.

A l'aide d'une démo, nous verrons comment générer et mettre à jour des certificats feuilles à courte durée de vie et les distribuer automatiquement.

Enfin, une rotation complète de la PKI gérée par Vault montrera que la mise à jour des certificats peut être rendue complètement transparente par l'utilisation de Consul-Template (ou outils similaires comme Vault en mode agent, Nomad).

L'utilisation de certificats est un des piliers de la sécurité.
La génération de ces certificats est habituellement effectuée manuellement et peut prendre plusieurs jours.
Ensuite, le certificat et sa clé privée sont généralement envoyés en clair dans un outil de messagerie,
ce qui fait de cette transaction, une des premières failles de sécurité, car la clé privée est possiblement exposée.
Ensuite, de plus en plus, les équipes de sécurité demandent une mise à jour plus fréquente de ces certificats.
Pour éviter que la gestion des certificats ne devienne un gouffre financier et de sécurité, il est nécessaire de mettre en place un système automatisé.

Cette session va montrer comment utiliser Vault et Consul-Template afin de sécuriser la génération et la distribution automatique de ces certificats.

Le discours s'appuie sur un exemple concret de mise en place d'une PKI interne à trois niveaux avec une CA racine externe, ce qui représente un cas d'usage courant.

A l'aide d'une démo, nous verrons comment générer et mettre à jour des certificats feuilles à courte durée de vie et les distribuer automatiquement.

Enfin, une rotation complète de la PKI gérée par Vault montrera que la mise à jour des certificats peut être rendue complètement transparente par l'utilisation de Consul-Template (ou outils similaires comme Vault en mode agent, Nomad).

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Semelhante a HashiTalks France 2023 - Sécurisez la distribution automatique de vos certificats (20)

Anúncio

Mais recentes (20)

HashiTalks France 2023 - Sécurisez la distribution automatique de vos certificats

  1. 1. This document is confidential and personal to its recipients © ITQ 2022 HashiTalks: France 2023 Sécurisez la distribution automatique de vos certificats
  2. 2. This document is confidential and personal to its recipients © ITQ 2022 Stéphane Este-Gracias @sestegra § Défenseur et promoteur des logiciels libres et open source § Catalyseur des transformations Cloud Native chez ITQ § Mentorat technologique § Développement des talents § Développement de la topologie des équipes § Organisateur des communités d’utilisateurs HashiCorp et CNCF au Luxembourg 2
  3. 3. This document is confidential and personal to its recipients © ITQ 2022 Agenda § Pourquoi automatiser le cycle de vie de vos certificats à l’aide de Vault ? § Construire une PKI interne avec Vault § Générer et déployer des certificats feuilles § Renouveler les certificats feuilles § Rotation des CAs en toute transparence § Prochaines étapes 3
  4. 4. This document is confidential and personal to its recipients © ITQ 2022 Attention § Pour simplifier la démo, le token "root" est utilisé intentionnellement pour se concentrer uniquement sur les fonctionnalités du Secret Engine PKI § Ne pas utiliser le token "root" en production § Voir ”Prochaines étapes” pour la mise en production 4
  5. 5. This document is confidential and personal to its recipients © ITQ 2022 Pourquoi automatiser le cycle de vie de vos certificats avec Vault ? § Facilitez la gestion de la hiérarchie de votre PKI § Faciliter le cycle de vie de la CA (émission, rotation) § Faciliter le renouvellement et le déploiement des certificats feuilles § Supprimer l'utilisation des certificats Wildcard § Par exemple *.example.com § Principe de moindre privilège § Obtenir une source unique de confiance § Générer un journal d'audit 5
  6. 6. This document is confidential and personal to its recipients © ITQ 2022 Construire une PKI avec Vault 6
  7. 7. This document is confidential and personal to its recipients © ITQ 2022 PKI avec une hiérarchie de CA à trois niveaux Root CA Intermediate CA Issuing CA Leaf Cert Issuing CA Issuing CA Leaf Cert Leaf Cert Intermedate CA Issuing CA Leaf Cert Issuing CA Issuing CA Leaf Cert Leaf Cert Intermediate CA Issuing CA Leaf Cert Issuing CA Issuing CA Leaf Cert Leaf Cert
  8. 8. This document is confidential and personal to its recipients © ITQ 2022 Configuration de la PKI de démo § Root CA hors ligne § Intermediate CA dans Vault § Issuing CA dans Vault § Un Role pour générer les certificats § Elliptic Curve Digital Signature Algorithm § ECDSA P-256 § Clés plus résistantes § Certificats plus compactes 8 Root CA (offline) Intermediate CA Issuing CA Leaf Certificate Leaf Certificate Leaf Certificate
  9. 9. This document is confidential and personal to its recipients © ITQ 2022 Root CA § Root CA hors ligne § Implémentation § Paramétrage § path_len = 2 § Terraform avec le provider hashicorp/tls § Configuration d’une Root CA auto-signée 9 Root CA (offline) path_len = 2
  10. 10. This document is confidential and personal to its recipients © ITQ 2022 Intermediate CA § Intermediate CA géré par Vault § Implémentation § Paramétrage § mount = pki_int § path_len = 1 § Activer le Secret Engine PKI § Générer une Private Key et un CSR § Signer et générer un certificat à l'aide de la Root CA § Stocker le certificat Intermediate 10 Root CA (offline) path_len = 2 Intermediate CA mount = pki_int path_len = 1
  11. 11. This document is confidential and personal to its recipients © ITQ 2022 Issuing CA § Issuing CA géré par Vault § Implémentation § Paramétrage § mount = pki_iss § Activer le Secret Engine PKI § Générer une Private Key et un CSR § Signer et générer un certificat à l'aide de la Intermediate CA § Stocker le certificat Issuing + Intermediate 11 Root CA (offline) path_len = 2 Intermediate CA mount = pki_int path_len = 1 Issuing CA mount = pki_iss
  12. 12. This document is confidential and personal to its recipients © ITQ 2022 § Role pour générer les certificats § Implémentation § Paramétrage § name = example § allowed_domains = example.com § allowed_subdomains = true § allow_wildcard_certificates = false § Créer le Role pour générer les certificats Issuing CA / Role 12 Root CA (offline) path_len = 2 Intermediate CA mount = pki_int path_len = 1 Issuing CA mount = pki_iss Role ‘example’ allowed_domains = example.com allowed_subdomains = true allowed_wildcard = false
  13. 13. This document is confidential and personal to its recipients © ITQ 2022 § Role pour générer les certificats § Implémentation § Paramétrage § common_name = sample.example.com § Générer le certificat issue du Role example Génération manuelle d’un certificat 13 Root CA (offline) path_len = 2 Intermediate CA mount = pki_int path_len = 1 Issuing CA mount = pki_iss Role ‘example’ allowed_domains = example.com allowed_subdomains = true allowed_wildcard = false Certificate cn = sample.example.com
  14. 14. This document is confidential and personal to its recipients © ITQ 2022 Démo
  15. 15. This document is confidential and personal to its recipients © ITQ 2022 Déploiement des certificats 15
  16. 16. This document is confidential and personal to its recipients © ITQ 2022 Solutions possibles § Consul Template (utilisé dans la demo) § Vault Agent sur un serveur § Vault Agent dans Kubernetes § Nomad § …
  17. 17. This document is confidential and personal to its recipients © ITQ 2022 Consul Template Templating Language § Format et fonctions de Go Template § Fonctions additionelles § Requêtes vers Consul, Vault et Nomad 17
  18. 18. This document is confidential and personal to its recipients © ITQ 2022 Consul Template Templates pour Certificats 18 CODE EDITOR {{- with secret "pki_iss/issue/example" "common_name=test.example.com" -}} {{ .Data.private_key }} {{- end -}} {{- with secret "pki_iss/issue/example" "common_name=test.example.com" -}} {{ .Data.certificate }} {{- end -}} {{- with secret "pki_iss/issue/example" "common_name=test.example.com" -}} {{ .Data.ca_chain }} {{- end -}} {{- with secret "pki_iss/cert/ca_chain" -}} {{ .Data.ca_chain }} {{- end -}}
  19. 19. This document is confidential and personal to its recipients © ITQ 2022 Consul Template Templates pour Certificats 19 CODE EDITOR {{- with secret "pki_iss/issue/example" "common_name=test.example.com" -}} {{ .Data.private_key }} {{- end -}} {{- with secret "pki_iss/issue/example" "common_name=test.example.com" -}} {{ .Data.certificate }} {{- end -}} {{- with secret "pki_iss/issue/example" "common_name=test.example.com" -}} {{ .Data.ca_chain }} {{- end -}} {{- with secret "pki_iss/cert/ca_chain" -}} {{ .Data.ca_chain }} {{- end -}}
  20. 20. This document is confidential and personal to its recipients © ITQ 2022 Consul Template Templates pour Certificats 20 CODE EDITOR {{- with secret "pki_iss/issue/example" "common_name=test.example.com" -}} {{ .Data.private_key }} {{- end -}} {{- with secret "pki_iss/issue/example" "common_name=test.example.com" -}} {{ .Data.certificate }} {{- end -}} {{- with secret "pki_iss/issue/example" "common_name=test.example.com" -}} {{ .Data.ca_chain }} {{- end -}} {{- with secret "pki_iss/cert/ca_chain" -}} {{ .Data.ca_chain }} {{- end -}}
  21. 21. This document is confidential and personal to its recipients © ITQ 2022 Consul Template Templates pour Certificats 21 CODE EDITOR {{- with secret "pki_iss/issue/example" "common_name=test.example.com" -}} {{ .Data.private_key }} {{- end -}} {{- with secret "pki_iss/issue/example" "common_name=test.example.com" -}} {{ .Data.certificate }} {{- end -}} {{- with secret "pki_iss/issue/example" "common_name=test.example.com" -}} {{ .Data.ca_chain }} {{- end -}} {{- with secret "pki_iss/cert/ca_chain" -}} {{ .Data.ca_chain }} {{- end -}}
  22. 22. This document is confidential and personal to its recipients © ITQ 2022 Démo
  23. 23. This document is confidential and personal to its recipients © ITQ 2022 Renouvellement des certificats 23
  24. 24. This document is confidential and personal to its recipients © ITQ 2022 Renouvellement automatique § Les certificats sont automatiquement renouvelés § Utilisez le bloc exec dans la configuration pour exécuter une commande lorsque le template est rendu et que la sortie a changé CODE EDITOR exec { command = [ "systemctl", "reload”, "nginx" ] timeout = “30s” }
  25. 25. This document is confidential and personal to its recipients © ITQ 2022 Démo
  26. 26. This document is confidential and personal to its recipients © ITQ 2022 Rotation transparente des CAs 26
  27. 27. This document is confidential and personal to its recipients © ITQ 2022 Fonctionnalité Multi-Issuer § Vault 1.11.0 ou supérieur § Prise en charge de plusieurs versions de CAs dans le même Secret Engine PKI § Simplification de la rotation de la CA § Secret Engine définit un default_issuer § Le Role définit un issuer_ref issuer CA default issuer = v1 v1 Role A issuer_ref = default Leaf Certificate v1
  28. 28. This document is confidential and personal to its recipients © ITQ 2022 Transition d’une CA § Création d’un issuer v2 § default issuer est entouré de vert CA default issuer = v1 v1 Role A issuer_ref = default Leaf Certificate v1 v2
  29. 29. This document is confidential and personal to its recipients © ITQ 2022 Transition d’une CA § Création d’un Role B utilisant l’issuer v1 CA default issuer = v1 Role A issuer_ref = default Leaf Certificate v1 v2 Role B issuer_ref = v1 Leaf Certificate v1 v1
  30. 30. This document is confidential and personal to its recipients © ITQ 2022 Transition d’une CA § Création d’un Role C utilisant l’issuer v2 CA default issuer = v1 Role A issuer_ref = default Leaf Certificate v1 v2 Role B issuer_ref = v1 Leaf Certificate Role C issuer_ref = v2 Leaf Certificate v1 v2 v1
  31. 31. This document is confidential and personal to its recipients © ITQ 2022 Transition d’une CA § Passage du default issuer à v2 CA default issuer = v2 Role A issuer_ref = default Leaf Certificate v2 v2 Role B issuer_ref = v1 Leaf Certificate Role C issuer_ref = v2 Leaf Certificate v1 v2 v1
  32. 32. This document is confidential and personal to its recipients © ITQ 2022 Rotation de l’Issuing CA (Démo) 32
  33. 33. This document is confidential and personal to its recipients © ITQ 2022 Démo
  34. 34. This document is confidential and personal to its recipients © ITQ 2022 Prochaines étapes 45
  35. 35. This document is confidential and personal to its recipients © ITQ 2022 Chemin vers la production POC -> MVP -> Production § Déployer Vault selon l’architecture de référence
  36. 36. This document is confidential and personal to its recipients © ITQ 2022 Chemin vers la production POC -> MVP -> Production § Codification de la configuration Vault avec le provider Terraform hashicorp/vault § Création la PKI, § Activation des Auth Methods § Création des Policies § Principe de moindre privilège § Gestion de l’authentification de Vault Agent, Kubernetes, Nomad § Désactivaction de vos anciennes CAs 47
  37. 37. This document is confidential and personal to its recipients © ITQ 2022 Takeaways 48
  38. 38. This document is confidential and personal to its recipients © ITQ 2022 Takeaways § Pourquoi automatiser le cycle de vie de vos certificats à l’aide de Vault ? § Construire une PKI interne avec Vault § Générer et déployer des certificats § Renouveler les certificats § Rotation des CAs en toute transparence 49
  39. 39. Merci! Author XXXX Version XXXX Pour plus d’informations N’hésitez pas à me contacter ITQ aux Pays-Bas Parallelweg 94 1948 NM Beverwijk The Netherlands T: +31 251 82 88 03 www.itq.eu info@itq.eu ITQ en Belgique Interleuvenlaan 62 3001 Leuven Belgium T: +32 16 39 47 39 www.itq.eu info@itq.eu ITQ en Allemagne Peter-Jakob-Busch-Straße 24 47906, Kempen Germany T: +49 215 2148 5150 www.itq.eu info@itq.eu ITQ au Luxembourg West Side Village 89E Rue Pafebruch 8308 Mamer Luxembourg www.itq.eu info@itq.eu ITQ en France 10, rue Michel Servet 59000 Lille France www.itq.eu info@itq.eu Stéphane Este-Gracias sestegra@itq.eu GitHub / Linkedin / Medium / Twitter @sestegra 50

×