Comment les équipes DevOps peuvent automatiser le déploiement de PKI à la demande avec Keyfactor Ansible et EJBCA
Peu de choses évoluent plus vite que la technologie, et DevOps, en particulier, est à la pointe de l'innovation et de l'automatisation.
DevOps refers to tools and best practices that allow for more efficient software delivery. Growing out of the popular Agile methodology, DevOps focuses on using automation, standardization, and rapid iteration to streamline the software lifecycle.
A crucial part of DevOps is public key infrastructure (PKI). To remain in compliance, keep sensitive information locked down, and maintain security, working environments need to be built on top of a robust 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 .
This problem can’t be overstated. If developers are routinely working with PKI tools that make it impossible to meet tight deadlines, they will find faster, non-compliant ways of obtaining certificates. Put another way: automation isn’t optional when deploying and using PKI in 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
- WiFi certs for devices, such as in a factory or Internet of Things (IoT) application.
- Code signing or time stamping of 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.
Microsoft Certificate Authority (CA) is a great example. A CA is responsible for assigning digital certificates to devices, websites, people, and other entities.
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.
Companies today need a PKI infrastructure that can integrate smoothly with their current tooling while including basic functionality like automation. They often find that they’ve outgrown their PKI when they need a rich REST API, they want to use the Enrollment over Secure Transport (EST) or Certificate Management Protocol (CMP) for x.509 certification, or when they want to use a communications protocol like the 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 for DevOps needs to be able to provision PKI on demand in a way that’s repeatable and scalable while not compromising the critical underlying processes that make PKI the bedrock for trust in 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.
For many teams, the combination of EJBCA and Ansible is the solution that best meets their needs. By treating PKI as a set of microservices in CI/CD and DevOps, PKI deployment is fast, the configuration is consistent, and the infrastructure is scalable.
To learn more about using DevOps tools and best practices to simplify and scale PKI and watch a demo of EJBCA and Ansible in action, check out our webinar “PKI On-Demand for DevOps with Ansible and EJBCA.”
S'abonner à La Source
Stay secure with Keyfactor's monthly newsletter, packed with expert insights and practical steps for quantum-readiness.