Auf fruchtbaren Boden fällt DevOps aktuell besonders im SAP-Umfeld: Hier breitet sich mit HANA eine Entwicklungsplattform aus, die durch die Big-Data-Verarbeitung ideale Voraussetzungen für die schnelle und agile Programmierung neuer Anwendungen mit hoher Qualität bietet. Dies kommt den wachsenden Anforderungen der Unternehmen entgegen, flexibel auf veränderte Markt- und Kundenbedürfnisse reagieren zu müssen, um im Wettbewerb erfolgreich zu sein. Statt weniger großer SAP-Releases, wie bei der herkömmlichen Software-Entwicklung üblich, werden laufend zahlreiche kleinere Funktionen und Lösungen auf Basis der hochperformanten HANA-Plattform in Betrieb genommen.
Funktionaler Ansatz greift zu kurz
Doch auch wenn der Zeitdruck im DevOps-Umfeld noch so hoch ist, darf das Thema Sicherheit nicht auf der Strecke bleiben - zumal durch die Fülle an Neuprogrammierungen erhöhte Angriffsmöglichkeiten für Cyber-Kriminelle und Wirtschaftsspione entstehen. Mit DevSecOps hat sich zwar ein neuer Ansatz entwickelt, der den Sicherheitsanforderungen bei der agilen Software-Entwicklung Rechnung zu tragen versucht.
Doch greift dieser Ansatz zu kurz, da er sich vorrangig auf funktionale Schutzmaßnahmen für die DevOps-Umgebung fokussiert. So kommen beispielsweise Authentifizierungen, Berechtigungen und Verschlüsselung zum Einsatz, um Schnittstellen gegen Manipulationen zu schützen oder zu verhindern, dass durch Drittkomponenten mögliche Sicherheitslücken entstehen.
So wichtig diese funktionalen Schutzkomponenten auch sind, so wenig reichen sie jedoch aus, um den Sicherheitsrisiken im DevOps-Umfeld wirksam zu begegnen. Daher sollten Unternehmen gleichzeitig einen technischen Ansatz verfolgen, der die Security von Anfang an in die Entwicklung einbezieht und geeignete Werkzeuge nutzt, um den Sicherheitsanforderungen im gesamten Software-Lebenszyklus zu begegnen: Secure DevOps.
Dabei sollten Sicherheitsstandards, wie OWASP Top 10, SANS 25, BIZEC App / 11 und BIZEC Tec / 11, berücksichtigt und agil an jeweils mehreren Prüfpunkten automatisiert getestet werden.
Nur so ist gewährleistet, dass die neuen Funktionen und Anwendungen sicher programmiert, konfiguriert und auf das Zielsystem gebracht werden können.
- Ottmar Höhenberger, Geschäftsführer, Omninet Solutions
“Die Unternehmen sind mehr und mehr prozessgesteuert. Dazu wird auch die IT in den Vordergrund gedrängt, und das Service-Management wird immer entschiedener zu einem Vehikel für die IT. Agilität und Prozesse schließen sich dabei überhaupt nicht aus. Allerdings werden die Prozesse häufig vergewaltigt. Hier muss man sich pragmatisch und lösungsorientiert mit den Betroffenen abstimmen.“ - Martin Landis, Business Unit Manager, USU AG
“In vielen Innovationsprojekten zählt vor allem die Entwicklungsgeschwindigkeit. Schwergewichtige ITIL-Prozesse wie Change- oder Release-Management bremsen da nur – und sind anfangs auch nicht notwendig. Ohnehin geht ja nur eins von zehn Projekten tatsächlich in Produktion. Aber ITSM kann die Entwicklung in agilen Projekten auch beschleunigen, zum Beispiel durch sekundenschnelle, vollautomatisierte Bereitstellung von Cloud-Ressourcen.“ - Stefanie Siegmann, Principal Consultant, CA Deutschland
„Das Thema Service-Management verliert bei den Verantwortlichen an Fokus; es gilt als teuer und behäbig. Aber genau das ist der Bereich, wo die IT direkten Anwenderkontakt hat, quasi das Dokumentationswerkzeug, um das sich die gesamte IT rankt. Außerdem braucht man ITSM-Prozesse, um die Freiheit der Agilität in einen strukturierten Unternehmenskontext einzubetten.“ - Gerald Haberecker, Head of Sales, Axios Systems
„Speed ist doch eigentlich nur ein Schlagwort. Auch die agilen Projekte bewegen sich idealerweise innerhalb eines bestimmten Grundgerüsts. Und Service-Management ist eine wichtige Schnittstelle, über die Informationen im Unternehmen zur Verfügung gestellt werden. Ohne solche Prozesse funktioniert auch kein Speed. Doch viele Prozesse finden keinen Owner; das ist eines der wirklichen Probleme.“ - Steven Handgrätinger, Vorstandsvorsitzender des itSMF
„ITIL ist nicht die eierlegende Wollmilchsau. Aber aus der Best-Practices-Sammlung kann sich jeder das zusammensuchen, was er für den Erfolg benötigt. Zudem hilft sie, einen organisatorischen Unterbau zu schaffen, der sich mit den Werkzeugen aus dem ITSM-Portfolio ergänzen lässt. Das ist aus meiner Sicht die einzige Chance, die digitale Transformation zu meistern.“
Fahrplan für den Software-Lebenszyklus
Secure DevOps stellt an DevOps-Teams, die Anwendungen auf klassischer SAP- oder SAP HANA-Basis entwickeln, in den einzelnen Phasen des Software-Lebenszyklus folgende Anforderungen:
Code-Entwicklung
Je früher eine SAP-Sicherheitslücke beseitigt wird, desto geringer der Folgeaufwand. Daher sollten Fehler und Schwachstellen im ABAP-Code möglichst schon während der Programmierung identifiziert und korrigiert werden. Dazu stehen neben den Standard-Prüfwerkzeugen in der Entwicklungsumgebung von SAP auch Open-Source-Tools und Add-ons von Drittanbietern zur Verfügung, die den ABAP-Quellcode unter Berücksichtigung bestimmter Sicherheitsstandards analysieren.
Diese Tools integrieren die Sicherheitsstandards in Form vorkonfigurierter Prüfkataloge und stellen sicher, dass jede Prüfung direkt während des Code-Schreibens automatisch erfolgt - vergleichbar der interaktiven Rechtschreibprüfung von Microsoft Word, mit der sich Text-Dokumente sofort bei der Eingabe auf Fehler analysieren und korrigieren lassen. Durch die automatischen Quellcode-Analysen werden manuelle Eingriffe der Programmierer überflüssig und damit verbundene Fehlermöglichkeiten verringert.Testphase
Um das Sicherheitsniveau im DevOps-Umfeld weiter zu steigern, sollten gleich nach der Entwicklung automatisierte Tests verpflichtend sein, ohne die eine Code-Freigabe prinzipiell nicht möglich ist. Auch für diese Testphase kann unter verschiedenen Prüfwerkzeugen gewählt werden, mit denen der ABAP-Quellcode direkt in der Entwicklungsumgebung getestet wird. Ob Tools von SAP-, Open-Source- oder Add-on-Anbietern dabei zum Einsatz kommen, hängt von den individuellen Anforderungen im Unternehmen ab. Stellt sich in der Testphase heraus, dass der Code den erforderlichen Qualitätskriterien nicht genügt, darf er auf keinen Fall ins nächste Level transportiert, sondern muss korrigiert werden.Build-Phase
In der Build-Phase werden die einzelnen ABAP-Code-Fragmente zusammen mit den Konfigurationen und Tabellen-Inhalten in ausführbare Einheiten "gepackt" - daher auch Pakete oder, im SAP-Jargon: Transporte genannt. Das Transportwesen in SAP ist ein wichtiges Werkzeug, um Eigenentwicklungen ins produktive System zu überführen. Da es jedoch keine detaillierte Überprüfung an den Transportobjekten vornimmt, stellt sich erst nach dem Einspielen heraus, ob sich die Anpassungen ohne negative Auswirkungen einfügen lassen.
Daher sollten bereits in der Build-Phase automatische Sicherheits- und Qualitätstests erfolgen. Darüber hinaus stellt die Integration dieser Prüfungen in den Change Prozess sicher, dass die Anpassungen im produktiven SAP-System keine kritischen Einstellungen verändern oder unbeabsichtigt Daten überschreiben.Laufzeit-Umgebung / Betrieb
Da jede Änderung das Laufzeit-Verhalten eines Systems beeinflusst, kann damit auch eine Verschlechterung des Sicherheitsniveaus verbunden sein - zum Beispiel dann, wenn durch eine neue Konfiguration eine Protokollierung deaktiviert wird. Um dies zu vermeiden, sollte der Systembetrieb zyklisch mit geeigneten Testwerkzeugen überprüft werden. Kommt es dabei zu einem Sicherheitsvorfall, muss der System-Administrator sofort einen entsprechenden Alarm erhalten.
Prüfwerkzeuge nahtlos miteinander koppeln
Zahlreiche Praxisbeispiele belegen: Bereits bei der herkömmlichen Programmierung im SAP-Umfeld sind IT-gestützte Tests unverzichtbar, um Sicherheitslücken im Code und in den Anwendungen rechtzeitig erkennen und korrigieren zu können. Dies gilt umso mehr für das DevOps-Konzept, das einen permanent großen Durchsatz mit Agilität und hohen Qualitätsansprüchen kombiniert. Um bei DevOps auf der sicheren Seite zu sein, sollten Unternehmen durchgängig in jeder Phase des Software-Produktlebenszyklus Prüfwerkzeuge einsetzen, die direkt in die DevOps-Umgebung integriert werden und einen hohen Automatisierungsgrad gewährleisten.
Für welche Sicherheitswerkzeuge sich ein Unternehmen dabei auch immer entscheidet: Wichtig ist, dass die einzelnen Komponenten nahtlos integriert und miteinander gekoppelt werden können, damit keine Medienbrüche entstehen. Denn ansonsten droht die Gefahr, dass schnell der Überblick verlorengeht und vorhandene Fehler- oder Mängellisten übersehen werden.