Einführung
Wir wurden von der Finanzsparte eines deutschen Automobilkonzerns beauftragt, eine AWS-Plattform mit mehreren Umgebungen aufzubauen, die als Proxy für Finanztransaktionen von den bestehenden Händleranwendungen des Kunden zu externen Zahlungsgateway-Anbietern dient. Da die Plattform Live-Kartentransaktionen verarbeitet, mussten die Produktionssysteme den Anforderungen des Payment Card Industry Data Security Standard (PCI DSS)konform sein.
ITGix betreibt sowohl Managed-Services- als auch Professional-Services-Bereiche, wodurch wir über das nötige Fachwissen verfügen, um Infrastrukturen dieser Art von Anfang bis Ende zu konzipieren und zu implementieren. Unser Team verfügt über umfangreiche Erfahrung bei der Umsetzung von Projekten mit komplexen Sicherheits- und Compliance-Anforderungen in den Finanz-, Fintech- und Bankensektorsowie für Anbieter von Software für den digitalen Zahlungsverkehr. Unser Fokus liegt auf Automatisierung, „Infrastructure as Code“sowie auf AWS-Architekturen, die auf den neuesten Sicherheits- und Betriebs-Best-Practices für die Finanzbranche.
Audit und Voraussetzungen
Wir begannen mit einer Prüfungs- und Erfassungsphase, um den Projektumfang abzugrenzen und die Anforderungen an Infrastruktur und Software zu definieren. In Zusammenarbeit mit den Softwareentwicklern des Kunden erstellten wir einen Architekturentwurf, der vier Umgebungen umfasst: drei Nicht-Produktionsumgebungen und eine Produktionsumgebung für Karteninhaberdaten (Cardholder Data Environment, CDE). Die Produktionsumgebung ist diejenige, die über eine PCI-DSS-Zertifizierung verfügt.
Die Herausforderung
Die Plattform musste hochverfügbar, skalierbar und sicher sein – und sie musste alle Sicherheits- und Compliance-Anforderungen für die PCI-DSS-Zertifizierung erfüllen.
Die Lieferfristen waren streng. Ein PCI-Zertifizierungsaudit war bereits für drei Monate nach Beginn der Analyse- und Entwurfsphase angesetzt. Innerhalb dieses Zeitraums musste das Produktionssystem vollständig aufgebaut und bereit für die Zertifizierung, Penetrationstests sowie Tests zur Skalierbarkeit und Zuverlässigkeit der Anwendung sein.
Die Lösung
Unser Ziel war es, jeden Bestandteil des Lebenszyklus der Infrastruktur sowie der Anwendungsentwicklung und -bereitstellung vollständig zu automatisieren und dabei alle Sicherheits- und Compliance-Anforderungen in diese Automatisierung einzubeziehen, sodass keinerlei manuelle Konfiguration mehr erforderlich war.
AWS-Architektur
Die Plattform erstreckt sich über 9 AWS-Konten:
- 1 Common-Services-Konto, auf dem gemeinsam genutzte Repositorys gehostet werden.
- 4 Anwendungskonten – darunter die produktive, PCI-DSS-zertifizierte Umgebung, in der Live-Kartendaten gespeichert sind.
- 4 Protokollierungskonten – dienen dazu, Protokolle aus den Anwendungskonten an einem zentralen Ort zusammenzufassen.
Der Zugriff auf alle AWS-Konten wird über eine SAML-Integration mit dem Identitätsanbieter Keycloak zentral verwaltet. Der Zugriff auf die Produktionsumgebung ist zeitlich begrenzt – in der Regel auf die Dauer einer bestimmten Wartungs- oder Bereitstellungsaufgabe beschränkt – und wird erst nach einer Reihe von Genehmigungen gewährt. Zusätzliche Kontrollmaßnahmen beschränken den Zugriff auf die Produktionsumgebung auf PCI-DSS-konforme Laptops und zugelassene Netzwerke.

Im weiteren Verlauf des Projekts wurde GitLab durch Azure DevOps-Repositorys und CI/CD-Pipelines ersetzt, wodurch die gesamte Kundenautomatisierung unter der vom Kunden bevorzugten CI/CD-Toolchain zusammengefasst wurde.
AWS-Produktionsumgebung
Die Produktionsumgebung verbindet die Händleranwendungen mit externen Zahlungsgateways und verarbeitet dabei Live-Kartendaten in verschlüsselter Form.

Diese Konfiguration hat sich im Laufe des Projektzyklus weiterentwickelt, insbesondere nach der Zertifizierung. Die bedeutendste Änderung war die Einführung der AWS Network Firewall, die standardmäßig den gesamten ausgehenden Datenverkehr aus der Infrastruktur blockiert und bestimmte Domänen für HTTP-/TLS-Datenverkehr auf eine Whitelist setzt.
CI/CD-Automatisierungspipelines
Die gesamte Infrastruktur wurde gemäß den Best Practices für „Infrastructure as Code“ unter Verwendung von Terraform und CI/CD-Pipelines aufgebaut. Die Anwendungskomponenten laufen auf Kubernetes über Amazon EKS, wobei ihr Lebenszyklus vom Erstellen bis zur Bereitstellung über Docker-Images und Helm-Charts innerhalb der Pipelines abgewickelt wird.
Die Pipelines erstellen während der CI-Phase eigenständige, versionierte Docker-Images der Infrastruktur und des Anwendungscodes und stellen dieselben Images während der CD-Phase in jeder Umgebung bereit. Zwei der Nicht-Produktionsumgebungen hosten einen GitLab-/Azure-DevOps-Runner, wodurch CI-Pipelines innerhalb des internen AWS-Netzwerks ausgeführt werden können. Die CD-Pipelines stellen anschließend die vorgefertigten Images bereit. Dies erfolgt über die von AWS verwalteten CI/CD-Dienste CodeBuild und CodePipeline, die speziell ausgewählt wurden, da bestimmte PCI-DSS-Anforderungen mit externen Tools nicht erfüllt werden konnten.

Protokollierung
Alle Protokolle werden – mithilfe verschiedener Tools – in CloudWatch-Protokollgruppen gesammelt. Eine benutzerdefinierte Lambda-Funktion strukturiert die Protokolle anschließend neu und leitet sie an eine Elasticsearch-Instanz in einem dedizierten Protokollierungskonto weiter, wo sie aggregiert, indiziert und in Kibana visualisiert werden.

Überwachung
Die Überwachung ist direkt in die Automatisierung integriert – eingebettet in die Terraform-Module, Helm-Charts und Pipelines –, sodass jede Komponente über eigene Warnmeldungen verfügt, sei es für von AWS verwaltete Dienste, die Überwachung von URLs/Endpunkten oder Metriken auf Anwendungsebene. Den Kern des Überwachungs-Stacks bilden CloudWatch, synthetische Canary-Checks, Prometheus mit Alertmanager und Grafana.
Die Schlussfolgerung
Trotz strenger Fristen und anspruchsvoller Sicherheits- und Compliance-Anforderungen haben wir das Projekt termingerecht und ohne Abstriche bei der durchgängigen Automatisierung abgeschlossen. Die produktive „Cardholder Data Environment“ des Kunden wurde erfolgreich zertifiziert, und wir betreuen die Plattform weiterhin im Rahmen eines laufenden Managed-Services-Vertrags.
Die Ergebnisse
- PCI-DSS-Zertifizierung termingerecht erreicht – das Produktions-CDE wurde innerhalb der dreimonatigen Audit-Frist zertifiziert.
- 100 % Infrastructure-as-Code – alle 9 AWS-Konten wurden über Terraform bereitgestellt, ganz ohne manuelle Konfiguration.
- Kein ständiger Zugang zur Produktion – jeder Zugang durch Personen ist nur vorübergehend und wird erst nach einem mehrstufigen Genehmigungsverfahren gewährt.
- Standardmäßig wird ausgehender Datenverkehr blockiert – der gesamte ausgehende Produktionsdatenverkehr wird von der AWS Network Firewall blockiert, wobei bestimmte Domänen für HTTP/TLS ausdrücklich in der Zulassungsliste aufgeführt sind.
- Von Grund auf gut durchdacht – Die Best Practices des AWS Well-Architected Framework werden in allen vier Umgebungen angewendet.
- Vollautomatisierte CI/CD-Pipelines – alle Änderungen an der Infrastruktur und an den Anwendungen werden über CI/CD-Pipelines mit einem Genehmigungsverfahren bereitgestellt.