KI für DevOps-Engineers – Teil 1: Die Grundlagen von DevOps-KI
DevOps ist ein entscheidender Erfolgsfaktor in der Softwareentwicklung, und wir sind definitiv alle auf die eine oder andere Weise auf KI gestoßen. Eine
Als weltweit führende Plattform für Softwareentwicklung und -zusammenarbeit werden auf GitHub täglich Millionen neuer Repositories erstellt. Dieses schnelle Wachstum fördert zwar die Innovation, stellt aber auch eine Herausforderung für die Sicherheit dar. Ohne angemessene Aufsicht können neu erstellte Repositories versehentlich Schwachstellen enthalten, die die Integrität der Codebasis bedrohen und die Sicherheitslage einer Organisation gefährden. In diesem Blog-Beitrag erfahren wir, wie Mondoo, ein leistungsfähiges Sicherheitstool, eine entscheidende Rolle bei der Identifizierung und Entschärfung dieser Schwachstellen spielen kann, um sicherzustellen, dass die GitHub-Repositories vom Moment ihrer Erstellung an sicher sind.
Wir beginnen mit der Integration eines GitHub-Repositorys oder einer Organisation in Mondoo. Wir benötigen eine Mondoo-Organisation und ein persönliches GitHub-Zugangs-Token für unseren Nutzer. Es gibt mehrere Möglichkeiten, GitHub-Assets zu Mondoo hinzuzufügen.
Wir fügen GitHub als neue Integration zum Space hinzu. Hierfür können wir einzelne Repositories oder die gesamte Organisation hinzufügen und festlegen, ob alle Repositories gescannt werden sollen oder ob Sie eine Zulassungs- oder Ablehnungsliste erstellen möchten:
Mit cnspec können wir die gesamte Organisation oder ein einzelnes Repository innerhalb der Organisation scannen. Dazu [installieren wir cnspec] (https://mondoo.com/docs/cnspec/), melden uns im richtigen Space an und exportieren das GitHub-Token:
$ export GITHUB_TOKEN=<your personal access token>
$ cnspec scan github org <ORG_NAME>
$ cnspec scan github repo <ORG_NAME/REPO_NAME>
Diese Terraform-Ressource ermöglicht das kontinuierliche Scannen von GitHub-Organisationen und -Repositories. Um sie hinzuzufügen, können wir den GitHub Integration Provider aus der Terraform-Registry verwenden.
Mehr über die Verwendung von Mondoo mit Terraform findet sich in unserem Blog.
Policies dienen im Kontext von Mondoo und cnspec als eine Reihe von Spezifikationen, die bei System-Scans verwendet werden. Sie dienen als Checklisten, um sicherzustellen, dass die Systeme den Sicherheitsstandards und Best Practices entsprechen. Sie sind Richtlinien, die in einem gut lesbaren Format kodiert sind, das cnspec verstehen und ausführen kann.
Wenn bisher noch keine Richtlinien für GitHub hinzugefügt wurden, können wir dies tun, indem wir zur Registerkarte Registry in unserem Mondoo-Space navigieren. Es wird empfohlen, dass alle Richtlinien aktiviert werden.
Die angewendeten Richtlinien werden innerhalb des gescannten Asset-Eintrags im Dashboard angezeigt und bestimmen seine Gesamtsicherheitsbewertung. Wenn wir auf eine Richtlinie klicken, werden alle Tests angezeigt, die entweder bestanden oder nicht bestanden wurden. Jeder Test bietet detaillierte Einblicke in den Scanprozess und liefert Vorschläge zur Behebung der entdeckten Schwachstellen.
Sichtbare Richtlinien und die Anzahl der Tests in Richtlinien können je nach Asset-Typ (github-repo / github-org) variieren.
Query-Packs sind Sammlungen von vordefinierten Abfragen, mit denen verschiedene Aspekte von Systemen oder Anlagen untersucht werden können. Diese Pakete sind nützlich, um mehrere Abfragen zusammen auszuführen und so den Prozess der Erfassung von Informationen über die Sicherheitslage der Infrastruktur, den Konformitätsstatus oder andere relevante Metriken zu vereinfachen.
Query Packs können einfach über die Registerkarte Registry im Mondoo-Space hinzugefügt werden.
$ export GITHUB_TOKEN=<your personal access token>
$ cnquery scan github org <org_name>
$ cnquery scan github repo <owner>/<repo>
$ cnquery scan github user <user_name>
Query Packs können auch heruntergeladen und lokal verwendet werden, zum Beispiel:
$ cnquery scan github user <user_name> -f mondoo-github-inventory.mq.yaml
In diesem Szenario wurden ein neuer Benutzer und eine neue Organisation sowie ein neues Repository innerhalb dieser Organisation ohne zusätzliche Einstellungen erstellt, so dass die Scanergebnisse abweichen können. Die Integration wurde über das Dashboard als GitHub-Organisation eingerichtet.
Für eine neue Organisation ohne zusätzliche Einstellungen, wie in diesem Fall, ist die Bewertung nicht so hervorragend, wie sie sein könnte.
Mondoo rationalisiert den Prozess der Identifizierung und Behebung von fehlgeschlagenen Tests. Das Dashboard bietet einen umfassenden Überblick über alle Checks auf der Registerkarte "Checks", zusammen mit Vorschlägen für Maßnahmen bei den kritischsten Fehlern. Auf dieser Registerkarte werden die Ergebnisse jedes einzelnen Tests angezeigt, die für aktivierte Richtlinien durchgeführt wurde. Das Dashboard ermöglicht es den Benutzern, die angezeigten Tests so zu filtern, dass die fehlgeschlagenen Tests zuerst angezeigt werden, um eine effiziente Überprüfung zu ermöglichen. Durch das Aufklappen eines Tests erhalten die Benutzer weitere Einblicke in die getestete Abfrage sowie in die erwarteten und zurückgegebenen Ergebnisse. Weitere Beschreibungen und empfohlene Lösungen helfen, die Auswirkungen zu verstehen.
In diesem Fall weisen das Repository-Asset und das Organisations-Asset mehrere Sicherheitslücken auf.
Um fehlgeschlagene Checks zu beheben, stellt Mondoo entweder detaillierte Informationen und Schritte zur Verfügung oder verweist auf die entsprechende Dokumentation, wie das Problem zu lösen ist.
Zum Beispiel innerhalb von Richtlinien wie "CIS GitHub Benchmark - Level 1" und "GitHub Repository Security":
Nach diesen Abhilfeschritten für die Richtlinien im obigen Beispiel verbesserte sich die Asset-Bewertung von D auf A! Wenn diese Schritte für weitere Richtlinien wiederholet werden, erhöht sich die Punktzahl und die Sicherheitslage der GitHub-Organisation wird verbessert.
Glücklicherweise bietet GitHub bereits standardmäßig ein grundlegendes Maß an Sicherheit. Bei GitHub-Organisationen oder -Repositories können die meisten schwerwiegenden Schwachstellen durch die Aktivierung von Branch-Schutzregeln entschärft werden. Es ist jedoch ratsam, zusätzlich zu überprüfen, ob die folgenden allgemeinen Sicherheitslücken und Überprüfungen mit hoher Priorität vorhanden sind:
Darüber hinaus kann GitHub Code Scanning genutzt werden, um die Sicherheit und Qualität des Codes in GitHub-Repositories zu verbessern. Diese Funktion ermöglicht es, den Code automatisch auf Sicherheitsrisiken und Fehler zu überprüfen, um mögliche Schwachstellen frühzeitig zu erkennen und zu beheben.
Sie interessieren sich für unsere Trainings oder haben einfach eine Frage, die beantwortet werden muss? Sie können uns jederzeit kontaktieren! Wir werden unser Bestes tun, um alle Ihre Fragen zu beantworten.
Hier kontaktieren