Als eine durchgängige All-Inclusive-Plattform ist es mit GitLab einfach, deinen DevSecOps-Lebenszyklus zu verwalten. Dank der Plattform von GitLab können Entwickler(innen) schneller bessere Software entwickeln. Das ist aber nicht alles, denn GitLab geht über DevSecOps hinaus.
Im Oktober 2022 veröffentlichte die Internationale Organisation für Normung die neueste Version der Norm ISO 27001. ISO/IEC 27001:2022 enthält mehrere Änderungen gegenüber der vorherigen Version, darunter die neuen Control Kategorien aus Anhang A, bei denen es um sicheres Programmieren und Konfigurationsmanagement geht.
Wir bei GitLab nutzen unsere Plattform, um viele Aspekte unseres Sicherheitskonformitätsprogramms zu unterstützen – ein Konzept, das wir intern Dogfooding nennen. Eine Übersicht über den Nachweis der Einhaltung von Vorschriften und Sicherheit findest du in unserem Trust Center.
Sehen wir uns nun die wichtigsten Funktionen an, die du bei deiner ISO-27001-Compliance nutzen kannst.
Organisatorische Controls
Control-ID | Control-Beschreibung |
---|---|
5.3 Aufgabentrennung | Widersprüchliche Aufgaben und Verantwortungsbereiche sind zu trennen. |
5.15 Zugriffskontrolle | Regeln zur Kontrolle des physischen und logischen Zugriffs auf Informationen und andere damit verbundene Vermögenswerte müssen auf der Grundlage der Geschäfts- und Informationssicherheitsanforderungen festgelegt und implementiert werden. |
5.16 Identitätsmanagement | Der gesamte Lebenszyklus von Identitäten ist zu verwalten. |
8.2 Privilegierte Zugriffsrechte | Die Vergabe und Nutzung von privilegierten Zugriffsrechten ist einzuschränken und zu verwalten. |
8.4 Zugriff auf Quellcode | Der Lese- und Schreibzugriff auf Quellcode, Entwicklungstools und Softwarebibliotheken ist angemessen zu verwalten. |
Mit GitLab kannst du Benutzer(inne)n eine Rolle zuweisen, wenn du sie zu einem Projekt oder einer Gruppe hinzufügst. Die Rolle eines Benutzers/einer Benutzerin legt fest, was er/sie in deiner GitLab-Instanz ausführen kann. Folgende Rollen stehen für die Zuweisung zur Verfügung:
- Gast (nur private und interne Projekte)
- Reporter(in)
- Entwickler(in)
- Betreuer(in)
- Eigentümer(in)
- Minimaler Zugriff (nur für die Hauptgruppe verfügbar)
Mit den Rollen von GitLab kannst du die Berechtigungen eines Benutzers/einer Benutzerin gemäß dem Prinzip der geringsten Privilegien und deinen Geschäfts- und Informationssicherheitsanforderungen einschränken.
Außerdem kannst du dank GitLab die Authentifizierungs- und Autorisierungsverantwortlichkeiten für deine GitLab-Instanz über SAML-SSO-Integrationen zentralisieren. GitLab lässt sich in eine Vielzahl von Identitätsanbietern integrieren, um die verschiedenen Technologie-Stacks unserer Kund(inn)en zu unterstützen. GitLab unterstützt auch das System für domänenübergreifendes Identitätsmanagement (SCIM). Durch die SSO- und SCIM-Integrationen von GitLab kannst du den Lebenszyklus deiner Benutzeridentitäten sicher und effizient automatisieren.
SSO und SCIM sind auch für selbstverwaltete Kund(inn)en von GitLab verfügbar.
Hinweis: Die technologischen Controls 8.2 und 8.4 in Anhang 8 wurden aufgrund ihrer Nähe zu den organisatorischen Controls 5.3, 5.15 und 5.16 in die oben stehende Tabelle aufgenommen. Für die Anforderungen dieser Controls können die gleichen GitLab-Funktionen angewendet werden.
Control-ID | Control-Beschreibung |
---|---|
5.8 Informationssicherheit im Projektmanagement | Informationssicherheit ist in das Projektmanagement zu integrieren. |
Mit GitLab kannst du unsere Planungstools für dein Projektmanagement nutzen und so sicherstellen, dass die Informationssicherheit in allen Phasen eines Projektlebenszyklus eingehalten wird.
-
Mit der Teamplanung von GitLab können Benutzer(innen) Projektarbeiten von der Idee bis zur Produktion organisieren, planen, abstimmen und nachverfolgen.
-
Epics, Tickets und Aufgaben können verwendet werden, um gemeinsam an Ideen zu arbeiten, Probleme zu lösen und Arbeiten mit deinem Informationssicherheitsteam zu planen. Beschreibungsvorlagen und Checklisten ermöglichen es den Benutzer(inne)n, konsistente Beschreibungen und Workflows für Tickets oder Merge Requests einzuhalten. Mit diesen Vorlagen kann die Informationssicherheit konsistent in deinen Projektmanagement-Lebenszyklus integriert werden.
-
Labels ermöglichen es Benutzer(inne)n, Probleme so zu organisieren, wie sie es für richtig halten. Im Hinblick auf die Informationssicherheit können Label verwendet werden, um die Risikostufe eines Projekts zu identifizieren, die Phase eines Projekts anzugeben oder das Informationssicherheitsteam zu markieren, das für eine bestimmte Arbeit zuständig ist. Labels mit begrenztem Geltungsbereich können verwendet werden, um Workflows weitere Logik hinzuzufügen. Sie verhindern nämlich, dass bestimmte Labels zusammen verwendet werden. Bei GitLab nutzen wir Labels mit begrenztem Geltungsbereich, um die Arbeit, die verschiedenen Teams zugewiesen ist, die Projektphase, in der sich die Arbeit befindet, und das Produkt oder den Funktionsumfang, der mit der Arbeit verbunden ist, zu identifizieren.
Labels mit begrenztem Geltungsbereich
- Mit Gruppen- und Projekt--Issue-Übersichten kannst du deine Arbeit noch besser organisieren und eine zentrale, zusammengefasste Ansicht für alle mit einer Gruppe oder einem Projekt verbundenen Arbeiten bieten.
Technologische Controls
Control-ID | Control-Beschreibung |
---|---|
8.8 Management technischer Sicherheitslücken | Informationen über technische Sicherheitslücken der verwendeten Informationssysteme sind einzuholen, die Exposition des Unternehmens gegenüber solchen Sicherheitslücken ist zu bewerten und geeignete Maßnahmen sind zu ergreifen. |
8.9 Konfigurationsmanagement | Konfigurationen von Hardware, Software, Diensten und Netzwerken, einschließlich Sicherheitskonfigurationen, müssen festgelegt, dokumentiert, implementiert, überwacht und überprüft werden. |
8.25 Sicherer Entwicklungslebenszyklus | Regeln für die sichere Entwicklung von Software und Systemen müssen festgelegt und angewendet werden. |
8.26 Anforderungen an die Anwendungssicherheit | Anforderungen an die Informationssicherheit müssen bei der Entwicklung oder dem Erwerb von Anwendungen identifiziert, spezifiziert und genehmigt werden. |
8.27 Sichere Systemarchitektur und technische Grundsätze | Grundsätze für die Entwicklung sicherer Systeme müssen festgelegt, dokumentiert, gepflegt und bei allen Entwicklungsaktivitäten von Informationssystemen angewendet werden |
Mit GitLab kannst du deine Hardware- und Softwarekonfigurationen speichern, die Versionskontrolle verwalten, deine Konfigurationen über Merge Requests aktualisieren und die CI/CD-Pipelines von GitLab nutzen, um diese Konfigurationen in deine Anwendungen und Infrastruktur zu übertragen. Mit GitLab können Unternehmen GitOps über eine einzige Plattform implementieren.
Mit dem Infrastructure-as-Code-Scanning von GitLab kannst du deine IaC-Konfigurationsdateien auf bekannte Sicherheitslücken scannen. Das IaC-Scanning von GitLab unterstützt eine Vielzahl von IaC-Konfigurationsdateien und -Sprachen, wodurch es an verschiedene Technologie-Stacks angepasst werden kann.
Für Compliance-Profis ermöglicht GitLab die Implementierung von Automatisierung durch Compliance-Frameworks und Compliance-Pipelines. Dank dieser Funktionen können Benutzer(innen) kritische Projekte mit bestimmten Compliance-Anforderungen identifizieren und Konfigurationen über Pipelines an diese Projekte pushen. Sie ermöglichen eine konsistente Durchsetzung der Controls und unterstützen dadurch deine Sicherheitslage. Außerdem stellen sie sicher, dass die internen und externen Compliance-Anforderungen deines Unternehmens eingehalten werden.
Für Ultimate-Kund(inn)en bietet das Compliance Center von GitLab eine zentrale Ansicht des Compliance-Zustands einer Gruppe, z. B. der verschiedenen Compliance Frameworks, die auf die Projekte in der Gruppe angewendet werden. Du kannst sogar sehen, wie gut du den GitLab-Standard erfüllst.
Control-ID | Control-Beschreibung |
---|---|
8.15 Protokollierung | Protokolle, die Aktivitäten, Ausnahmen, Fehler und andere relevante Ereignisse aufzeichnen, sind zu erstellen, zu speichern, zu schützen und zu analysieren. |
8.16 Kontrolle von Überwachungsaktivitäten | Netzwerke, Systeme und Anwendungen müssen auf anomales Verhalten überwacht und geeignete Maßnahmen zur Bewertung potenzieller Informationssicherheitsvorfälle ergriffen werden. |
Mit GitLab kannst du Audit-Ereignisse verwenden, um wichtige Ereignisse zu verfolgen, einschließlich der Frage, wer wann die entsprechende Aktion durchgeführt hat. Audit-Ereignisse decken ein breites Spektrum von Kategorien ab, darunter:
- Gruppenverwaltung
- Authentifizierung und Autorisierung
- Benutzerverwaltung
- Compliance und Sicherheit
- CI/CD
- GitLab-Runner
Beispiel für ein Audit-Ereignis
Für Ultimate-Kund(inn)en kann das Audit-Ereignis-Streaming aktiviert werden. Mit dem Audit-Ereignis-Streaming können Benutzer(innen) ein Streaming-Ziel für eine Gruppe oder Instanz der obersten Ebene festlegen, um alle Audit-Ereignisse über die Gruppe, Untergruppen und Projekte als strukturierte JSON-Datei zu erhalten.
Control-ID | Control-Beschreibung |
---|---|
8.28 Sichere Programmierung | Bei der Softwareentwicklung sind die Prinzipien des sicheren Programmierens anzuwenden. |
8.29 Sicherheitstests in Entwicklung und Akzeptanz | Sicherheitstestprozesse sind im Entwicklungslebenszyklus zu definieren und umzusetzen. |
Du kannst die Funktionen in der Sicherungsphase von GitLab nutzen, um den Lebenszyklus deiner Softwareentwicklung zu verbessern und die Sicherheit deiner Produkte zu verbessern. Zu den Funktionen von GitLab in der Sicherungsphase gehören:
- Statische Anwendungssicherheitstests (SAST)
- Dynamische Anwendungssicherheitstests (DAST)
- Codequalität
- Container-Scanning
- Abhängigkeitssuche
und vieles mehr!
Ergebnisse zur Codequalität
Kompromittierte Geheimnisse sind einer der führenden Katalysatoren für Sicherheitsverletzungen. Die Erkennung von Geheimnissen von GitLab scannt dein Repository, um zu verhindern, dass deine Geheimnisse aufgedeckt werden.
Mit der Richtlinien-Funktion von GitLab können Benutzer(innen) Scanausführungs- und Scanergebnis-Richtlinien basierend auf konfigurierter Logik implementieren. Diese Richtlinien kombinieren die Scan-Funktionen in der Sicherungsphase mit Freigaben für Merge Requests, um die Compliance-Anforderungen weiter durchzusetzen.
Zusammen bilden die Sicherheitsfunktionen von GitLab die optimale Grundlage für einen sicheren Lebenszyklus der Softwareentwicklung und ermöglichen es dir, die Prinzipien des sicheren Programmierens sowie die Anforderungen deines Unternehmens einzuhalten.
Control-ID | Control-Beschreibung |
---|---|
8.32 Änderungsmanagement | Änderungen an Informationsverarbeitungseinrichtungen und Informationssystemen unterliegen den Änderungsmanagementverfahren. |
GitLab bietet viele Funktionen, um ein umfassendes Änderungsmanagement zu unterstützen.
Mit der Quellcodeverwaltung von GitLab können Benutzer(innen) geschützte Branches implementieren. Geschützte Branches ermöglichen es GitLab-Benutzer(inne)n, bestimmte Branches einzuschränken, die als kritisch für den Betrieb angesehen werden. Ein geschützter Branch steuert:
- welche Benutzer(innen) in den Branch mergen können
- welche Benutzer(innen) in den Branch pushen können
- wenn Benutzer(innen) den Push in den Branch erzwingen können
- ob Änderungen an Dateien, die in der CODEOWNERS-Datei aufgeführt sind, direkt in den Branch gepusht werden können
- welche Benutzer(innen) den Schutz des Branches aufheben können
Der Standard-Branch in einem Repository wird automatisch als geschützter Branch gekennzeichnet.
Einstellungen für geschützte Branches in GitLab
Merge Requests (MR) sind eine Kernkomponente des Softwareentwicklungszyklus. GitLab-Benutzer(innen) können ihre MRs so konfigurieren, dass sie erst freigegeben werden müssen, bevor sie zusammengeführt werden können. Mit MR-Genehmigungen können Benutzer(innen) die Mindestanzahl der erforderlichen Genehmigungen festlegen, bevor Arbeiten in ein Projekt zusammengeführt werden können. Einige Beispiele für Regeln, die du erstellen kannst, sind:
- Benutzer(innen) mit bestimmten Berechtigungen können Arbeiten jederzeit genehmigen.
- Code-Eigentümer(innen) können Arbeiten für Dateien genehmigen, die sie besitzen.
- Benutzer(innen) mit bestimmten Berechtigungen können Arbeiten im Repository genehmigen, auch wenn sie keine Merge-Rechte haben.
- Benutzer(inne)n mit bestimmten Berechtigungen kann die Möglichkeit gewährt oder verweigert werden, Genehmigungsregeln für eine bestimmte Merge Request zu überschreiben.
Wie bereits erwähnt, können Tickets und Aufgaben verwendet werden, um Änderungsanfragen zu dokumentieren und zusammenzuarbeiten. Beschreibungsvorlagen ermöglichen es den Benutzer(inne)n, konsistente Beschreibungen für Tickets oder MRs einzuhalten. Mit diesen Vorlagen kann ein konsistenter Ansatz verfolgt werden, um Änderungen in einer Weise anzufordern, die am besten zu deinem Unternehmen passt.
Mehr erfahren
Als umfassende DevSecOps-Plattform unterstützt GitLab ein breites Spektrum an Anforderungen. ISO hat in der Version 2022 der ISO-Norm zusätzliche Controls für sicheres Programmieren und Konfigurationsmanagement hinzugefügt. Dies zeigt, dass Zertifizierungsstellen insgesamt einen verstärkten Fokus auf die Softwaresicherheit legen. Als strategischer Partner kann GitLab dir dabei helfen, die ISO 27001 einzuhalten und schneller bessere Software zu entwickeln.
Weitere Informationen zu diesen Funktionen findest du in unserer Tutorial-Bibliothek.