GitLab ist die umfassendste KI-gestützte DevSecOps-Plattform. Unternehmen können mit dieser Plattform für den gesamten Lebenszyklus der Softwareentwicklung (SDLC) sicherere Software schneller bereitstellen. GitHub bietet eine Advanced Security-Erweiterung, die zusätzliche Sicherheitsfunktionen in GitHub ermöglicht. Es fehlen jedoch die Tiefe und Breite der Sicherheitsfunktionen, die GitLab nativ bereitstellt. Unternehmen, die auf GitLab Ultimate migrieren möchten, um ihre Sicherheit in allen Bereichen des SDLC zu verbessern, können diesen Leitfaden verwenden, um die beiden Angebote zu vergleichen. Er kann auch als Tutorial für den Wechsel zur GitLab-Plattform genutzt werden.
In diesem Artikel findest du folgende Kapitel:
– Ein Vergleich zwischen GitLab Ultimate und GitHub Advanced Security – So migrierst du ein GitHub-Repository zu GitLab – So migrierst du Feature für Feature von GitHub Advanced Security zu GitLab Ultimate – Eine Einführung in die zusätzlichen Sicherheitsfunktionen von GitLab Ultimate
Ein Vergleich zwischen GitLab Ultimate und GitHub Advanced Security
GitLab Ultimate ist die höchste Abonnementstufe von GitLab für Unternehmen, die sichere Software schneller bereitstellen möchten. GitHub Advanced Security ist eine Erweiterung für GitHub Enterprise und ermöglicht zusätzliche Sicherheitsfunktionen.
### Ähnlichkeiten zwischen GitLab Ultimate und GitHub Advanced Security
GitLab Ultimate und GitHub Advanced Security bieten: – Statische Anwendungssicherheitstests (SAST), Geheimnis- und Abhängigkeitssuche – kontextbezogene Intelligenz von Sicherheitslücken und Lösungsberatung – eine Liste von Abhängigkeiten oder Software-Stückliste (SBOM) – Sicherheitsmetriken und -einblicke
### Unterschiede zwischen GitLab Ultimate und GitHub Advanced Security
GitLab Ultimate unterscheidet sich von GitHub Advanced Security in den folgenden Punkten:
– GitLab bietet nativ zusätzliche Codescanner wie Container-Scanning, dynamische Anwendungssicherheitstests (DAST), Web-API-Fuzz-Testing und mehr. Diese Scanner sind eine Mischung aus optimierten proprietären und Open-Source-Technologien mit benutzerdefinierten Regelsätzen. Eine vollständige Liste findest du in der GitLab AppSec-Dokumentation. – GitLab bietet granulare Sicherheitsleitlinien, um zu verhindern, dass unsicherer Code ohne Genehmigung zusammengeführt wird. – GitLab-Sicherheitsscanner können in air-gapped Umgebungen oder Umgebungen mit begrenzter Konnektivität ausgeführt werden. – GitLab bietet ein Konformitäts-Center, mit dem Konformitätsverstöße im gesamten Unternehmen überwacht werden können.
GitLab Ultimate bietet auch zusätzliche Sicherheits- und Konformitätsfunktionen, Portfolio- und Wertschöpfungskettenmanagement, Unterstützung bei Live-Upgrades und mehr. Weitere Informationen zu diesen zusätzlichen Funktionen findest du in der GitLab Ultimate-Dokumentation.
So migrierst du ein GitHub-Repository zu GitLab
GitLab bietet einen integrierten Importer, mit dem du deine GitHub-Projekte entweder von GitHub.com oder GitHub Enterprise nach GitLab importieren kannst. Mit dem Importer kannst du nicht nur das GitHub-Repository nach GitLab migrieren, sondern auch verschiedene andere Objekte, einschließlich Tickets, Beteiligte (Mitglieder) und Pull Requests. Eine vollständige Liste der migrierbaren Daten findest du in der Dokumentation zum Import von Daten von GitHub. Die Migration wird wie folgt durchgeführt: 1. Wähle oben in der linken Menüleiste Neu erstellen (+) aus. 2. Wähle im Abschnitt In GitLab Neues Projekt/Repositoryaus. 3. Wähle ** Projekt importieren ** aus.
- Wähle die Schaltfläche GitHub aus. – Wenn du GitLab Self-Managed verwendest, musst du den GitHub-Importer aktivieren. – Beachte, dass andere Importer auf dieselbe Weise initiiert werden können. 5. Jetzt kannst du einen der folgenden Schritte ausführen: – Autorisiere dich mit GitHub Oauth, indem du Mit GitHub autorisieren auswählst. – Verwende einen persönlichen GitHub-Zugriffstoken: – Gehe zu https://github.com/settings/tokens/new. – Gib im Feld Hinweis eine Token-Beschreibung ein. – Wähle den Repo-Geltungsbereich aus. – Um Beteiligte zu importieren, wähle optional den Geltungsbereich read:org aus. – Wähle die Schaltfläche Token generieren aus. – Füge auf der GitLab-Importseite im Feld „Persönlicher Zugriffstoken“ den persönlichen GitHub-Zugriffstoken ein.
- Wähle die Schaltfläche Authentifizieren aus.
- Wähle die Elemente aus, die du migrieren möchtest.
- Wähle die Projekte aus, die du migrieren möchtest, und wohin du sie migrieren möchtest.
- Wähle die Schaltfläche Importieren aus.
Dein importiertes Projekt sollte sich nun in deinem Arbeitsbereich befinden. Weitere Informationen über die Migration von GitHub zu GitLab findest du in diesem Video:
Du kannst die Migration auch mit einem persönlichen GitHub-Zugriffstoken oder der [GitLab REST API(https://docs.gitlab.com/ee/user/project/import/github.html#use-the-api) durchführen. Der Importer ermöglicht auch den Import aus anderen Quellen wie Bitbucket oder Gitea. Weitere Informationen findest du in der Importer-Dokumentation.
## So migrierst du Funktion für Funktion
Im Folgenden erfährst du, wie du die einzelnen Funktionen von GitHub Advanced Security in GitLab Ultimate nutzen kannst. Du benötigst eine GitLab Ultimate-Lizenz, um fortzufahren. GitLab bietet eine kostenlose 30-Tage-Testversion, um dir den Einstieg zu erleichtern.
Scannen von Code
Mit dem Scannen von Code bietet GitLab kontextbezogene Intelligenz von Sicherheitslücken und Ratschläge für statischen Quellcode. Das Gleiche kannst du in GitLab erreichen, indem du SAST aktivierst. GitLab SAST-Scanner decken ein breiteres Spektrum an Programmiersprachen und Frameworks ab als CodeQL von GitHub.
Um das Scannen von Code in GitLab zu aktivieren, kannst du einfach die SAST-Vorlage zu deiner ‚.gitlab-ci.yml‘ hinzufügen:
include:
- template: Jobs/SAST.gitlab-ci.yml
Sobald die Vorlage hinzugefügt wurde, erkennt SAST automatisch jedes Mal, wenn neuer Code eingecheckt wird, die Programmiersprachen, die in deinem Projekt verwendet werden. Es scannt dann den Quellcode nach bekannten Schwachstellen.
Hinweis: Sicherheitsscanner können deinem Projekt auch mithilfe der [Sicherheitskonfiguration] von GitLab (https://docs.gitlab.com/ee/user/application_security/configuration/) hinzugefügt werden. Diese kann automatisch einen Merge Request erstellen, um deine Pipeline zu aktualisieren. Weitere Informationen findest du in der Dokumentation zum Konfigurieren von SAST mithilfe der UI.
Die SAST-Ergebnisse zwischen dem Feature-Branch und der Zielbranch werden im Merge-Request-Widget angezeigt. Das Merge Request-Widget zeigt SAST-Ergebnisse und -Auflösungen an, die durch die Änderungen im Merge Request eingeführt wurden.
Jede Sicherheitslücke zeigt Daten an, die bei der Behebung helfen, einschließlich detaillierter Beschreibung, Schweregrad, Standort und Lösungsinformationen:
Du kannst Maßnahmen gegen diese Sicherheitslücken ergreifen:
– Sicherheitslücke ignorieren: Ermöglicht es Entwickler(inne)n, die Sicherheitslücke mit einem Kommentar zu ignorieren. Dies unterstützt das Sicherheitsteam bei der Durchführung einer Review. – Ticket erstellen: Ermöglicht das Erstellen eines Tickets, um eine Sicherheitslücke zu verfolgen, die eine zusätzliche Überwachung erfordert.
Diese Änderungen sind auch inline sichtbar, wenn du innerhalb des Merge Request zur Ansicht Änderungen wechselst.
Anpassen von SAST-Scannern
Mit GitLab kannst du eine SAST-Jobdefinition überschreiben und Eigenschaften wie Variablen, Abhängigkeiten oder Regeln ändern. Dazu musst du einen Job mit demselben Namen erstellen, wie der SAST-Job, den du überschreiben willst. Platziere dann diesen neuen Job nach dem Einfügen der Vorlage und gib alle zusätzlichen Schlüssel darunter an.
Ein Beispiel ist die folgende Konfiguration: – überschreibt die Version, die der ‚semgrep-sast‘-Scanner verwendet – führt ein Skript aus, um Module aus privaten Projekten abzurufen, bevor ‚gosec-sast‘ ausgeführt wird – konfiguriert alle Scanner so, dass sie in einer maximalen Tiefe von 10 suchen
include:
- template: Jobs/SAST.gitlab-ci.yml
variables:
SEARCH_MAX_DEPTH: 10
semgrep-sast:
variables:
SAST_ANALYZER_IMAGE_TAG: "3.7"
gosec-sast:
before_script:
- |
cat <<EOF > ~/.netrc
machine gitlab.com
login $CI_DEPLOY_USER
password $CI_DEPLOY_PASSWORD
EOF
Hinweis: Die verfügbaren SAST-Jobs findest du in der Vorlage ‚SAST.gitlab-ci.yml‘. Konfigurationen findest du in der Dokumentation für verfügbare SAST CI/CD Variablen.
Anpassen von SAST-Regelsätzen
Für jeden SAST-Analysator verarbeitet GitLab den Code und verwendet dann Regeln, um mögliche Schwachstellen im Quellcode zu finden. Diese Regeln bestimmen, welche Arten von Schwachstellen der Scanner meldet.
– Für Semgrep-basierte SAST-Scanner erstellt, pflegt und unterstützt GitLab die verwendeten Regeln. Es kombiniert die Open-Source-Engine Semgrep, von GitLab verwaltete Erkennungsregeln und die proprietäre Technologie von GitLab für das Verfolgen von Sicherheitslücken und die Erkennung von falschen positiven Ergebnissen. – Für andere SAST-Analysatoren werden die Regeln in den Upstream-Projekten für jeden Scanner definiert.
Du kannst das Verhalten der SAST-Scanner anpassen, indem du eine Regelsatz-Konfigurationsdatei im gescannten Repository definierst: – Vordefinierte Regeln deaktivieren (für alle Analysatoren verfügbar) – Vordefinierte Regeln überschreiben (für alle Analysatoren verfügbar) – Vordefinierte Regeln ersetzen, indem du eine benutzerdefinierte Konfiguration mithilfe von Passthroughs synthetisierst
Weitere Informationen und Beispiele zum Konfigurieren von SAST-Regeln findest du in den SAST-Regeln und in der Dokumentation zum Anpassen von Regelsätzen.
Geheimnissuche
Das GitHub-Feature Geheimnissuche findet, blockiert und widerruft durchgesickerte Geheimnisse. Das Gleiche kannst du in GitLab erreichen, indem du die Funktion Erkennung von Geheimnissen aktivierst.
Um die Erkennung von Geheimnissen in GitLab zu aktivieren, kannst du einfach die folgende Vorlage zu deiner ‚.gitlab-ci.yml‘ hinzufügen:
include:
- template: Jobs/Secret-Detection.gitlab-ci.yml
Sobald die Vorlage hinzugefügt wurde, scannt der Geheimnisscanner jedes Mal, wenn neuer Code eingecheckt wird (oder eine Pipeline ausgeführt wird), den Quellcode auf bekannte Geheimnisse. Je nach Situation scannt die Erkennung von Geheimnissen für Pipelines verschiedene Aspekte deines Codes. Für alle Methoden außer dem „Standard-Branch“ scannt die Erkennung von Geheimnissen für Pipelines Commits, nicht den Arbeitsbaum. Weitere Informationen zur Geheimnissuche findest du in der Dokumentation zur Erkennung von Geheimnissen.
Wenn du einen Merge Request erstellst, scannt die Funktion Erkennung von Geheimnissen jeden Commit, der im Quellbranch vorgenommen wurde. Genau wie in SAST liefert jede erkannte Sicherheitslücke die folgenden Informationen (z. B. Standort) und Bezeichner, um den Behebungsprozess zu unterstützen:
Ähnlich wie bei SAST kannst du Maßnahmen gegen diese Sicherheitslücken direkt aus der Merge Request heraus ergreifen, einschließlich des Ignorierens von Sicherheitslücken und des Erstellens von Tickets.
Anpassen von Jobs der Erkennung von Geheimnissen
Mit GitLab kannst du eine Jobdefinition der Erkennung von Geheimnissen überschreiben, sodass du Eigenschaften wie Variablen, Abhängigkeiten oder Regeln ändern kannst. Dazu musst du einen Job mit demselben Namen erstellen, wie der Job zur Erkennung von Geheimnissen, den du überschreiben willst. Platziere dann diesen neuen Job nach dem Einfügen der Vorlage und gib alle zusätzlichen Schlüssel darunter an. Ein Beispiel ist die folgende Konfiguration:
– überschreibt die Phase, auf der der Job zur Erkennung von Geheimnissen ausgeführt wird, zu ‚security‘ – ermöglicht Verlaufsscans – ändert die Analysatorversion für Geheimnisse auf 4.5
include:
- template: Jobs/Secret-Detection.gitlab-ci.yml
secret_detection:
stage: security
variables:
SECRET_DETECTION_HISTORIC_SCAN: "true"
SECRETS_ANALYZER_VERSION: "4.5"
Hinweis: Die verfügbaren Jobs zur Erkennung von Geheimnissen findest du in der Vorlage SAST.gitlab-ci.yml. Verfügbare Konfigurationen findest du in der Dokumentation zu verfügbaren CI/CD-Variablen der Erkennung von Geheimnissen.
Anpassen von Regeln für die Erkennung von Geheimnissen
Mit dem Analysator für die Erkennung von Geheimnissen kannst du anzupassen, welche Geheimnisse in der GitLab-UI gemeldet werden. Die folgenden Anpassungsoptionen können einzeln oder in Kombination verwendet werden:
– vordefinierte Regeln deaktivieren – vordefinierte Regeln überschreiben – eine benutzerdefinierte Konfiguration synthetisieren – eine Remote-Konfigurationsdatei spezifizieren
Wenn du zum Beispiel die Datei ‚.gitlab/secret-detection-ruleset.toml‘ im Stammverzeichnis deines Projekts erstellst, wird das Standard-GitLeaks-Paket erweitert, sodass Testtoken von der Erkennung ausgeschlossen werden:
### extended-gitleaks-config.toml
title = "extension of gitlab's default gitleaks config"
[extend]
### Extends default packaged path
path = "/gitleaks.toml"
[allowlist]
description = "allow list of test tokens to ignore in detection"
regexTarget = "match"
regexes = [
'''glpat-1234567890abcdefghij''',
]
Weitere Informationen zum Überschreiben der vordefinierten Analysatorregeln findest du in der Dokumentation zur Erkennung von Geheimnissen.
Automatische Reaktion auf durchgesickerte Geheimnisse
Die Funktion zur Erkennung von Geheimnissen von GitLab reagiert automatisch, wenn sie bestimmte Arten von durchgesickerten Geheimnissen findet. Automatische Antworten können: – das Geheimnis automatisch widerrufen – den Partner, der das Geheimnis ausgestellt hat, benachrichtigen; der Partner kann dann das Geheimnis widerrufen, seine(n) Eigentümer(in) benachrichtigen oder sich auf andere Weise vor Missbrauch schützen
GitLab kann Partner auch benachrichtigen, wenn von ihnen ausgestellte Anmeldeinformationen in öffentlichen Repositorys auf GitLab.com durchgesickert sind. Wenn du ein Cloud- oder SaaS-Produkt betreibst und diese Benachrichtigungen erhalten möchtest, kannst du eine Partner-API implementieren, die von der GitLab Token Revocation API aufgerufen wird.
Weitere Informationen findest du in der Dokumentation zu automatischen Antworten für durchgesickerte Geheimnisse.
Sicherheit der Lieferkette
Mit GitHub kannst du Software-Lieferketten mit automatisierten Sicherheits- und Versionsaktualisierungen und SBOMs mit einem Klick sichern, verwalten und Berichte darüber erstellen. GitLab kann deine Sicherheitsbedürfnisse in der Lieferkette mithilfe der Funktionen der Abhängigkeitssuche und der Liste der Abhängigkeiten (SBOM) erfüllen.
Um das Scannen von Abhängigkeiten in GitLab zu aktivieren, kannst du einfach die folgende Vorlage zu deiner ‚.gitlab-ci.yml‘ hinzufügen:
include:
- template: Jobs/Dependency-Scanning.gitlab-ci.yml
Sobald die Vorlage hinzugefügt wurde erkennt die Abhängigkeitssuche jedes Mal, wenn neuer Code eingecheckt wird, automatisch die Paketmanager, die in deinem Projekt verwendet werden. Sie scannt dann die verwendeten Abhängigkeiten auf bekannte Schwachstellen.
Die Ergebnisse der Abhängigkeitssuche zwischen dem Feature-Branch und dem Zielbranch werden im Merge-Request-Widget angezeigt. Das Merge-Request-Widget zeigt die Ergebnisse der Abhängigkeitssuche, die durch die Änderungen im Merge Request eingeführt wurden, und schlägt Lösungen vor. Innerhalb eines Merge Request werden für jede Sicherheitslücke relevante Informationen angezeigt, die bei der Behebung hilfreich sind, wie Bezeichner, Beweise und Lösungen:
Ähnlich wie bei SAST und der Erkennung von Geheimnissen kannst du Maßnahmen gegen diese Sicherheitslücken direkt aus dem Merge Request heraus ergreifen. Dazu gehören das Ignorieren von Sicherheitslücken und das Erstellen von Tickets.
Konfigurieren der Abhängigkeitssuche
Um eine Jobdefinition zu überschreiben (z. B. um Eigenschaften wie Variablen oder Abhängigkeiten zu ändern), erstellst du einen neuen Job mit dem gleichen Namen wie den, den du überschreiben willst. Platziere dann diesen neuen Job nach dem Einfügen der Vorlage und gib alle zusätzlichen Schlüssel darunter an. Ein Beispiel ist der folgende Code:
– deaktiviert die automatische Behebung anfälliger Abhängigkeiten – erfordert einen Build-Job, der vor der Abhängigkeitssuche abgeschlossen werden muss
include:
- template: Jobs/Dependency-Scanning.gitlab-ci.yml
gemnasium-dependency_scanning:
variables:
DS_REMEDIATE: "false"
dependencies: ["build"]
Weitere Informationen zur Konfiguration der Abhängigkeitssuche findest du in der Dokumentation zum Anpassen des Verhaltens des Analysators.
Das Generieren eines SBOM
GitLab bietet eine Liste der Abhängigkeiten (Dependency List, SBOM), mit der du die Abhängigkeiten deines Projekts oder deiner Gruppe sowie wichtige Details zu diesen Abhängigkeiten, einschließlich ihrer bekannten Sicherheitslücken, überprüfen kannst. Diese Liste ist eine Ansammlung von Abhängigkeiten in deinem Projekt, einschließlich bestehender und neuer Resultate. Die Liste der Abhängigkeiten wird generiert, nachdem die Abhängigkeitssuche erfolgreich auf dem Standard-Branch ausgeführt wurde. So greifst du auf die Liste der Abhängigkeiten zu:
1. Wähle in der linken Seitenleiste Suchen oder aufrufen aus und suche nach deinem Projekt. 2. Wähle Sicher > Liste der Abhängigkeiten aus.
Hier findest du die folgenden Informationen zu deinen Abhängigkeiten:
Feld | Beschreibung |
---|---|
Komponente | Name und Version der Abhängigkeit. |
Paketerstellungs-Manager | Der Paketerstellungs-Manager, mit dem die Abhängigkeit installiert wurde. |
Standort | Bei Systemabhängigkeiten wird das gescannte Image aufgelistet. Bei Anwendungsabhängigkeiten wird hier ein Link zu der für den Paketerstellungs-Manager spezifischen Lock-Datei in deinem Projekt angezeigt, in der die Abhängigkeit deklariert ist. Hier wird auch der Abhängigkeitspfad zu einer übergeordneten Abhängigkeit angegeben, falls diese vorhanden ist und unterstützt wird. |
Lizenz | Links zu den Softwarelizenzen der Abhängigen. Ein Warnhinweis, der die Anzahl der in der Abhängigkeit erkannten Sicherheitslücken enthält. |
Projekte | Link zum Projekt mit der Abhängigkeit. Wenn mehrere Projekte die gleiche Abhängigkeit haben, wird die Gesamtzahl der Projekte angezeigt. So öffnest du ein Projekt mit dieser Abhängigkeit: Wähle die Projektnummer aus, suche dann nach dem Namen und wähle ihn aus. Die Projektsuche wird nur bei Gruppen unterstützt, die maximal 600 Einträge in ihrer Gruppenhierarchie haben. |
Weitere Informationen findest du in der Dokumentation zur Liste der Abhängigkeiten.
Sicherheits- und Konformitätsverwaltung
Mit GitHub Advanced Security kannst du Sicherheitsmetriken und -einblicke anzeigen und das Sicherheitsrisiko von Code bewerten. Wir sehen uns jetzt an, wie man das gleiche mit GitLab Ultimate macht.
Anzeigen von Sicherheitsmetriken und -einblicken
GitLab bietet Sicherheits-Dashboards, mit denen du den Sicherheitsstatus deiner Anwendungen bewerten kannst. Diese Dashboards zeigen eine Sammlung von Metriken, Bewertungen und Diagrammen für die von den Sicherheitsscannern in deinem Projekt erkannten Sicherheitslücken:
– Sicherheitslückentrends über einen Zeitraum von 30, 60 oder 90 Tagen für alle Projekte in einer Gruppe – eine Einstufung für jedes Projekt nach der Schwere der Sicherheitslücke – die Gesamtzahl der in den letzten 365 Tagen entdeckten Sicherheitslücken, einschließlich ihres Schweregrads
So greifst du auf das Sicherheits-Dashboard zu:
1. Wähle in der linken Menüleiste Suchen oder aufrufen und suche nach deinem Projekt oder deiner Gruppe. 2. Wähle auf dem seitlichen Tab das Dashboard Sicher > Sicherheit aus. 3. Filtere und suche nach dem, was du brauchst.
Die Gruppenansicht zeigt deine Sicherheitslage für alle Projekte in deiner Gruppe an:
Die Projektansicht zeigt deine Sicherheitslage nur für das Projekt an:
Beurteile das Sicherheitsrisiko des Codes
GitLab Ultimate verfügt über einen Sicherheitslückenbericht, der Informationen über Sicherheitslücken aus Scans des Standard-Branchs enthält. Er enthält kumulative Ergebnisse aller erfolgreichen Jobs, unabhängig davon, ob die Pipeline erfolgreich war. Der Sicherheitslückenbericht enthält auf allen Ebenen:
– Die Gesamtanzahl der Sicherheitslücken pro Schweregrad – Filter für gängige Attribute für Sicherheitslücken – Details zu jeder Sicherheitslücke, dargestellt in einem tabellarischen Layout
Wenn du auf eine Sicherheitslücke klickst, gelangst du zur Seite der Sicherheitslücke, die Details zu der Sicherheitslücke enthält, wie z. B. eine Beschreibung, den Ort, die Bezeichner und mehr. Nachfolgend findest du ein Beispiel für die Seite einer SQL Injection-Sicherheitslücke, die von unserem SAST-Scanner erkannt wurde:
Auf dieser Seite kann das Sicherheitsteam zusammenarbeiten, indem es [den Status einer Sicherheitslücke] (https://docs.gitlab.com/ee/user/application_security/vulnerabilities/#change-the-status-of-a-vulnerability) zusammen mit einer Begründung ändert und [Tickets erstellt, um Änderungen besser verfolgen zu können] (https://docs.gitlab.com/ee/user/application_security/vulnerabilities/#create-a-gitlab-issue-for-a-vulnerability).
Auf der Seite der Sicherheitslücke kannst du auch GitLab Duo, unsere KI-gestützte Suite von Funktionen, nutzen. Es kann dir die Sicherheitslücke erklären und automatisch einen Merge Request für die Behebung der Sicherheitslücke erstellen. Die [Erklärung der Sicherheitslücke] von GitLab Duo (https://docs.gitlab.com/ee/user/application_security/vulnerabilities/#vulnerability-explanation) verwendet ein umfangreiches Sprachmodell, um:
– Die Sicherheitslücke zusammenzufassen – Entwickler(inne)n und Sicherheitsanalyst(inn)en zu helfen, die Sicherheitslücke zu verstehen und wie sie ausgenutzt und behoben werden kann, – Eine vorgeschlagene Abhilfemaßnahme vorzuschlagen
Zusätzliche GitLab Ultimate-Sicherheitsfunktionen
GitLab Ultimate enthält viele weitere Sicherheitsfunktionen, die in GitHub Advanced Security nicht vorhanden sind. Einige Beispiele für diese zusätzlichen Sicherheitsfunktionen sind: zusätzliche Sicherheitsscanner für den gesamten Lebenszyklus der Softwareentwicklung (SDLC), granulare Sicherheitsleitlinien und benutzerdefinierte Berechtigungen.
Sicherheitsscanner für den gesamten SDLC
Unser Portfolio an Sicherheitsscannern erstreckt sich über den kompletten SDLC.
Name des Scanners | Scans | Gescannte Sprachen/Dateien |
---|---|---|
Statische Anwendungssicherheitstests (SAST) | Statischer Quellcode | C/C++, Java, Python, Go, JavaScript, C# und weitere |
Dynamische Anwendungssicherheitstests (DAST) | Ausgeführte Webanwendung, Live-API | Sprachunabhängig |
Scannen von Infrastructure as Code (IaC) | IaC-Dateien | Terraform, AWS Cloud Formation, Ansible, und weitere |
Container-Scanning | Statische und ausgeführte Container-Images | Dockerfile |
Abhängigkeitssuche und Lizenz-Scanning | Anwendungsabhängigkeiten | Requirements.txt, Yarn, Gradle, Npm und weitere |
Web-API-Fuzz-Testing | Sendet zufällige/falsche Daten an die Web-API | OpenAPI, GraphQL, HAR, Postman Collection |
Abdeckungsgesteuertes Fuzz-Testing | Sendet zufällige/fehlerhafte Daten an Funktionen | C/C++, Go, Swift, Python, Rust, Java, JavaScript, AFL |
GitLab ermöglicht auch die Integration von [Drittanbieter-Scannern] (https://about.gitlab.com/blog/2024/04/08/integrate-external-security-scanners-into-your-devsecops-workflow/) und [benutzerdefinierten Scannern] (https://about.gitlab.com/blog/2024/02/27/how-to-integrate-custom-security-scanners-into-gitlab/) in die Plattform. Nach der Integration werden die Scannerergebnisse automatisch an verschiedenen Stellen in GitLab angezeigt, z. B. in der Pipeline-Ansicht, im Merge-Request-Widget und im Sicherheits-Dashboard. Weitere Informationen findest du in der Dokumentation zur Integration von Sicherheitsscannern.
Granulare Sicherheits- und Konformitätsrichtlinien
Mit den Richtlinien in GitLab können Sicherheits- und Konformitätsteams Kontrollen weltweit in ihrem Unternehmen durchsetzen. Sicherheitsteams können Folgendes sicherstellen:
– Sicherheitsscanner werden in den Pipelines des Entwicklungsteams mit der richtigen Konfiguration durchgesetzt. – Alle Scan-Jobs werden ohne Änderungen oder Modifikationen ausgeführt. – Ordnungsgemäße Genehmigungen für Merge Requests werden auf der Grundlage der Ergebnisse dieser Befunde erteilt.
Konformitätsteams können zentral mehrere Genehmigende für alle Merge Requests erzwingen und sicherstellen, dass verschiedene Einstellungen für Projekte im Rahmen der organisatorischen Anforderungen aktiviert sind, z. B. die Aktivierung oder Sperrung von Merge Requests und Repository-Einstellungen. Weitere Informationen findest du in der GitLab-Sicherheitsrichtlinie.
Benutzerdefinierte Rollen und granulare Berechtigungen
GitLab Ultimate bietet benutzerdefinierte Rollen, mit denen ein Unternehmen Benutzerrollen mit genau den Privilegien und Berechtigungen erstellen kann, die für die Bedürfnisse dieses Unternehmen erforderlich sind.
Zum Beispiel könnte ein(e) Benutzer(in) eine „Security Auditor“-Rolle mit Berechtigungen zum Anzeigen von Sicherheitslücken im System erstellen, mit der aber kein Quellcode angezeigt oder Änderungen im Repository vorgenommen werden kann. Dieser granulare Satz von Berechtigungen ermöglicht eine klar definierte Aufgabentrennung.
Weitere Informationen findest du in den Dokumentationen zu benutzerdefinierten Rollen und verfügbaren granularen Berechtigungen.
Konformitäts-Center
Das Konformitäts-Center ist der zentrale Ort für Konformitätsteams, um die Konformitätsstandards, die Berichterstattung über Verstöße und die Konformitätsframeworks für ihre Gruppe zu verwalten. Das Konformitäts-Center umfasst Folgendes:
– Das Dashboard zur Einhaltung von Konformitätsstandards listet den Status der Einhaltung von Projekten auf, die dem GitLab-Standard entsprechen. – Der Bericht über Konformitätsverstöße zeigt eine allgemeine Ansicht der Merge-Request-Aktivität für alle Projekte in der Gruppe. – Der Bericht über Konformitätsframeworks zeigt alle Konformitätsframeworks einer Gruppe. – Der Bericht über Konformitätsprojekte zeigt die Konformitätsframeworks, die auf Projekte einer Gruppe angewendet werden.
Mit diesen Dashboards kannst du sicherstellen, dass die Aufgabentrennung eingehalten wird, um die Konformität in deinem Unternehmen zu optimieren. Weitere Informationen findest du in der Konformitäts-Center-Dokumentation.
Weiterlesen
Dieser Artikel behandelt nur einen Teil des breiten Spektrums an Sicherheitsfunktionen, die GitLab Ultimate bietet. Schau dir diese Ressourcen an, um mehr darüber zu erfahren, wie GitLab Ultimate dazu beitragen kann, die Sicherheit deines Unternehmens und die Effizienz deiner Entwickler(innen) zu verbessern:
– Was spricht für GitLab Ultimate? – Tutorial: Erste Schritte mit DevSecOps – Beispielprojekt: Erste Schritte mit DevSecOps – Dokumentation: Importiere dein Projekt von GitHub in GitLab – Dokumentation: Migration von GitHub Actions – Tutorial: Erstelle deine erste GitLab CI/CD-Pipeline und führe sie aus – Tutorial: Erstelle eine komplexe Pipeline – CI/CD-YAML-Syntaxreferenz