Skip to main content

Automatiser le reporting de sécurité des workloads Kubernetes

Écrit par
Headshot of Rags Srinivas

Rags Srinivas

kubernetes header

2 mars 2020

0 minutes de lecture

Introduction

Chez Snyk, nous nous efforçons constamment d'améliorer nos solutions de sécurité pour les conteneurs et les environnements cloud-native. Dans cette optique, l'intégration Kubernetes de Snyk Container vous permet désormais d'importer des workloads Kubernetes et d'identifier les images de conteneurs vulnérables ainsi que les erreurs de configuration des workloads.

Automatisez la sécurité de vos workloads cloud pour intégrer facilement des contrôles de sécurité natifs à votre pipeline DevOps, sans intervention manuelle supplémentaire, et centraliser la supervision. Vous pouvez par exemple appliquer des politiques de site obligatoires en envoyant les détails des clusters vers une console centralisée : il vous suffit de configurer des annotations dans vos fichiers de configuration.

Dans cet article, nous allons utiliser notre nouvelle fonctionnalité produit pour permettre la création automatique de nouveaux projets dans Snyk.

Ajouter une annotation pour automatiser la sécurité des workloads

Les annotations Kubernetes permettent d'associer des métadonnées à des objets, telles que des numéros de version de build, des branches Git ou des pointeurs vers des informations de journalisation. Une fois installé, le contrôleur Kubernetes de Snyk recherche la clé d'annotation `orgs.k8s.snyk.io/v1`. Vous définirez la valeur de cette clé sur l'ID de votre organisation Snyk afin d'envoyer automatiquement des informations essentielles à Snyk. Vous trouverez l'ID de votre organisation dans Snyk comme suit :

Interface des intégrations Snyk indiquant que Kubernetes est configuré et connecté, avec un ID d’intégration affiché

Par exemple, créez maintenant le fichier alpine.yaml et ajoutez une section annotations:. Ajoutez ensuite dans le fichier une annotation commençant par `orgs.k8s.snyk.io/v1`.

Veillez à remplacer la valeur de la clé `orgs.k8s.snyk.io/v1` par l'ID de votre organisation dans la section annotations. Consultez l'exemple ci-dessous.

Par exemple, le fichier manifeste suivant crée un workload auquel l'annotation est associée.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: alpine
  namespace: default
  labels:
    app.kubernetes.io/name: alpine
  annotations:
    orgs.k8s.snyk.io/v1: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: alpine
  template:
    metadata:
      labels:
        app.kubernetes.io/name: alpine
    spec:
      containers:
      - name: alpine
        image: alpine:3.9
        command: ['sh', '-c', 'echo Hello from alpine pod! && sleep 360000']
        resources:
          requests:
            cpu: '100m'
            memory: '100Mi'
            cpu: '100m'
      securityContext: {}

L'annotation ajoutée indique à l'intégration Kubernetes de Snyk d'importer automatiquement dans Snyk les informations sur les vulnérabilités du workload.

Pour créer le workload avec l'annotation définie, utilisez la commande suivante :

kubectl create -f alpine.yaml

Superviser le workload depuis le tableau de bord

Actualisez le navigateur et voilà : les informations du workload devraient maintenant apparaître dans Snyk.

Capture d’écran de la page Projets de Spinnaker montrant un déploiement Kubernetes pour alpine dans le cluster minikube de Rags

Accédez aux détails du projet : vous remarquerez que les paramètres de configuration incorrects s'affichent en haut, dans la zone des détails. Il vous suffit de modifier le fichier YAML pour corriger les problèmes de configuration.

Tableau de bord de déploiement Kubernetes pour default/deployment.apps/hello, avec un panneau de configuration sécurisée agrandi indiquant un contrôle réussi et plusieurs contrôles échoués.

L'exécution d'un second workload avec l'annotation associée envoie également des informations sur ce workload à Snyk, comme illustré ci-dessous.

Tableau de bord des projets Snyk affichant les dépôts Kubernetes et le nombre de vulnérabilités par niveau de gravité pour les déploiements Alpine et Spring Boot

Grâce à cette nouvelle fonctionnalité, toutes les informations sur les workloads sont disponibles pour générer des rapports et corriger les problèmes. Au lieu d'ajouter les détails manuellement, il vous suffisait d'ajouter des annotations aux workloads. Vous réduisez ainsi la charge de travail et pouvez facilement superviser vos clusters dans le cadre de votre workflow habituel.

Résumé et prochaines étapes

Nous avons vu comment envoyer à Snyk des informations précises sur un workload Kubernetes à l'aide d'une annotation contenant l'ID de l'organisation Snyk.

Voilà tout ce qu'il faut faire pour transmettre ces informations afin de centraliser la supervision et de renforcer la sécurité de vos clusters.

Snyk sécurise le développement de vos applications tout au long du cycle de vie du développement logiciel, notamment grâce à des intégrations avec votre registre d'images, votre dépôt de Dockerfile et vos clusters Kubernetes. Commencez dès aujourd'hui à automatiser le reporting de vos workloads dans Snyk. Consultez notre documentation pour en savoir plus.

Sécurisez votre infrastructure dès la source

Snyk automatise la sécurité et la conformité de l’IaC dans vos workflows, et détecte les ressources dont la configuration a dérivé ou qui sont manquantes.

Lire la suite

feature customer snowflake
Article

Sécuriser dès la conception : découvrez l’intégration de Snyk Studio à Snowflake Cortex Code

Snyk Studio s’intègre à Snowflake Cortex Code pour analyser le code généré par l’IA, les dépendances et les conteneurs à la recherche de vulnérabilités, dès le développement.

blog feature pypi spoof
Article

La Snyk AI Security Platform complète, gratuite pour les responsables de projets open source

Les responsables de projets open source croulent sous les signalements de vulnérabilités avérées et ont besoin d’aide pour les prioriser, les corriger et déployer les correctifs plus rapidement. Le Secure Developer Program de Snyk donne aux projets admissibles un accès gratuit à la Snyk AI Security Platform.

feature insights announcement
Blog

Compromission de la chaîne d’approvisionnement Node-gyp : un ver npm à propagation autonome dissimulé dans binding.gyp

Un nouveau ver npm détourne binding.gyp pour déclencher node-gyp lors de l’installation et permettre à des packages malveillants d’exécuter du code sans scripts de cycle de vie. Il vole des identifiants, s’installe durablement sur GitHub et se propage de mainteneur en mainteneur.