Sichere Kubernetes-Konfigurationen mit Snyk erstellen
18. November 2019
0 Min. LesezeitLetzte Woche haben wir Snyk Container eingeführt, und heute haben wir spannende Neuigkeiten dazu. Wir veröffentlichen eine Betaversion einer neuen Snyk-Funktion, mit der Sie Probleme in Ihrer Kubernetes-Konfiguration finden und beheben können – direkt in Ihrem Entwicklungsprozess.
Das Konfigurationsproblem
Wie wir im Blogbeitrag Von Image-Sicherheit zu Workload-Sicherheit erläutert haben, ist Konfiguration aus zwei Gründen wichtig:
Sie wandelt sich von einer Aufgabe für den Betrieb zu einer für die Entwicklung, und
sie kann Sicherheitsprobleme verursachen oder das Ausnutzen von Schwachstellen erleichtern.
Gleichzeitig berücksichtigen die meisten Tools, die bei diesem Problem helfen sollen, keine modernen Entwicklungsabläufe. Sie können Ihnen helfen, Probleme in der Produktion zu erkennen – aber was ist mit deren Behebung? Oder damit, sie zu erkennen, bevor Sie Änderungen bereitstellen? Kubernetes ist ein gutes Beispiel dafür. Kubernetes ist leistungsstark, bringt jedoch auch eine gewisse Komplexität mit sich. Die Kubernetes-API enthält zahlreiche Objekte, und jedes davon hat viele Eigenschaften. Entwickler verwalten all das allzu oft manuell in YAML-Dateien. Als universelle Plattform bietet Kubernetes außerdem nicht die sichersten Standardeinstellungen. Es ist leicht, nicht immer alle Sicherheitseigenschaften festzulegen.
Konfigurationsprobleme automatisch in Snyk erkennen
Snyk konzentrierte sich zunächst auf Paketmanifestdateien wie project.json, pom.xml oder requirements.txt. Snyk lässt sich in Ihr Versionskontrollsystem wie GitHub oder GitLab integrieren. Dort erkennen wir diese Manifestdateien und helfen Ihnen, Ihre Anwendungen zu schützen. Mit der heute veröffentlichten neuen Beta-Funktion erkennen wir auch Kubernetes-Konfigurationsdateien in Ihren Repositories. Wenn wir eine Kubernetes-Konfigurationsdatei finden, prüfen wir sie auf häufige Konfigurationsprobleme und zeigen diese in Snyk an.

Ganz gleich, ob Sie ein einzelnes Repository haben, in dem Ihre gesamte Konfiguration zentral abgelegt ist, oder ob sie auf verschiedene Repositories verteilt ist: Wir prüfen unter anderem, ob Container als Root ausgeführt werden, CPU- oder Arbeitsspeicherlimits fehlen oder Dateisysteme lesbar sind. Außerdem werden wir die Anzahl der Prüfungen im Laufe der Zeit erweitern.
Probleme mit Pull Requests beheben
Zu jedem erkannten Problem stellen wir Ihnen den Kontext bereit und erklären, warum es ein potenzielles Problem darstellt. Wie bei Schwachstellen in Snyk können Sie einzelne Probleme ignorieren oder automatisch Jira-Tickets erstellen lassen, um deren Behebung zu verfolgen. Die Probleme sind außerdem über die Snyk-API verfügbar und lassen sich so in andere Systeme integrieren.

Noch wichtiger ist, dass wir Sie auch bei der Behebung unterstützen möchten, wenn es eine klare und sichere Lösung gibt. Ähnlich wie wir Entwicklern bei der Behebung von Schwachstellen helfen, integrieren wir uns direkt in Ihr Versionskontrollsystem und erstellen Pull Requests für Ihre Konfiguration. So können Sie Probleme nicht nur bereits beim Schreiben der Konfiguration erkennen, sondern auch ganz einfach beheben, indem Sie einen Pull Request zusammenführen. Gerade angesichts des Umfangs an Konfigurationen in Microservice-Umgebungen und wachsenden Teams ist diese Automatisierung kein bloßer Zusatznutzen – sie ist unverzichtbar, wenn Sie schnell vorankommen und sicher bleiben möchten.
Fazit
Wir veröffentlichen diese Funktion heute als private Beta für eine kleine Gruppe interessierter Nutzer. Bevor wir sie allen zur Verfügung stellen, möchten wir weiteres Feedback einholen und noch zahlreiche Funktionen ergänzen. Wenn Sie diese Funktion ausprobieren möchten, müssen Sie sich für die Beta anmelden.
