bluebay2014 - stock.adobe.com
Automatisierte Sicherheitstests mit NetSecOps
Netzwerkteams können mit Hilfe von DevOps-Konzepten Sicherheitstests automatisieren. Die Herausforderung: Dabei vermischen sich Entwicklungs-, Netzwerk- und Sicherheitsaufgaben.
Es gibt zwei Sichtweisen auf die NetOps-Idee: Die minimalistische Betrachtung sieht NetOps als einzelnes Netzwerkthema, das DevOps-Leute bereits umsetzen. In der umfassenden Perspektive wird das gesamte Netzwerk im DevOps-Stil betrieben. In beiden Fällen muss Sicherheit ein Schlüsselfaktor bei der Umsetzung sein.
Sicherheit sollte natürlich ein integraler Bestandteil jeder DevOps-Arbeit sein – man spricht hier oft von DevSecOps. Es ist daher ebenso sinnvoll, NetSecOps zu sagen, um zu betonen, dass die Netzwerksicherheit genauso wichtig ist wie die Sicherheit von Anwendungen bei jeder DevOps-Arbeit.
NetSecOps überträgt die Praktiken von DevOps auf den Netzwerkbereich mit dem Ziel, die Netzwerksicherheit zu verbessern und gleichzeitig das Netzwerk agiler zu machen, um den Anforderungen neuer Workloads und Business-Services gerecht zu werden. Dies gelingt durch automatisierte Sicherheitstests.
NetSecOps sollte mehr Optionen zur Automatisierung von Sicherheitstests für Netzwerke bieten als viele Entwicklungs- und Produktionsumgebungen. Dies ist möglich, weil DevOps die Idee des automatisierten Testens in jeder Phase des Entwicklungsprozesses integriert. Im Gegensatz dazu erfolgen die meisten aktuellen Sicherheitstests manuell und werden erst am Ende einer Entwicklungsarbeit durchgeführt.
Darüber hinaus machen es Bibliotheken mit sicherem Konfigurationscode einfacher denn je, die Sicherheitsrichtlinien und Best Practices konsequent einzuhalten. Dieser Code lässt sich kontinuierlich verbessern und mittlerweile einfacher als in der Vergangenheit auf alle Dienste ausweiten – wiederum dank der Möglichkeit, Sicherheitstests zu automatisieren.
Automatisierte Sicherheitstests funktionieren nur in Teamarbeit
Um das kombinierte Ziel Agilität mit Sicherheit zu erreichen, verfolgt NetSecOps einen Infrastructure-as-code-Ansatz (IAC) für das gesamte Netzwerk – nicht nur im Rechenzentrum. Es setzt bevorzugt auf Netzwerkvirtualisierung, die Idee eines softwaredefinierten Perimeters (SDP), Mikrosegmentierung sowie Software-defined Networking (SDN) im weiteren Sinne. Dazu gehören die Umstellung auf virtualisierte Netzwerkgeräte, die Virtualisierung von Netzwerkfunktionen und White-Boxing.
Auf organisatorischer Ebene baut NetSecOps die Trennung zwischen den Sicherheits-, Netzwerk-, Entwickler- und Systemadministrations-Teams weiter ab oder beseitigt sie sogar. Aber es gibt eine große Herausforderung: NetSecOps erschwert das Management der Aufgabentrennung (SoD, Segregation of Duties). SoD ist ein wesentliches Prinzip der IT-Sicherheit und kann nicht aufgegeben werden. Denn SoD ist nicht nur Best Practice, sondern wird manchmal auch durch Gesetze oder Vorschriften vorgeschrieben.
Um die unscharfe Trennlinie auf Abteilungsebene zu kompensieren, müssen Teams die Aktivitäten von Einzelpersonen verfolgen, wenn sie Sicherheitstests automatisieren. So können sie beispielsweise Collaboration-, Aufgaben- und Code-Management-Tools nutzen, um sicherzustellen, dass derjenige, der Sicherheitsrichtlinien entwickelt, die in einem Teil eines Campus-Netzwerks kodiert sind, den Code nicht auch überprüft, testet oder genehmigt. Dieser Prozess sollte natürlich auch auditierbar sein.
Fazit
NetSecOps sieht die Sicherheit einer Anwendung als Teil des Entwicklungsprozesses und nicht als eine extern auferlegte Hürde, die nach der Entwicklung genommen werden muss – als etwas, das den gesamten Prozess verlangsamt. Diese Wahrnehmung hatte allzu oft zur Folge, Sicherheitstests zu umgehen, zu komprimieren oder abzukürzen, um die Bereitstellung und den Marktstart von Anwendungen zu beschleunigen. Das Konzept NetSecOps erklärt Sicherheit hingegen zu einer obligatorischen Mindestfunktion einer Anwendung.