In der IBM i-Welt sind die Anwendungsökosysteme umfangreich, komplex und tief integriert. Anders als verteilte Systeme bestehen IBM i-Anwendungen aus Tausenden von Einzelobjekten – Programmen, Datenbereichen, Dateien, Serviceprogrammen und mehr –, die über mehrere Bibliotheken und Umgebungen verteilt sind, darunter Entwicklung, Test und Produktion. Die Integrität, Synchronisierung und Sicherheit dieser Objekte zu gewährleisten, ist unerlässlich für den reibungslosen Betrieb und die Einhaltung gesetzlicher Bestimmungen.
IBM i-Anwendungen sind grundsätzlich objektbasiert. Jedes Objekt erfüllt eine spezifische Funktion, befindet sich in einer Bibliothek und verfügt über Attribute wie Eigentümerschaft, Berechtigungen und Abhängigkeiten zu anderen Objekten. Beispielsweise kann ein Programmobjekt von einem Serviceprogramm oder einer Datenbankdatei abhängen, die für den ordnungsgemäßen Betrieb der Anwendung die korrekte Version aufweisen muss.
Da diese Objekte als Binärdateien bereitgestellt werden – und nicht wie in vielen verteilten Systemen zur Laufzeit dynamisch aus dem Quellcode erstellt werden – ist es besonders wichtig, die korrekten Versionen aller Objekte in jeder Umgebung zu verfolgen und zu überprüfen.
Betriebs- und Entwicklungsteams müssen eng zusammenarbeiten, um die Konsistenz von IBM i-Objekten in Entwicklung, Test und Produktion sicherzustellen. Ohne einen koordinierten DevSecOps-Prozess kann es leicht zu Inkonsistenzen kommen: Veraltete Binärdateien, fehlerhafte Berechtigungseinstellungen, nicht korrekt kompilierte Abhängigkeiten und unautorisierte Änderungen können Betriebsrisiken bergen.
Diese Diskrepanzen können zu Anwendungsfehlern, Sicherheitslücken, Beanstandungen bei Prüfungen und finanziellen Einbußen führen.
Das Risiko steigt, wenn Notfallkorrekturen direkt in der Produktionsumgebung angewendet werden. Obwohl dies oft notwendig ist, um dringende Probleme zu beheben, umgeht diese Vorgehensweise formale Änderungskontrollprozesse, Quellcode-Repositories und Prüfprotokolle. Werden diese Änderungen nicht nachträglich in Entwicklungs- und Testsysteme integriert, kann eine Abweichung von der Produktionsumgebung unbemerkt fortbestehen.
Im schlimmsten Fall könnten Produktionsumgebungen durch böswillige Änderungen kompromittiert werden. Da IBM i-Objekte beim Deployment nicht aus dem Quellcode neu erstellt werden, könnte ein Angreifer mit Zugriff auf die Produktionsumgebung schädliche Binärdateien einschleusen, die bei herkömmlichen Quellcode-Reviews unsichtbar bleiben.
Eine effektive DevSecOps-Strategie für IBM i erfordert mehr als Quellcodeverwaltung – sie verlangt eine umfassende Governance auf Objektebene. Zu den wichtigsten Praktiken gehören:
Selbst mit einer dokumentierten Stückliste für jede Version reicht eine Liste der erwarteten Objekte nicht aus. Sie müssen sicherstellen, dass die tatsächlich in der Produktion verwendeten Objekte mit den in der Entwicklung und der Quellcodeverwaltung vorgesehenen Objekten übereinstimmen.
Abweichungen können zu Fehlern bei der Prüfung, betrieblichen Inkonsistenzen und – im schwerwiegendsten Fall – zu Geschäftsunterbrechungen durch die Ausführung von Schadcode führen.
Die Folgen eines fehlgeschlagenen Audits sind erheblich: behördliche Strafen, Reputationsschäden, Betriebsverzögerungen und finanzielle Verluste. Unternehmen können gezwungen sein, Implementierungen zu stoppen, Systeme erneut zu validieren oder den Betrieb einzustellen, bis die Compliance wiederhergestellt ist.
In IBM i-Umgebungen geht es bei DevSecOps nicht nur um die Automatisierung von Pipelines, sondern um die Wahrung von Integrität und Vertrauen in jeder Umgebung, Objekt für Objekt. Gängige Versionskontrollsysteme wie Git eignen sich zwar hervorragend für die Quellcodeverwaltung, unterstützen aber die objektbasierte Architektur von IBM i nicht nativ. Ihnen fehlt die Möglichkeit zu bestätigen, ob das in der Produktion bereitgestellte Objekt aus dem Quellcode im Repository erstellt wurde.
Diese Lücke verdeutlicht den Bedarf an zusätzlichen, IBM i-spezifischen Verifizierungswerkzeugen und -prozessen, um das operative Vertrauen und die Compliance aufrechtzuerhalten.
Der Erfolg von DevSecOps auf IBM i hängt nicht nur von der Automatisierung ab, sondern auch von der rigorosen und kontinuierlichen Überprüfung der Objektintegrität in Entwicklungs-, Test- und Produktionssystemen. Da IBM i-Anwendungen als Binärobjekte erstellt und bereitgestellt werden – oft unabhängig von Quellcode-Repositories – reichen herkömmliche Versionskontrollsysteme allein nicht aus, um die Produktionsgenauigkeit zu gewährleisten.
Um Compliance-Problemen, Sicherheitsbedrohungen und Betriebsunterbrechungen vorzubeugen, müssen Unternehmen objektorientierte DevSecOps-Praktiken einführen. Dazu gehören eine lückenlose Nachverfolgung, revisionssichere Bereitstellungsprozesse, eine proaktive Umgebungssynchronisierung und sorgfältige Berechtigungsprüfungen.
Effektives DevSecOps auf IBM i bedeutet letztendlich, zu überprüfen, was tatsächlich läuft – und nicht nur, was dokumentiert ist.
Modernisierung des Enterprise mit dem IBM z17 Einzelrahmen- und Rack-Montagesystem [...]
Die Modernisierungspflichten im Versicherungswesen meistern
Die Navigation durch das Modernisierungsparadoxon
