Sicherheit in GitHub: Einsatz von Mondoo zur Erkennung von Schwachstellen in GitHub


Bicycle

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.

Hinzufügen von GitHub-Assets zu Mondoo

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.

Hinzufügen von GitHub-Assets über das Dashboard

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:

Mondoo GitHub Integration

Hinzufügen von GitHub-Assets mit cnspec (CLI)

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>

Hinzufügen von GitHub-Assets mit Terraform

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.

Hinzufügen von Richtlinien

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.

Mondoo GitHub-Richtlinien

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.

Übersicht der Mondoo GitHub-Richtlinien

Sichtbare Richtlinien und die Anzahl der Tests in Richtlinien können je nach Asset-Typ (github-repo / github-org) variieren.

Verwendung von Query-Packs

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.

Mondoo GitHub Abfragen

$ 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

Behebung von Schwachstellen

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 GitHub Niedriger Wert

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.

Mondoo GitHub-Empfehlungen

Mondoo GitHub Check

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":

Mondoo GitHub Failed Checks

Mondoo GitHub Abhilfemaßnahmen

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.

Mondoo GitHub Hoher Wert

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:

  • GitHub-Repository-Sicherheit: Diese Kategorie umfasst Sicherheitsüberprüfungen im Zusammenhang mit GitHub-Repository-Konfigurationen und Zugriffskontrolleinstellungen. Sie stellt sicher, dass die Repositories ordnungsgemäß geschützt sind und dass Sicherheitsmaßnahmen wie der Schutz von Zweigen und Genehmigungsanforderungen durchgesetzt werden.
  • GitHub Benchmark Level 1: Diese Kategorie besteht aus Sicherheits-Benchmarks und Best Practices der Stufe 1, wie sie von GitHub definiert wurden. Dazu gehören Tests wie die Sicherstellung, dass Zweige vor dem Zusammenführen auf dem neuesten Stand sind, das Erfordernis einer Genehmigung für Codeänderungen und das Scannen von Paketen auf bekannte Sicherheitslücken.
  • GitHub Benchmark Level 2: Diese Kategorie erweitert die Sicherheits-Benchmarks auf Level 2, die fortgeschrittenere Sicherheitsmaßnahmen beinhalten können, wie z.B. die Beschränkung von Code-Pushing oder Merging auf bestimmte Personen oder Teams, die Überprüfung signierter Commits, die Lösung offener Kommentare vor dem Merging und die Implementierung von Scannern für Open-Source-Schwachstellen und sensible Daten.

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.

Zurück Unsere Trainings entdecken

Wir sind für Sie da

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