Worum geht es?
Wenn Entwicklung und Test in der Produktionsumgebung stattfinden oder Zugriff auf Produktivsysteme besteht, kann das schnell schiefgehen: ungeprüfte Änderungen, instabile Systeme, nicht freigegebener Code oder Abfluss vertraulicher Informationen.
Darum sollte klar festgelegt werden, wie Entwicklung, Test/Staging und Produktion getrennt werden – und diese Trennung muss auch im Alltag funktionieren (z. B. getrennte Konten, getrennte Netze oder getrennte Mandanten).
Was empfiehlt die ISO 27002?
Die ISO 27002 schlägt in Kapitel 8.31 klare Regeln und technische Maßnahmen vor, damit Umgebungen nicht vermischt werden und Änderungen kontrolliert in die Produktion gelangen.
Bei der Festlegung des Trennungsgrades sollten insbesondere folgende Punkte berücksichtigt werden:
- Trennung von Entwicklungs- und Produktionssystemen und Betrieb in unterschiedlichen Domänen (z. B. getrennte virtuelle Netzwerke/VLANs, eigene Server).
- Regeln und Genehmigungen für den Übergang vom Entwicklungs- zum Produktionsstatus (Change-Request, Release-Freigabe, dokumentierter Deploy).
- Prüfung und Abnahme jeglicher Änderungen an Produktionssystemen und -anwendungen in einer Test- oder Staging-Umgebung, bevor sie in der Produktion umgesetzt werden.
- Keine Arbeiten oder Tests in Produktionsumgebungen, außer wenn die Umstände vorher definiert und genehmigt sind (z. B. Notfalltest außerhalb der Geschäftszeiten, mit Rollback-Plan).
- Entwicklungswerkzeuge (z. B. Compiler, Editoren, Admin-Tools) stehen auf Produktionssystemen nicht zur Verfügung (z. B. getrennte Admin-Jump-Hosts, gesperrte Ports, getrennte Tool-Server).
- Geeignete Umgebungskennzeichnungen werden sichtbar angezeigt, um Fehler zu vermeiden (z. B. Banner „PRODUKTION“, farbliche Kennzeichnung, getrennte URLs).
- Keine Kopie sensibler Informationen in Entwicklungs- und Testumgebungen, außer sie ist rechtlich erlaubt und es sind gleichwertige Schutzmaßnahmen vorhanden.
Auch Entwicklungs- und Testumgebungen (inkl. Integrations- und Build-Werkzeugen) müssen gut geschützt sein. Typische Maßnahmen sind:
- Regelmäßige Patches und Updates auch für Tools und Komponenten;
- Sichere Konfiguration der Systeme und Software (z. B. Härtung, keine Standardpasswörter, sichere Defaults);
- Zugriffskontrolle auf die Umgebungen (z. B. Rollen/Berechtigungen, MFA, getrennte Admin-Accounts);
- Überwachung von Änderungen an der Umgebung und am Code (z. B. Audit-Logs, Repo-Historie, Alarm bei ungewöhnlichen Änderungen);
- Sichere Überwachung sowie Backups der Umgebungen (z. B. zentraler Log-Speicher/SIEM, regelmäßige Wiederherstellungstests).
Wichtig ist außerdem eine geeignete Aufgabentrennung: Eine einzelne Person sollte nicht ohne Prüfung und Genehmigung Änderungen sowohl in der Entwicklung als auch in der Produktion durchführen können (z. B. getrennte Rollen „Developer“ und „Operator“, Vier-Augen-Prinzip per Pull-Request/Change-Freigabe). Ausnahmen sollten selten sein und durch zusätzliche Protokollierung und gute Überwachung abgesichert werden.
Fazit
Die Trennung von Entwicklungs-, Test- und Produktionsumgebungen ist wichtig für einen stabilen Betrieb und den Schutz produktiver Daten. Ohne klare Abgrenzung, geregelte Freigaben und wirksame Überwachung steigen die Risiken für ungeprüfte Änderungen, Ausfälle und Datenabflüsse.
Organisationen sollten daher zeitnah prüfen,
- ob Entwicklungs-, Test-/Staging- und Produktionsumgebungen angemessen getrennt sind;
- ob Regeln und Genehmigungen für Releases/Änderungen in die Produktion definiert und eingehalten werden;
- ob Entwicklungs- und Testumgebungen ausreichend geschützt werden;
- ob eine Aufgabentrennung zwischen Entwicklung und Produktion umgesetzt ist.
Wo Defizite bestehen, sind Maßnahmen dringend erforderlich: Trennkonzepte nachschärfen, Freigabe- und Testprozesse verbindlich machen, Zugriffsrechte konsequent trennen und Überwachung etablieren. So wird verhindert, dass Entwicklungs- und Testtätigkeiten den Produktionsbetrieb oder produktive Daten beeinträchtigen.