Direkt zum Hauptinhalt

DevOpsCon 2019 in Berlin

IT-Security done right – DevSecOps als neue Digitalstrategie

Im ersten Teil unserer Blogreihe zieht JobRouter® Entwicklerin Jenny ein Fazit zum Stand der IT-Sicherheit, neuen Entwicklungen und den Themen der diesjährigen DevOpsCon in Berlin.  

Vom 11.06 - 14.06.19 fand die jährliche Konferenz für DevOps-Begeisterte und -Lebende statt und dieses Jahr entsandte die JobRouter AG zwei ihrer wagemutigen Entwickler nach Berlin, um neue Ideen und Ansätze zu sammeln und in die Firma zu tragen.

IT-Security done right

Der Umgang mit hochsensiblen Kundendaten ist bei JobRouter kein Fremdwort: Schließlich handelt es sich bei JobRouter® um eine sehr mächtige DigitalisierungsplattformJobRouter® ermöglicht unseren Kunden große Flexibilität bei der Administration und Benutzung ihrer unternehmensweiten Betriebsprozesse. Dies verdeutlicht sehr, weshalb das Thema der IT-Sicherheit für uns, als Firma und nochmal besonders als Entwickler, einen so hohen Stellenwert hat.

 

So stellte ich mir bereits einige Monate vor dem Event selbst die Fragen: Wie genau schaut Sicherheit aus? Wie sicher ist sicher? Wenn ein Angreifer sich Zugriff verschaffen wollen würde, wie würde er vorgehen? Und wie können wir als Entwickler unser Produkt und unsere Umgebung noch sicherer machen, als es jetzt bereits schon ist?

Jennifer Schmalbach
Software Engineer
JobRouter AG

So stellte ich mir bereits einige Monate vor dem Event selbst die Fragen: Wie genau schaut Sicherheit aus? Wie sicher ist sicher? Wenn ein Angreifer sich Zugriff verschaffen wollen würde, wie würde er vorgehen? Und wie können wir als Entwickler unser Produkt und unsere Umgebung noch sicherer machen, als es jetzt bereits schon ist?

Jennifer Schmalbach
Software Engineer
JobRouter AG

Wichtige Fragen, die uns als Entwickler- bzw. Operation-Team stets präsent im Hinterkopf halten sollten. Dies dachten sich auch die Besucher der DevOpsCon 2019, bestehend aus einem guten Mischungsverhältnis von Fachkräften, überwiegend aus der Entwicklung und der Administration.

Qualitätsmerkmal: Sicherheit

Auf der Konferenz hat Nic Jackson in seinem Vortrag eine sehr interessante und gleichzeitig provokante Frage an das Publikum gestellt:

Wenn Sie sich entscheiden müssten, zwischen Schnelligkeit und Sicherheit, wie würden Sie sich entscheiden? - Nic Jackson, Developer Advocate, HashiCorp

Jackson bezog sich darauf, dass in vielen Unternehmen die Sicherheit unter Lieferungsdruck von schnellen und guten Lösungen leidet. Dann stellte er uns noch einmal die gleiche Frage, nur dieses Mal leicht abgewandelt:

Wenn Sie mit einem Flugzeug von A nach B fliegen wollen, ist Ihnen dann die Sicherheit oder die Schnelligkeit wichtiger? Um schneller am Ziel anzukommen, könnte man einige Board-Checks streichen. Würden Sie das unterstützen? - Nic Jackson, Developer Advocate, HashiCorp

Die einstimmige Antwort im Raum war:

Nein!

Warum also sollten Softwareentwickler ihren Anspruch an Sicherheit dann senken? Viel effizienter ist es, diese Sicherheitsmerkmale im gesamten Entwicklungsprozess zu berücksichtigen.

DevSecOps als neue Strategie

Ein möglicher Ansatz, der sich aus der vorigen Erkenntnis ergibt, ist die Einführung von DevSecOps als neue Strategie. Der Begriff DevSecOps setzt sich zusammen aus Development, Security und Operations und stellt die einzelnen Aufgabenbereiche dar.

Um eine Anwendung von der Entwicklung bis zur Auslieferung schnell, automatisiert, sicher und qualitativ hochwertig ausliefern zu können, werden sogenannte CI/CD-Pipelines verwendet. CI steht hierbei für Continuous Integration und bezeichnet das fortlaufende Zusammenfügen von Komponenten zu einer Anwendung. Ziel ist es, die Softwarequalität damit zu steigern. CD steht für Continuous Delivery und stellt den Softwareauslieferungsprozess dar.

Sicherheitsmechanismen in der CI/CD-Pipeline

Victoria Almazova, Cloud Security Architektin bei Microsoft, thematisierte CI/CD-Pipelines, in denen Sicherheitsmechanismen durchgehend in der CI/CD-Pipeline integriert sein sollten. Die Songzeile Every step you take … i’ll be watching you von The Police unterstrich ihre Aussage.

Es ist darauf zu achten, dass bereits in der Konzeptphase die Anwendungs- und Infrastruktursicherheit berücksichtigt wird. Erste Sicherheitsmaßnahmen können umgesetzt werden, indem man bereits beim Programmieren Security Plugins in der Entwicklungsumgebung und Pre-Commit Hooks verwendet. Durch die Verwendung von Pre-Commit Hooks wird sichergestellt, dass potenzielle Sicherheitsprobleme im Vorfeld erkannt und behoben werden, bevor sie in die Versionierung gelangen (z.B. Zugangsdaten). Das Schreiben von Security Unittests sichert den Code der Anwendung zusätzlich ab.

Weiterhin ist ein sehr wichtiger Sicherheitsaspekt das Dependency Management. Verwendete Frameworks und Bibliotheken sind Fremdcode und können ebenfalls Sicherheitslücken oder unsichere Inhalte von Dritten beinhalten. Fehlende Updates der externen Frameworks und Bibliotheken können so zusätzliche Sicherheitslücken im eigenen Programmcode erzeugen.

Weitere Maßnahmen zum Absichern einer CI/CD-Pipeline ist die Verwendung von Infrastructure as Code, das regelmäßige Überprüfen der Cloud-Konfiguration, sowie die Durchführung von Security Scans und Security Akzeptanztests. Da sich Test- und Produktivumgebungen unterscheiden können, ist es in der Produktionsphase notwendig erneut die Konfigurationen zu überprüfen.

Tests und Reports für mehr IT-Sicherheit

Um ein realistisches Ergebnis zum Stand der IT-Sicherheit zu erhalten, sollten zusätzlich Penetrations- und Smoketests durchgeführt und die Testergebnisse für spätere Auswertungen festgehalten werden.

Bei Penetrationtests wird versucht, die Sicherheitsmaßnamen eines Systems aus Sicht eines Angreifers zu überwinden. Mögliches Ziel eines Penetrationtests kann der Zugriff auf die Daten der Applikationsdatenbank sein. Wurden Stellen identifiziert, so müssen diese zeitnah behoben und als Patch dem Kunden bereitgestellt werden. Gleiches gilt, wenn durch das kontinuierliche Monitoring der Produktivanwendung weitere Sicherheitslücken auffallen.

Hingegen Smoketests dienen dazu, eine Anwendung auf Biegen und Brechen auf Funktionalität zu testen bis diese salopp gesagt „abrauchen“. Läuft dabei ein Test fehl, dann brauchen die nachfolgenden Funktionalitäten nicht mehr überprüft zu werden.

Kontinuierliche Verbesserung der CI/CD-Pipeline

Das Ende einer CI/CD-Pipeline entspricht immer auch dem Anfang: Es ist wichtig, aus den vergangenen Sicherheitsproblemen zu lernen, ohne dabei einem Mitwirkenden die Schuld daran zu geben. Das Sicherheitsbewusstsein im Team wächst und kann durch internes Training weiter gestärkt werden. Zusätzlich sollte man sich vor neuen Bedrohungen schützen, indem man sich stets Informationen zur aktuellen Bedrohungslage der IT-Sicherheit einholt.

JobRouter Software-Entwickler Jenny und Steven berichten von Ihren Erfahrungen auf der DevOpsCon 2019 in Berlin und Ihren Fokus-Themen im Bereich Unternehmensdigitalisierung.

Fazit zur DevOpsCon Berlin 2019

Das Themenangebot auf der Konferenz war äußerst vielseitig und interessant. Thematisiert wurden mitunter Continuous Delivery, Microservices, Kubernetes und Sicherheitsmaßnahmen in der IT-Branche.

Sehr gelungen und spannend empfand ich die Beiträge zur IT-Sicherheit von Christian Schneider, einem freiberuflichen Whitehat Hacker und Security-Trainer. In seinen Vorträgen und in seinem eintägigen Konferenz-Workshop Pentesting: how to master your offensive Security Toolstack hat er nicht nur das komplette Publikum, sondern auch mich mit seinem Fachwissen begeistern können. Seine Präsentationsinhalte waren sehr interessant und umfangreich; letzteres minderte jedoch keineswegs die Qualität seiner Vorträge. In Praxisbeispielen hat er eindrucksvoll bewiesen, wie potenzielle Angreifer vorgehen, um Sicherheitslücken in Webapplikationen zu identifizieren und auszunutzen. Mit diesem Bewusstsein können wir als Entwickler unseren Quellcode noch robuster gestalten.

Ich freue mich schon sehr, diese gewonnenen Eindrücke und die daraus resultierenden Ideen mit meinen Kollegen zu teilen.

Weiterführende Blog-Artikel

Hacking the system
Hacking the System setzt sich auseinander mit der Identifizierung und dem Ausnutzen von Sicherheitslücken in Webapplikationen. Ausgangspunkt ist der DevOpsCon Workshop Pentesting: how to master your offensive Security Toolstack von Christian Schneider.

Docker Swarm, Kubernetes oder doch etwas ganz anderes?
Zum Schluss möchte ich noch auf den demnächst erscheinenden Blogeintrag von Steven Kriegler verweisen, der ebenfalls vor Ort war und an einem spannenden Kubernetes Workshop: Deep-dive ins Containermanagement von Erkan Yanar teilgenommen hat. Seine Erkenntnisse und Eindrücke hat er in seinem Blogeintrag Docker Swarm, Kubernetes oder doch etwas ganz Anderes? zusammengefasst.