Introducing the 2024 PKI & Digital Trust Report     | Download the Report

  • Accueil
  • Blog
  • DevOps
  • Comment les équipes DevOps peuvent automatiser le déploiement de PKI à la demande avec Keyfactor Ansible et EJBCA

Comment les équipes DevOps peuvent automatiser le déploiement de PKI à la demande avec Keyfactor Ansible et EJBCA

DevOps

Peu de choses évoluent plus vite que la technologie, et DevOps, en particulier, est à la pointe de l'innovation et de l'automatisation.

DevOps désigne les outils et les meilleures pratiques qui permettent une livraison plus efficace de software . Issu de la méthodologie Agile, DevOps se concentre sur l'utilisation de l'automatisation, de la standardisation et de l'itération rapide pour rationaliser le cycle de vie software .

L'infrastructure à clé publique (PKI) est un élément essentiel de DevOps. Pour rester en conformité, garder les informations sensibles sous clé et maintenir la sécurité, les environnements de travail doivent être construits sur la base d'une robuste PKI.

PKI Cependant, les outils n'ont pas suivi le rythme de l'évolution de l'espace DevOps, ce qui représente à la fois un défi et une opportunité.  

Aujourd'hui, les équipes chargées des applications et des opérations doivent aller vite, fonctionner sur n'importe quelle plateforme et tout automatiser. Mais les développeurs ne peuvent pas aller vite ou être agiles s'ils sont constamment freinés par les processus de sécurité manuels et archaïques liés à l'utilisation des outils traditionnels PKI .

On ne saurait trop insister sur ce problème. Si les développeurs travaillent régulièrement avec des PKI outils qui les empêchent de respecter des délais serrés, ils trouveront des moyens plus rapides et non conformes d'obtenir des certificats. En d'autres termes, l'automatisation n'est pas facultative lors du déploiement et de l'utilisation de PKI dans le cadre de DevOps.

L'équipe Keyfactor a abordé ce sujet lors d'un récent webinaire et a discuté des outils et des meilleures pratiques que les équipes DevOps peuvent utiliser pour simplifier et mettre à l'échelle PKI. 

Comment PKI est utilisé dans les environnements CI/CD

Lorsque vous utilisez PKI dans des contextes d'intégration et de déploiement continus (CI/CD), tout se résume à une question de confiance. Si vous créez et déployez des applications, vous devez savoir que l'infrastructure que vous utilisez et le site software que vous fournissez sont fiables.

C'est beaucoup plus facile à réaliser avec PKI on demand. Comme tout autre service à la demande, PKI on demand signifie que vous pouvez dynamiser l'émission, la révocation et la gestion des certificats. Lorsque vous travaillez dans des environnements avancés et en évolution rapide qui caractérisent le DevOps moderne, cette flexibilité et cette capacité d'adaptation ne peuvent pas être plus critiques. 

Pour bien comprendre l'importance de PKI on demand, il est utile de concrétiser les cas d'utilisation spécifiques où cela peut être nécessaire. En voici quelques-uns :

  • Délivrer des certifications de périphériques pour l'authentification 802.1x sur un réseau
  • Certificats WiFi pour les appareils, par exemple dans une usine ou dans l'Internet des objets. Internet des objets (IoT) application.
  • Signature du code ou horodatage du code

Les certificats numériques sont l'épine dorsale de PKI, et ce type de gestion des certificats est donc absolument vital. Disposer d'un moyen de gérer rapidement et efficacement la certification des appareils est un élément essentiel de la sécurité, mais vous devez également être en mesure de montrer comment les appareils sont validés et certifiés afin de prouver que votre sécurité répond aux normes requises. Cela est particulièrement vrai si vous souhaitez travailler avec des contrats gouvernementaux ou des données classifiées.

L'importance de l'automatisation dans DevOps

Nous avons indiqué dès le départ que l'automatisation n'est pas facultative lorsque l'on gère PKI pour DevOps. DevOps et automatisation vont de pair car, associées, elles créent deux choses dont les équipes ont besoin : la rapidité et la cohérence. 

Fondamentalement, DevOps s'éloigne de la configuration statique. Alors que dans le passé, des processus tels que l'intégration de code pouvaient être gérés manuellement et n'être revus qu'en cas de problème important, dans le DevOps moderne, ils sont définis dans des scripts. Lorsqu'un processus est défini dans un script, il devient automatisé et reproductible, ce qui le rend fiable (parce que le script s'exécutera toujours de la même manière) et évolutif (parce qu'il est toujours possible d'augmenter les ressources informatiques, alors qu'il est beaucoup plus difficile d'augmenter le temps humain). Lorsqu'ils sont correctement exécutés, les scripts sont modulaires et réutilisables, ce qui facilite le test, la modification et la maintenance de votre base de code. 

Mais pour sécuriser l'environnement dans lequel ces scripts sont écrits et exécutés, DevOps doit s'appuyer sur PKI. Cela devient un goulot d'étranglement important dans le flux de travail DevOps car la suite existante d'outils PKI est manuelle, lente et lourde en termes de configuration.

L'autorité de certification (AC) de Microsoft en est un bon exemple. Une autorité de certification est chargée d'attribuer des certificats numériques à des appareils, des sites web, des personnes et d'autres entités.

Microsoft CA présente des inconvénients substantiels qui la rendent peu adaptée aux environnements DevOps modernes : elle dépend fortement de l'infrastructure Microsoft, les équipes doivent provisionner un nouveau serveur à chaque fois qu'elles ont besoin d'une nouvelle autorité de certification, et les tâches à enjeu comme le provisionnement des autorités de certification ne sont pas facilement automatisables. Comme la plupart des autres solutions PKI proposées, elle ne peut pas permettre les choses dont DevOps a besoin pour rester innovant.

Les entreprises d'aujourd'hui ont besoin d'une infrastructure PKI qui puisse s'intégrer harmonieusement à leurs outils actuels tout en incluant des fonctionnalités de base telles que l'automatisation. Elles se rendent souvent compte qu'elles ont dépassé leur PKI lorsqu'elles ont besoin d'une API REST riche, qu'elles veulent utiliser l'Enrollment over Secure Transport (EST) ou le Certificate Management Protocol (CMP) pour la certification x.509ou lorsqu'ils veulent utiliser un protocole de communication comme l'Automated Certificate Management Environment (ACME).

Et cela n'aborde même pas les difficultés liées à la mise en place rapide de PKI spécifiques à un groupe pour les tests ou à la reconstruction d'anciennes ICP à partir de spécifications, deux opérations assez basiques et routinières du point de vue de DevOps. 

Ceci étant dit, nous pouvons maintenant poser la question suivante : que doivent rechercher ces équipes dans une solution PKI ?

Automatisation PKI

PKI pour DevOps doit être capable de provisionner PKI à la demande d'une manière répétable et évolutive sans compromettre les processus critiques sous-jacents qui font de PKI le fondement de la confiance dans software.

Pour prendre en charge DevOps dans sa forme actuelle, une plateforme PKI doit être conçue pour être déployée n'importe où, sous n'importe quelle forme, qu'il s'agisse d'un service basé sur le cloud, d'un conteneur Docker ou Kubernetes, ou d'une application clé en main hardware/software . En d'autres termes, elle doit s'adapter à tout ce que vous essayez d'accomplir.

De plus, elle doit être capable d'évoluer de manière dynamique. Concrètement, cela signifie qu'il faut pouvoir déployer plusieurs autorités de certification sur un seul nœud, les répartir sur différents nœuds et les regrouper pour assurer une haute disponibilité. Tout cela est impossible avec Microsoft CA.  

La plate-forme PKI devrait s'intégrer dans l'infrastructure et les outils existants. Elle doit prendre en charge les protocoles EST, CMP et ACME déjà mentionnés. Toute personne ayant travaillé sur le site PKI peut attester qu'il existe une grande variété de formats et de cas d'utilisation qui doivent être pris en compte. Il doit également prendre en charge différentes méthodes d'interface avec les algorithmes et les modules de sécurité Hardware (HSM) qui se trouvent derrière PKI. 

S'il possède ces propriétés, votre site PKI peut être déployé comme vous le souhaitez, de manière automatisée, flexible, évolutive, reproductible et compatible avec la pile DevOps que vous utilisez déjà. Cela vous permet d'avancer rapidement sans compromettre la confiance.  

Pour de nombreuses équipes, la combinaison de EJBCA et d'Ansible est la solution qui répond le mieux à leurs besoins. En traitant PKI comme un ensemble de microservices dans CI/CD et DevOps, le déploiement de PKI est rapide, la configuration est cohérente et l'infrastructure est évolutive.

Pour en savoir plus sur l'utilisation des outils DevOps et des meilleures pratiques pour simplifier et faire évoluer PKI et assister à une démonstration de EJBCA et Ansible en action, consultez notre webinaire "PKI On-Demand for DevOps with Ansible and EJBCA."