Keyfactor Days 2027 – Participez à la conférence « Trust Security » à San Diego Inscrivez-vous dès maintenant !

Signature de code et flux de sécurité Kubernetes : Ce qu'il faut savoir

Keyfactor L'équipe Keyfactor L'équipe
Flow chart or blockchain concept

Avec la norme CI/CD, les applications modernes n'ont plus besoin d'être développées et livrées comme des monolithes. L'époque des "release days" et des mises à jour massives de produits avec de longs délais d'exécution et des efforts de développement cloisonnés est révolue. La popularité croissante et l'importance des applications conteneurisées ont conduit à la croissance de plateformes d'orchestration telles que Kubernetes, dont la sécurité est devenue essentielle maintenant qu'elle est critique pour de nombreuses applications modernes.

But how do you prove that what you run in Kubernetes is what you built and intended to deploy? Container orchestration platforms greatly benefit from code signing.

La signature de code est un élément de sécurité important dans une stratégie de développement "shift-left", où les mesures de sécurité sont intégrées dans le produit en tant que fonctionnalités avant sa livraison .

La signature de code renforce la sécurité et la confiance dans les pipelines de développement de software , en liant les artefacts software à l'identité et en confirmant leur intégrité par des signatures cryptographiques. La stratégie de certificat et d'identité n'est plus une prérogative de TLS et des identités des appareils ; l'étendre aux identités des développeurs et des constructeurs dans Kubernetes est une opportunité clé pour enrichir la confiance numérique dans votre organisation.

Development with Kubernetes has many advantages, but also pitfalls that code signing can help address. Read on for a discussion of potential gaps in Kubernetes security, how code signing and PKI can help bridge these gaps, and the best practices for signed container security workflows.

Les lacunes de la sécurité de Kubernetes 

Public key infrastructure (PKI) is a necessary part of application development and delivery. Kubernetes certainly already relies on PKI for its many components. Control plane, kubelets, client certificates, and more all use X.509 certificates and certificate signing requests (CSRs) natively.

However, the scope of typical PKI implementation is often limited to infrastructure, leaving software artifacts running in pods and containers exposed and potentially at risk if their integrity isn’t verified in other ways. A Software Bill of Materials (SBOM) can fill part of that visibility gap by providing a complete inventory of components and dependencies within container images, while code signing verifies that these images come from trusted sources.

As teams adopt more fluid and automated CI/CD pipelines and make use of container registries and Kubernetes clusters, unsigned or compromised images can slip past scanning tools to run in production. Best-case scenario: an honest mistake. Worst-case scenario: compromised assets, broken processes, and expensive fallout from the damage. Mutable image tags deepen the risk, as someone could re-push to the same tag, bypassing native checks. This is why many architecture guides emphasize the necessity of cryptographic signing and signature verification in the cluster.

Dans la pratique, bien sûr, les développeurs peuvent résister aux frictions que les procédures de signature introduisent dans le flux, ou utiliser par défaut des scripts ad hoc en dehors de la gouvernance.

This leads to signing key sprawl and weak signing practices, where code signing scripts malfunction or the signing isn’t done at all. The challenges don’t stop there: smart key management in tune with scaling processes demands not only higher security for private key storage (ideally, in HSMs or key vaults), but also automated certificate lifecycle management for cross-cluster consistency.

L'application des politiques au moment de l'exécution est également une exigence pour des opérations Kubernetes plus sûres. Une fois qu'une image est signée, les contrôleurs d'admission ou les moteurs de politiques doivent vérifier que l'environnement Kubernetes n'exécute que des images dont les signatures sont valides et vérifiables. En outre, l'infrastructure de signature en question doit être suffisamment agile pour suivre l'évolution rapide du paysage de la cybersécurité et les progrès de la cryptographie. La mise en place d'une infrastructure agile qui n'impose pas de contraintes excessives aux ressources de l'organisation au fur et à mesure de son évolution est l'un des principaux défis de DevOps.

Comment combler le fossé de confiance en matière de sécurité Kubernetes ?

Compte tenu des défis liés à la mise en œuvre de la signature de code dans Kubernetes, il n'est pas surprenant que certains environnements ne l'utilisent toujours pas, malgré sa nécessité évidente.

Le flux de travail non sécurisé typique se déroule comme suit : Le développeur livre le code ; CI/CD construit une image de conteneur ; l'image est poussée vers un registre ; Kubernetes la met en production. Les problèmes ? Quelques-uns :

  1. Il n'existe aucune preuve cryptographique permettant de relier cette image à un processus de construction vérifié.
  2. Ainsi, toute personne ayant accès au registre pourrait remplacer ou altérer l'image, et Kubernetes la déploierait quand même, car il ne fait confiance qu'à l'étiquette.
  3. Le pipeline qui en résulte est efficace, mais est-il digne de confiance ? Il est définitivement invérifiable.

Il existe de nombreuses possibilités de sécuriser ce flux de travail, qui ne se limitent pas exclusivement à la signature de code.

Étape 1 : Introduire l'identité vérifiée dans le processus de construction

Code signing makes application workflows verifiable and tied to an auditable identity. With a certificate management tool like Keyfactor Command, a code signing certificate is issued to the build system through the same PKI framework that secures TLS and devices. Each build that automatically signs its container image and related binaries becomes part of the secure CI/CD workflow. This signature is tied to a governed, auditable identity, instead of an unmanaged key sitting on a build server. Keys can be stored in integrated HSMs or cloud key vaults, rotated automatically, and revoked if compromised, in line with PKI best practices.

Étape 2 : Étendre la confiance à l'ensemble de la chaîne de distribution

Chaque image signée est poussée vers le registre de conteneurs avec sa signature numérique. Command conserve l'ancre de confiance et les métadonnées du certificat, de sorte que n'importe quel cluster Kubernetes peut vérifier l'image par rapport à la racine de confiance de l'organisation. Les paquets de confiance sont distribués automatiquement dans les environnements, quelle que soit la configuration (sur site, dans le nuage, hybride), de sorte que chaque cluster partage une politique de vérification cohérente, éliminant ainsi la dérive de configuration manuelle qui sape souvent la sécurité multi-clusters.

Étape 3 : Transformer Kubernetes en point d'exécution

Avec la signature de code en place, la fonctionnalité innée de Kubernetes peut renforcer la sécurité de l'ensemble du pipeline. Lorsqu'un développeur déploie une nouvelle image, un contrôleur d'admission ou un moteur de politique vérifie la signature avant de programmer le pod. En un sens, Kubernetes n'espère plus que l'image est légitime, mais la vérifie à l'aide de la preuve cryptographique émise dans le cadre de la gouvernance PKI de l'entreprise. Si la signature de l'image est manquante, expirée ou non fiable, le déploiement est automatiquement rejeté sans ralentir les libérations légitimes. Étant donné que cette mise en œuvre est basée sur des politiques et ne repose pas sur des scripts ad hoc, elle est intrinsèquement évolutive et cohérente entre les clusters.

Étape 4 : Introduire la gestion totale du cycle de vie avec Keyfactor Command

Employing PKI tools such as Keyfactor Command for container security workflows has the advantages of total lifecycle management, automation, and elimination of human error. Code signing keys and certificates follow defined, automatable lifecycles from certificate creation, rotation, and renewal to certificate revocation and retirement. Automated certificate lifecycle management solutions enable organizations to easily adapt to evolving cryptographic standards.

Un flux de travail de sécurité Kubernetes mature vérifie les cases suivantes :

  • Chaque artefact possède une signature vérifiable liée à une identité audible.
  • Les équipes de sécurité visualisent l'activité de signature, l'état des certificats et l'application des politiques au sein des clusters sur un tableau de bord unique et unifié.
  • Les journaux d'audit indiquent exactement quelle clé a signé quelle construction, à quel moment et sous quelle autorité, ce qui facilite la mise en conformité.
  • Les identifiants de signature expirés ou perdus sont détectés et corrigés à temps, ce qui permet d'éviter toute panne ou vulnérabilité.

Meilleures pratiques de signature de code pour les flux de travail de sécurité Kubernetes.

La signature du code dans Kubernetes s'étend sur quatre couches intégrées : construction et signature, vérification et application, registre et stockage, distribution de la confiance et gestion du cycle de vie.

La couche de construction et de signature implique des pipelines CI/CD qui demandent automatiquement des identités de signature, à l'aide d'une émission basée sur des politiques liées à la PKI l'entreprise. Les contrôleurs d'admission de Kubernetes valident les signatures par rapport aux ancres de confiance gérées, de sorte que seules les charges de travail vérifiées sont autorisées à s'exécuter. Les images et les métadonnées signées sont stockées ensemble, ce qui signifie que la provenance voyage avec chaque artefact à travers les registres. Une automatisation réussie permet de synchroniser les paquets de confiance, de faire tourner les clés et de mettre à jour les normes cryptographiques sans interrompre les déploiements.

En gardant à l'esprit ces quatre couches de sécurité Kubernetes, voici quelques bonnes pratiques opérationnelles à mettre en œuvre :

  • Déploiement d'images par digests immuables plutôt que par tags mutables pour prévenir les attaques par substitution
  • Définition de politiques au niveau du cluster, afin que seules les charges de travail signées par des systèmes de construction autorisés soient autorisées.
  • Stocker les clés de signature privée dans des HSM ou des coffres-forts intégrés, et automatiser leur rotation
  • Conserver des pistes d'audit complètes des événements de signature et de vérification pour assurer la conformité
  • Planification de la crypto-agilité, car les algorithmes de signature évoluent beaucoup plus rapidement que les cycles de vie des infrastructures.

Conclusion

La sécurité de Kubernetes englobe désormais non seulement la protection de l'infrastructure, mais aussi la sécurisation des actifs software avec la signature de code. L'intégration de la signature de code dans le flux de travail devient une pratique standard pour faire le lien entre l'agilité DevOps et l'assurance PKI , en veillant à ce que chaque charge de travail soit authentifiée et autorisée.

Lorsque vos clusters Kubernetes n'exécutent que des software vérifiés par cryptographie, la sécurité cesse d'être une hypothèse et devient une garantie opérationnelle.

Ce processus peut commencer à petite échelle : signer un seul pipeline CI/CD, appliquer les signatures dans un cluster, puis s'étendre à l'ensemble de l'organisation. 

Keyfactor Command offre l'automatisation et la visibilité nécessaires pour la rendre évolutive, depuis l'émission et la rotation des certificats jusqu'à la gestion des faisceaux de confiance et l'intégration avec les outils CI/CD et Kubernetes.

The future of container security is verifiable trust.  Get in touch with Keyfactor today to help build it. Have any questions? Our team is here to help!

S'abonner à La Source

Stay secure with Keyfactor's monthly newsletter, packed with expert insights and practical steps for quantum-readiness.

Lire la suite

headshot of shian
Signature du code

Mise en œuvre d'une signature de code sécurisée à grande échelle

En savoir plus
graphic representation of Keyfactor Signum interface
Produit

Présentation de Keyfactor Signum : une nouvelle plateforme de signature en tant que service

En savoir plus
Microsoft Office suite icons
Signature du code

Comment signer numériquement une macro et pourquoi c'est important

En savoir plus