Aktuelles, Branche, Gastbeiträge - geschrieben von am Mittwoch, Februar 20, 2019 16:03 - noch keine Kommentare

Anwendungsvirtualisierung: Beim Umstieg auf Container ist Know-how entscheidend

Veränderungen stellen IT-Sicherheritsteams vor Herausforderungen

Von unserem Gastautor Marco Rottigni, CTSO bei Qualys

[datensicherheit.de, 20.02.2019] Container werden zur Bereitstellung von Anwendungen immer beliebter. Ob Kubernetes- oder Docker-gestützt: Container erleichtern es, Anwendungskomponenten auszuliefern und in öffentlichen oder hybriden Cloud-Umgebungen zu betreiben. Sie bieten eine Möglichkeit, Mikroservice-Komponenten von der zugrundeliegenden Hardware oder Cloud-Lösung zu abstrahieren, was unter anderem dazu beiträgt, Lock-in-Effekte zu vermeiden. Für Ihr IT-Sicherheitsteam bringt der Wechsel zu Containern jedoch einige Veränderungen mit sich.

Genau wie die traditionelle IT-Infrastruktur müssen auch Container verstanden und verwaltet werden. Ohne entsprechende Erkenntnisse ist es schwierig, die Images auf dem neuesten Stand zu halten und ihre Sicherheit zu gewährleisten. Wie ist aber nun möglich pragmatisch an Container, ihre Sicherheit und Nachverfolgung heranzugehen?

Marco Rottigni, CTSO bei Qualys

Bild: Qualys

Marco Rottigni, CTSO bei Qualys

Container finden

Als Erstes sollte überprüft werden, ob innerhalb des Unternehmens Containertechnologien genutzt werden und wenn ja, wo sie sich befinden. Das mag einfach klingen, doch Entwicklerteams können leicht eigene Anwendungen in der Cloud erstellen und ausführen, ohne von Anfang an andere IT-Teams mit einzubeziehen. Es lohnt sich auch herauszufinden, wie viele Implementierungen im gesamten Unternehmen existieren und für welche Zwecke sie genutzt werden.

Wenn Container gefunden werden, ist es wichtig zu prüfen, welcher Anteil des gesamten Softwareentwicklungsprozesses auf diesem Ansatz basiert. Die Arbeitsweisen in der Entwicklung wirken sich oft auf das gesamte Unternehmen aus – wenn also Projekte anfänglich in Containern entwickelt werden, dann werden die Test-, Qualitätssicherungs- und Produktionsinstanzen im Laufe der Zeit auch in Container wandern. Dies kann dazu führen, dass zahlreiche Plattformen und Instanzen parallel genutzt werden.

Um die Kontrolle zu behalten, sollten festgestellt werden, wie gut die Sicht auf die verschiedenen IT-Ressourcen derzeit ist. Auf diese Weise sieht man, wo bereits ein guter Überblick herrscht und wo zusätzliche Daten benötigt werden. Außerdem kann so leichter demonstriert werden, wie die Transparenz in der IT im Laufe der Zeit verbessert werden kann.

Werden Lücken festgestellt haben, ist es notwendig die Art von Informationen zu ermitteln, die fehlen. Bei Containern kann es schwierig sein, Daten zu den genutzten Images zu gewinnen, wenn nicht vorausgedacht wurde. Zeigt sich beispielsweise, dass Container in einem Cloud-Service bereitgestellt werden, woher soll dann bekannt sein, wie viele einzelne Images gleichzeitig ausgeführt werden?

Um diese Daten zu erhalten, müssen in jeden entwickelten Standard-Container Agenten eingebettet sein. Werden diese Sensoren in jedes einzelne Container-Image eingebunden, kann jeder Container automatisch Statusdaten zurückmelden. So herrscht Klarheit darüber, wie viele Images genutzt werden, welche Softwarepakete in der Laufzeitumgebung enthalten sind und ob diese Pakete auf dem neuesten Stand sind.

Kontinuität erforderlich

Bei all dem ist jedoch Kontinuität gefordert. Da Container nach Bedarf automatisch erstellt und entfernt werden können, müssen die containerisierten Anwendungen während ihres gesamten Lebenszyklus laufend bewertet und geschützt werden: von der Erstellung der Anwendungen über den Zeitpunkt, an dem sie in Images verpackt und an die Container-Registry gesendet werden, bis hin zur Bereitstellung der Images als laufende Anwendungscontainer-Instanzen.

Dieser Ansatz muss die Bewertung und Richtliniendurchsetzung für alle beweglichen Komponenten in den verwendeten Containern umfassen. Er muss sich also sowohl auf den Infrastruktur-Stack des Containers erstrecken als auch auf den gesamten Lebenszyklus einer containerisierten Anwendung. Diese beiden Bereiche – Stack und Lebenszyklus – müssen exakt aufeinander abgestimmt werden. Und noch wichtiger: Die hier gewonnenen Informationen sollten mit den Daten zu den herkömmlichen IT-Assets zusammengefasst werden. So kann eine Priorisierung aller anstehenden Probleme stattfinden – unabhängig davon, wo sie bestehen.

Prozesse schützen, nicht nur Technologien

Container werden häufig im Rahmen agiler Entwicklungs- und DevOps-Prozesse eingesetzt. Sollte festgestellt werden, dass die Teams mit Containern arbeiten, sollte auch die breitere CI/CD (Continuous Integration/Continuous Deployment)-Pipeline in Augenschein genommen werden, in der ebenfalls eine Verwendung von Containern stattfindet. Mithilfe von CI kann die Softwareentwicklung in kleinere, überschaubarere Aufgaben untergliedert werden, die sich schnell umsetzen lassen. CD wiederum ermöglicht es, die Entwicklungsprojekte zu testen und in die Produktion zu bringen.

Damit CI/CD-Implementierungen effektiv sind, müssen diese Dienste automatisiert und integriert werden. Auf diese Weise können die Entwickler ihre neuen Softwareprojekte schnell testen und in die Produktion überführen. Weitere Integrationen mit Cloud-Diensten können den Entwicklern und Betriebsteams helfen, Implementierungen gemeinsam automatisch zu skalieren, um dem aktuellen Bedarf zu entsprechen. Tools wie Jenkins, CircleCI oder Travis CI können zur Beschleunigung dieser Prozesse beitragen, automatisieren aber nur die Schritte, die Sie einbeziehen.

Für Sicherheitsexperten, die sich mit dem Schutz von Containern beschäftigen, reicht es nicht, einfach zu sagen, dass die Sicherheit von Anfang an berücksichtigt werden sollte. Stattdessen müssen sie untersuchen, wie Sicherheitsmaßnahmen während des gesamten DevOps-Lebenszyklus einen Mehrwert für die Entwickler schaffen und dem Sicherheitsteam alle notwendigen Daten zum Status von IT-Ressourcen und Infrastrukturen zur Verfügung stellen können.

So kann den Entwicklern beispielsweise geholfen werden, indem die Möglichkeit geboten wird, selbst Tests auf potenzielle Sicherheitslücken in Softwarekomponenten oder -bibliotheken durchzuführen. Diese Aufgabe kann als Teil der Entwicklungs-Workflows automatisiert werden; alle entdeckten Probleme können automatisch in die Bugtracking-Software aufgenommen und dann behoben werden. Die Meldung von Sicherheitsproblemen, die beim Scannen von Anwendungen oder bei der Überprüfung von Container-Images entdeckt wurden, kann auf diese Weise „entpolitisiert“ werden. Dies wird allen deutlich machen, dass das Sicherheitsteam den Softwareentwicklungsprozess vereinfachen möchte.

Wenn Teams Container verwenden, muss dieser Scanprozess alle Orte abdecken, an denen Images existieren können. Dazu zählen alle Software-Assets, die in den Containern verwendet werden, alle Container-Images, die in der unternehmenseigenen Bibliothek gespeichert sind, alle Container-Images, die aus öffentlichen Bibliotheken bezogen werden, und die Container selbst, wenn sie ausgeführt werden.

Mithilfe dieser Informationen können die Entwickler besser erkennen, wo sie in ihren Containern Probleme beheben müssen – und es wird sichtbar, wo die Sicherheitsrisiken liegen. Die Mitwirkung am Erkennungsprozess kann den Entwicklern helfen, selbst Verantwortung dafür zu übernehmen und Risiken leichter zu minimieren. Und was noch wichtiger ist: Diese Informationen können im Kontext anderer Plattformen und Infrastrukturen erhalten werden.

Nutzt man in diesem Zusammenhang einen fortschrittlichen Asset-Management-Service, wird von Anfang an für Container-native Übersicht und Sicherheit gesorgt. Dieser Prozess muss sich auch nahtlos in die bestehende CI/CD-Pipeline des Unternehmens integrieren lassen, damit jeder Container richtig verwaltet und protokolliert wird. Und schließlich sollte das Asset-Management auch die Überwachung aller Container zur Laufzeit umfassen, damit jede Änderung an einem Image selbst aufgezeigt werden kann.

Um Daten schützen zu können, müssen die IT-Sicherheitsteams Einblick in den Status sämtlicher IT-Ressourcen des Unternehmens gewinnen – ob es sich nun um herkömmliche physische Server oder Endpunkte im Firmennetzwerk handelt oder um neue Anwendungen, die in Containern in einer Public Cloud bereitgestellt werden. Ohne diese Informationen über sämtliche Vorgänge können potenzielle Risiken leicht übersehen werden. Angesichts der Veränderungen, die Container für die Entwicklung und Nutzung von Anwendungen bringen, ist es jedoch wichtig, einen pragmatischeren Ansatz zu verfolgen, um diese Daten überhaupt zu erhalten. Werden diese Veränderungen in der Softwareentwicklung verstanden, kann man die Sicherheit frühzeitig in den Prozess einbinden. Und zugleich kann durch die Zentralisierung der Asset-Daten besser entschieden werden, wo Sicherheitsressourcen vorrangig eingesetzt werden sollten.

Weitere Informatione zum Thema:

datensicherheit.de, 06.11.2018
Endpoint-Security – eine Bilanz

datensicherheit.de, 18.10.2018
IT-Sicherheitsstrategie: Datenverschlüsselung in der Cloud wird wichtiges Kriterium

datensicherheit.de, 17.09.2018
Lacework: Tausende ungeschützte Containerverwaltungen entdeckt



Kommentieren

Kommentar

Kooperation

TeleTrusT

Mitgliedschaft

German Mittelstand e.V.

Mitgliedschaft

BISG e.V.

Multiplikator

Allianz für Cybersicherheit

Datenschutzerklärung