
Prüft GitLab-Projekte gegen den CIS GitLab Benchmark mittels schreibgeschützter API-Checks und erzeugt JSON-Berichte zu Compliance- und Härtungsempfehlungen.
Am 17. April 2024 veröffentlichte GitLab™ einen Blogbeitrag, in dem es seinen Center for Internet Security® (CIS) GitLab-Benchmark vorstellte. Ziel ist es, die Sicherheit des Produkts zu verbessern und Härtungsempfehlungen für GitLab-Kunden bereitzustellen. Sie können eine Kopie der Benchmarks herunterladen, die auf der Website des Center for Internet Security® veröffentlicht sind.
"Der CIS GitLab-Benchmark entstand aus einer Zusammenarbeit zwischen CIS und den Teams für Field Security und Product Management bei GitLab. Nach zahlreichen Gesprächen mit Kunden wurde uns klar, dass ein spezifischer Benchmark benötigt wird, der ihre Härtungsbemühungen leiten soll. Wir führten eine eingehende Überprüfung des GitLab-Produkts und der Dokumentation durch, um zu verstehen, wie unser Angebot auf den CIS Software Supply Chain Security Benchmark abgebildet ist. Nachdem der erste Entwurf fertig war, durchlief er den CIS-Konsensprozess, in dem die breitere CIS-Benchmark-Community ihn vor der Veröffentlichung überprüfen und Änderungen vorschlagen konnte."
Referenz: Creating the CIS GitLab Benchmark
gitlabcis ist ein Python®-Paket, das ein GitLab-Projekt anhand des Center for Internet Security® (CIS) GitLab-Benchmarks überprüft. Es enthält recommendations-as-code im YAML™-Format.
Es gibt eine größere Initiative, den CIS-Benchmark als Compliance-Standard in den Compliance Adherence Report aufzunehmen.
Im Laufe der Entwicklung dieses Tools haben die Autoren 2 Funktionen zum GitLab-Produkt beigetragen (#39):
[[TOC]]
gitlabcis erfordert eines der folgenden Tokens:
Sie können das Token entweder als Option übergeben oder als Umgebungsvariable speichern:
GITLAB_TOKEN - (optional) Umgebungsvariable--token / -t – (optional) gitlabcis-Token-OptionSie können das Token entweder als Option übergeben oder als Umgebungsvariable speichern:
GITLAB_OAUTH_TOKEN - (optional) Umgebungsvariable--oauth-token / -ot – (optional) gitlabcis-Token-Optionread_api-Scope.Es gibt mehrere Möglichkeiten, den Scanner herunterzuladen. Weitere Informationen finden Sie unten:
Installieren Sie gitlabcis von pypi.org:
pip install gitlabcis
Installieren Sie gitlabcis aus der Paket-Registry:
pip install gitlabcis --index-url https://gitlab.com/api/v4/projects/57279821/packages/pypi/simple
Falls Sie dies nicht bereits getan haben, müssen Sie die folgenden Zeilen zu Ihrer .pypirc-Datei hinzufügen.
[gitlab]
repository = https://gitlab.com/api/v4/projects/57279821/packages/pypi
username = __token__
password = <your personal access token>
Installieren Sie gitlabcis aus dem Quellcode per Clone oder über unsere Releases-Seite
# make a clone (or create a local fork) of the repo
git clone [email protected]:gitlab-security-oss/cis/gitlabcis.git
cd gitlabcis
make install
Die folgende Syntax wird erwartet:
gitlabcis URL OPTIONS

So erstellen Sie einen Bericht von der Shell aus:
gitlabcis https://gitlab.example.com/path/to/project --token $TOKEN
Erstellen Sie einen JSON-Bericht: (Wenn Sie die Variable $GITLAB_TOKEN verwenden, müssen Sie die Option --token nicht angeben)
gitlabcis \
https://gitlab.example.com/path/to/project \
-o results.json \
-f json
So führen Sie eine einzelne Kontrolle aus:
gitlabcis \
https://gitlab.example.com/path/to/project \
-ids 1.2.3 # or multiple: 2.3.4 3.4.5 etc
Scannen Sie alle Untergruppen und Projekte unter einer Instanz oder Gruppe (standardmäßig 1 Ebene tief):
gitlabcis https://gitlab.example.com/path-to-group --nest
Scannen Sie alle Untergruppen und Projekte bis zu 2 Ebenen tief und schreiben Sie pro Entität JSON-Dateien in ./results/:
gitlabcis \
https://gitlab.example.com/path-to-group \
--nest \
--depth 2 \
--output-dir results \
-f json
Scannen Sie mit unbegrenzter Tiefe und einem Dateinamen-Präfix:
gitlabcis \
https://gitlab.example.com/path-to-group \
--nest \
--depth 0 \
--prefix "audit_" \
--output-dir results \
-f json
Sehen Sie sich das gitlabcis-Verzeichnis Dokumentation (./docs) an – Etwas fehlt? Zögern Sie nicht, einen neuen Issue zu erstellen und so beizutragen.
gitlabcis wurde unter der MIT-Lizenz veröffentlicht; sie kann in der Datei ./LICENSE eingesehen werden.
Weitere Informationen finden Sie in der ./CHANGELOG.md.
Der Verhaltenskodex befindet sich im einleitenden Abschnitt des Contributing-Dokuments (CONTRIBUTING.md).
Lesen Sie unser Dokument zur Sicherheitsrichtlinie (docs/SECURITY.md), das beschreibt, wie Sie eine Schwachstelle melden.
Möchten Sie mitwirken? – Fantastisch! Weitere Informationen finden Sie im Contributing-Dokument (CONTRIBUTING.md).
| Haftungsausschluss | Kommentar |
|---|
| Dieses Tool setzt voraus, dass GitLab für alles verwendet wird. |
|
| Dieses Tool kann nicht jede Empfehlung überprüfen. |
|
| Dieses Tool führt keinerlei Schreiboperationen auf Ihrer GitLab-Instanz, -Gruppe oder -Projekt aus. Es werden keine Schreibaktionen durchgeführt. |
|
| Dies ist kein offizielles GitLab-Produkt. |
|