HackerOne erreicht 5 x schnellere Implementierungen dank der integrierten Sicherheit von GitLab
Möchtest du sehen, was GitLab Ultimate für dein Team tun kann?
Das weltweit vertrauenswürdigste, von Hackern betriebene Sicherheitsunternehmen HackerOne hat sich für GitLab entschieden, um uneinheitliche Toolchains zu beseitigen und die Sicherheit früher im SDLC zu beachten.
HackerOne hat mit GitLab Ultimate die Pipeline-Zeit, die Bereitstellungsgeschwindigkeit und die Effizienz der Entwickler(innen) verbessert.
Von Hackern betriebene Sicherheitsplattform
HackerOne befähigt die Welt, ein sichereres Internet aufzubauen. Als die beliebteste von Menschen betriebene Sicherheitsplattform der Welt gibt HackerOne Unternehmen Zugang zur größten Hacking-Community der Welt. Die Hacking-Community verfügt über die robusteste Datenbank mit Sicherheitslückentrends und Branchen-Benchmarks und mindert Cyber-Risiken, indem sie reale Sicherheitslücken für Unternehmen aller Branchen und Angriffsflächen sucht, findet und sicher meldet.
Da die Welt immer vernetzter wird und Unternehmen in die Cloud wechseln, muss die Cybersicherheit Schritt halten können. HackerOne unterstützt Sicherheitsteams dabei, mit ihren Agile-Angriffsflächen zu skalieren, indem es hackerbasierte Sicherheitstests und Einblicke in Sicherheitslücken bietet, die dazu beitragen, Risiken im gesamten SDLC zu reduzieren.
Auf der Suche nach Entwicklungs- und Bereitstellungsgeschwindigkeit
HackerOne ist ein global verteiltes Unternehmen, so dass Teams aufeinander angewiesen sind, um Projekte abzuschließen. Es kam oft vor, dass ein(e) Entwickler(in) in den Niederlanden an Code arbeitete, an dem dann jemand in Nordamerika weiterarbeitete. Lange Pipeline-Zeiten konnten Übergaben verzögern. Mitch Trale, Head of Infrastructure bei HackerOne, erklärt: „In vielen Fällen strandete ein Merge Request an einem Punkt, an dem man gerne live gegangen wäre … wenn wir schnellere Tools gehabt hätten, hätten wir es veröffentlichen können.“
HackerOne nutzte separate Tools für die Codeversionskontrolle und die kontinuierliche Integration. Als HackerOne größer wurde und das Engineering-Team von 10 auf 30 Mitglieder wuchs, stellte Mitch fest, dass diese Tools „erheblich eingeschränkt waren … ein Beispiel dafür ist allein die Zeit, die nötig war, um eine einzige Pipeline in unserem alten System auszuführen. Dadurch wurde es irgendwie unerschwinglich, dies häufig zu tun“, sagt Trale. „Also begannen die Entwickler(innen), diese Einschränkungen zu umgehen. Wir haben nachgelagerte Nebenwirkungen erzeugt, also mussten wir uns damit dann separat auseinandersetzen.“ Das Team benötigte ein Tool, das mit der Entwicklung von HackerOne wachsen konnte und in der Lage war, mehrere Projekte zu verwalten, die mehrere Teams betreffen würden.
Bei der Auswahl neuer Software-Tools waren für das Team vor allem die Geschwindigkeit der Entwicklung und der Bereitstellung sowie die Zufriedenheit der Entwickler(innen) wichtig. „Wir optimieren für zufriedene Entwickler(innen), wo immer es möglich ist. Bessere Tools helfen uns dabei, mehr zu automatisieren, was zu einem besseren Durchsatz und einer höheren Qualität führt“, erklärt Trale. Das Team benötigte eine Plattform, die die Entwicklererfahrung von Anfang bis Ende, also von der Entwicklung bis hin zur Bereitstellung, verbesserte.
Skalierbarkeit und Entwicklerverantwortung
HackerOne hat GitLab Ende 2018 für die Quellcodeverwaltung, die Ticketverwaltung, CI/CD sowie Sicherheits- und Compliance-Funktionen, die im vorherigen Tooling-System des Teams nicht vorhanden waren, eingeführt. Die Akzeptanz von GitLab hat im gesamten Unternehmen aufgrund der verschiedenen Agilitätsangebote, die in verschiedenen Umgebungen funktionieren können, dramatisch zugenommen. „HackerOne hat GitLab überall eingeführt, aber wir haben auch brandneue Funktionen gesehen, die Produktmanager(innen) und Sprint Owner nutzen konnten. Jetzt sehen wir, wie Teams für die Zukunft weiterplanen“, berichtet Trale. „Wir haben Gantt-Diagramme, die Abhängigkeiten darstellen. Diese Art von Ausarbeitung war in dieser Phase der Entwicklung von HackerOne wirklich wichtig, weil wir gewachsen sind.“
GitLab ermöglichte nicht nur die Skalierung von Teams, sondern auch eine gleichberechtigte Entwicklung von Anwendungen. Dank der intuitiven Benutzeroberfläche von GitLab wuchs die Anzahl der Benutzer(innen) bei HackerOne. „Wir haben technische Produktmanager(innen), die jetzt Codeänderungen vornehmen können, um den Text auf der Website oder eine Schriftfarbe zu ändern“, fügt Trale hinzu. „Es ist einfacher für Einzelpersonen, mit den visuellen Bearbeitungstools von GitLab und Merge Requests zu arbeiten, die einfach genehmigt und atomar bereitgestellt werden können. Das war vorher einfach nicht möglich.“
Die Benutzerfreundlichkeit von GitLab macht die Arbeit auf der Plattform für Entwickler(innen) einfacher. Als Open-Source-Tool ist GitLab modern, aber nicht zu komplex. Es bietet viele Funktionen, ist aber für Entwickler(innen) auf allen Ebenen des Unternehmens funktional verfügbar. „Jetzt können wir die Kontrolle über unsere Pipelines demokratisieren. Jede(r) einzelne Ingenieur(in) kann als DevOps agieren, als Infrastruktur agieren … und die Tools auf eine Art und Weise verwalten, wie es vorher einfach nicht möglich war. Unsere alten Tools waren schwerfällig, wartungsintensiv und kompliziert zu verwalten“, sagt Trale.
Integrierte Sicherheit sorgt für schnellere Bereitstellungen
Einer der größten Vorteile der Einführung von GitLab ist die Möglichkeit, Code-Probleme früher in der Pipeline zu entdecken. In Kombination mit schnelleren Pipelines können die Teams jetzt iterativ an der Behebung von Sicherheitslücken arbeiten. Das Entwicklungsteam benötigte früher mindestens 60 Minuten pro Integrations-Pipeline-Ausführung. Vom Commit zum Test, zum Smoke Test, zum Test, zur Bereitstellung dauerte es eine Stunde. Bei nur einem einzigen Fehler musste der gesamte Prozess erneut ausgeführt werden.
„Das machte die Leute übervorsichtig im Hinblick auf das Pushen von Code. Wir möchten, dass diese Ausführungszeit so kurz wie möglich und das Risiko, das mit einer bestimmten Version von Code verbunden ist, so gering wie möglich ist“, erklärt Trale. „GitLab war für uns also strategisch wichtig, weil es uns wirklich ermöglichte, diesen Code zu verfeinern und nach unseren eigenen Qualitätsvorgaben zu erstellen.“
Das Team kann auch einzelne Teile der Pipeline erneut ausführen, was zuvor nicht möglich war. Die Entwickler(innen) können sich auf den Teil der Continuous-Integration-Pipeline konzentrieren, der einen Fehler erzeugt, ohne dass ein kompletter Neustart erforderlich ist. „Geschwindigkeit ist wichtig … jetzt dauert die Ausführung einer Pipeline etwa 8 Minuten. Diese 8 Minuten sind enorm. Das allein – das Versprechen dieser sehr schnellen Pipeline für kontinuierliche Integration – wäre für uns schon Grund genug gewesen, um den Wechsel in Erwägung zu ziehen“, so Trale. Darüber hinaus ist jetzt ein tieferer Einblick in die Audit-Protokolle verfügbar, der zeigt, was hinter den Kulissen vor sich geht. So können wir verstehen, was zur Leistungsverschlechterung beiträgt.
Mit Hilfe der API- und Sicherheitsfunktionen von GitLab erstellte das Entwicklungsteam einen Bot, der basierend auf veralteten Paketen automatisch Merge Requests generiert. Der Bot scannt Repos und erstellt Merge Requests für diejenigen, die aktualisiert werden müssen. Entwickler(innen) müssen sie nur überprüfen und genehmigen, damit sie bereitgestellt werden. Diese Automatisierung spart manuelle Bearbeitungszeit und sorgt für schnellere Sicherheitsscans. Es ist nicht mehr die Aufgabe einer Person, eine zusätzliche Stunde pro Bereitstellung für das Testen zu verbringen. „Wir stellen Code mehrmals am Tag bereit … im Moment werden mindestens ein bis fünf Mal am Tag neue Versionen von HackerOne online gestellt. Früher musste ein(e) Ingenieur(in) für jede dieser Bereitstellungen mindestens eine Stunde aufwenden“, beschreibt Trale. „Bei der Arbeit zu zweit war es vielleicht eine halbe Stunde, wenn sichergestellt wurde, dass die Arbeit Sinn ergab. Konservativ gerechnet, denke ich, dass wir vier bis fünf Stunden pro Tag an Energie pro Ingenieur(in) sparen, indem wir diese Arbeit mit den Tools konsolidieren.“
Vor GitLab lag der Bereitstellungszyklus von HackerOne eher bei ein bis zwei Mal pro Tag. Jetzt, da alles an einem Ort abgelegt, korrekt gekennzeichnet und effizient organisiert ist, können PMs und diejenigen, die Sprints verwalten, auswählen, woran sie arbeiten möchten. „GitLab hilft uns dabei, diese Dinge frühzeitig zu erkennen – es integriert sie in die Arbeitsabläufe der Entwickler(innen).
Alle Tools an einem Ort zu haben, hat die Sicherheitsscans und Audits im Vergleich zum vorherigen Workflow des Teams vereinfacht. „Die Kosten für die Durchführung von Sicherheitsscans sind in GitLab deutlich niedriger als zuvor. Daher führen wir viel öfter gründlichere und schnellere Scans durch. Egal, ob es sich um einzelne Pakete oder sogar um eine Reihe von Sicherheitstests handelt. Ich denke, dass wir uns dessen viel besser bewusst sind und wir GitLab für diesen Zweck verwenden“, erklärt Trale.
Das Entwicklungsteam hat auch einen angepassten Slack-Bot entwickelt, der in GitLab integriert ist und Bereitstellungen auslöst. Alle Bereitstellungen sind öffentlich im Slack-Kanal, wo für HackerOne ein Großteil der Arbeit stattfindet. Mit der Integration können sie den Bereitstellungsstatus in Slack sehen, anstatt die Pipeline oder das Auditprotokoll suchen zu müssen. Falls die Bereitstellung schief geht, können 30 Personen in Echtzeit beim Debuggen helfen. Die Bereitstellung in Slack und die Verwendung von GitLab für CI/CD bietet einen einfacheren und schnelleren Zugriff auf das Code- und Sicherheitsmanagement.
Während die Konsolidierung von Tools und die Geschwindigkeit der Bereitstellung Prioritäten sind, die HackerOne zum Umstieg veranlasst haben, ist es die aktive Entwicklung von GitLab, die die Teammitglieder immer wieder beeindruckt. GitLab bietet monatliche Releases, die auf bestehenden Funktionen – wie z. B. Sicherheit – und auf Kundenfeedback basieren. „Die Partnerschaft, die wir mit GitLab haben, vertieft sich ständig. Einige der anderen Tools, die wir untersucht haben, hatten nicht die gleiche Entwicklungsstärke und Dynamik wie GitLab“, sagt Trale. „Der monatliche Rhythmus spricht dafür – es kommen häufig neue Funktionen hinzu, die wir nutzen können. Diese aktive Entwicklung ist eine zeitgemäße Denkweise, die GitLab hat und die uns gefällt.“
Alle Informationen und Personen, die an der Fallstudie beteiligt waren, waren zum Zeitpunkt der Veröffentlichung korrekt.