Best Practices-Leitfaden für eine sichere Entwicklung

Vorbeugung

DevSecOps-Leitfaden

Geheimnisse sicher verwalten: Es wird empfohlen, einen Geheimnismanager zu verwenden (z. B. Devolutions: Enterprise Password Manager). Es ist auch wichtig sicherzustellen, dass keine hartcodierten Geheimnisse im Quellcode, in den Auftragsereignisprotokollen oder in den Coderepositorys vorhanden sind.

Bieten Sie automatisierte Sicherheitstests im CI/CD-Prozess an: Nicht-Regressionstests (um neue Schwachstellen zu vermeiden), Abdichtung zwischen Benutzerprofilen, statische und dynamische Analysetests, IaC-Compliance-Tests (Infrastructure as Code).

Sichern Sie die Produktionsbereitstellung von Anwendungen, indem Sie die Integrität des Quellcodes durchgängig beibehalten und die Signaturen von Artefaktversionstags signieren und überprüfen.

Implementieren Sie die Multi-Faktor-Authentifizierung für den Zugriff auf das Code-Repository und die Commit-Signierung.

Trennen Sie CI/CD-Infrastrukturen für Entwicklung und Produktion und stellen Sie sie nicht direkt dem Internet zur Verfügung.

Instanziieren Sie die CI/CD-Infrastruktur regelmäßig neu und speichern Sie keine persistenten Daten darauf.

Achten Sie auf die Vertraulichkeitsanforderungen der CI/CD-Infrastruktur (z. B. Lokalisierung, Testen des Quellcodes in öffentlichen SaaS-Lösungen).

Eingaben validieren:  Nur zulässige Zeichenfolgen zulassen. Wenn es sich bei dem Feld um ein Datumsfeld handelt, können Sie nur ein Datum in einem streng definierten Format eingeben. 

Alle Daten sollten bereinigt und fehlerfrei sein, bevor sie an andere Anwendungen oder Systeme gesendet werden.

Respektieren und wenden Sie das Prinzip der geringsten Privilegien an: Einer Aufgabe sollten nur die unbedingt erforderlichen Berechtigungen gewährt werden. Erzwingen Sie keine Eskalation von BerechtigungenJede Änderung des Zugriffs muss überwacht werden.

Verteidigung in der Tiefe: Sicherheit, und insbesondere die secure by design, erfolgt auf mehreren Ebenen. Defense in Depth wird auf alle Elemente Ihrer Umgebung und Ihrer Anwendungen ausgelegt und angewendet.