Skip to main content

Automatisierte Sicherheitsberichte für Kubernetes-Workloads

Artikel von
Headshot of Rags Srinivas

Rags Srinivas

kubernetes header

2. März 2020

0 Min. Lesezeit

Einführung

Bei Snyk arbeiten wir kontinuierlich daran, unsere Sicherheitslösungen für Container und Cloud-native Umgebungen zu verbessern. Im Rahmen dieser Bemühungen ermöglicht die Kubernetes-Integration von Snyk Container nun den Import von Kubernetes-Workloads sowie das Erkennen anfälliger Container-Images und fehlerhafter Workload-Konfigurationen.

Automatisieren Sie die Cloud-Workload-Sicherheit, indem Sie Sicherheitsprüfungen nahtlos und nativ in Ihre DevOps-Pipeline integrieren – ohne zusätzliche manuelle Schritte – und die Überwachung zentralisieren. Sie können beispielsweise verbindliche Richtlinien für Ihre Standorte umsetzen, indem Sie Cluster-Details an eine zentrale Konsole senden: Richten Sie einfach Annotationen in Ihren Konfigurationsdateien ein – fertig.

In diesem Blogbeitrag nutzen wir ein neues Produkt-Feature, mit dem automatisch neue Projekte in Snyk erstellt werden können.

Annotationen hinzufügen, um die Workload-Sicherheit zu automatisieren

Mit Kubernetes-Annotationen können Sie Objekten Metadaten hinzufügen, etwa Build-Release-Nummern, Git-Branches oder Verweise auf Protokollierungsinformationen. Nach der Installation sucht der Kubernetes-Controller von Snyk nach dem Annotationsschlüssel `orgs.k8s.snyk.io/v1`. Legen Sie als Wert für diesen Schlüssel Ihre Snyk-Organisations-ID fest, damit wichtige Informationen automatisch an Snyk übermittelt werden. Ihre Organisations-ID finden Sie in Snyk wie folgt:

Snyk-Integrationsoberfläche mit konfiguriertem und verbundenem Kubernetes sowie angezeigter Integrations-ID

Erstellen Sie nun zum Beispiel die Datei alpine.yaml und fügen Sie einen Abschnitt annotations: hinzu. Fügen Sie anschließend in der Datei eine Annotation hinzu, die mit `orgs.k8s.snyk.io/v1` beginnt.

Ersetzen Sie im Abschnitt annotations den Wert für den Schlüssel `orgs.k8s.snyk.io/v1` durch Ihre Organisations-ID. Ein Beispiel finden Sie unten.

Die folgende Manifestdatei erstellt beispielsweise einen Workload mit der angefügten Annotation.

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: {}

Die hinzugefügte Annotation weist die Snyk-Kubernetes-Integration an, Informationen zu Schwachstellen im Workload automatisch in Snyk zu importieren.

Verwenden Sie den folgenden Befehl, um den Workload mit der festgelegten Annotation zu erstellen:

kubectl create -f alpine.yaml

Workload im Dashboard überwachen

Aktualisieren Sie den Browser – und schon sollten die Workload-Informationen in Snyk importiert sein.

Screenshot der Spinnaker-Projektseite mit einem Kubernetes-Deployment für alpine im Minikube-Cluster von Rags

Öffnen Sie das Projekt. Oben im Detailbereich werden Ihnen die fehlerhaften Konfigurationsparameter angezeigt. Ändern Sie einfach die YAML-Datei, um die Konfigurationsprobleme zu beheben.

Kubernetes-Bereitstellungs-Dashboard für default/deployment.apps/hello mit vergrößerter Anzeige der sicheren Konfiguration, die eine bestandene und mehrere fehlgeschlagene Prüfungen zeigt.

Wenn Sie einen zweiten Workload mit der angefügten Annotation ausführen, werden ebenfalls Informationen zu diesem Workload an Snyk übermittelt, wie unten gezeigt.

Snyk-Projekt-Dashboard mit Kubernetes-Repositories und Anzahl der Sicherheitslücken nach Schweregrad für Alpine- und Spring-Boot-Deployments

Mit diesem neuen Feature stehen alle Workload-Informationen für Berichte und die Behebung von Problemen zur Verfügung. Statt die Details manuell hinzuzufügen, mussten Sie lediglich den Workloads Annotationen hinzufügen. So reduzieren Sie Ihren Arbeitsaufwand und können Ihre Cluster ganz einfach im Rahmen Ihres regulären Workflows überwachen.

Zusammenfassung und nächste Schritte

Wir haben gesehen, wie Sie bestimmte Kubernetes-Workload-Informationen mit einer Annotation, die Ihre Snyk-Organisations-ID enthält, an Snyk übermitteln.

Damit haben Sie alles getan, um diese Details zur zentralen Überwachung und für mehr Sicherheit in Ihren Clustern zu übermitteln.

Snyk unterstützt die Sicherheit Ihrer Anwendungsentwicklung während des gesamten Softwareentwicklungszyklus – mit Integrationen für Ihre Image-Registry, Ihr Dockerfile-Repository und Ihre Kubernetes-Cluster. Beginnen Sie noch heute damit, Workload-Berichte automatisch an Snyk zu übermitteln. Weitere Informationen zur Vorgehensweise finden Sie in unserer Dokumentation.

Sichern Sie Ihre Infrastruktur an der Quelle

Snyk automatisiert die IaC-Sicherheit und Compliance in Workflows und erkennt abweichende sowie fehlende Ressourcen.

Weiterlesen

feature customer snowflake
Article

Sicherheit von Anfang an: Die Snyk Studio-Integration für Snowflake Cortex Code

Snyk Studio ist in Snowflake Cortex Code integriert und scannt KI-generierten Code, Abhängigkeiten und Container während der Entwicklung auf Schwachstellen.

blog feature pypi spoof
Article

Die gesamte Snyk AI Security Platform – kostenlos für Open-Source-Maintainer

Open-Source-Maintainer werden von echten Schwachstellenmeldungen überflutet und brauchen Unterstützung dabei, diese zu priorisieren, zu beheben und schneller Korrekturen bereitzustellen. Das Secure Developer Program von Snyk bietet qualifizierten Projekten kostenlosen Zugang zur Snyk AI Security Platform.

feature insights announcement
Blog

Node-gyp-Supply-Chain-Kompromittierung: Ein sich selbst verbreitender npm-Wurm, der sich in binding.gyp versteckt

Ein neuer npm-Wurm missbraucht binding.gyp, um node-gyp während der Installation auszuführen. So können schädliche Pakete Code ohne Lifecycle-Skripte ausführen. Der Wurm stiehlt Zugangsdaten, setzt sich in GitHub fest und verbreitet sich selbstständig über Maintainer.