Netzwerksicherheit im Container-Zeitalter
Eines der guten Dinge daran, seit vielen Jahren in der Branche tätig zu sein, ist die Tatsache, dass wir beobachten können, wie sich die Trends zur Netzwerksicherheit im Rechenzentrum entwickelt haben, und auf der Grundlage gemeinsamer Muster und Intuition vorhersagen können, was als nächstes kommt.
Netzwerk- und Sicherheitsgrenzen ändern sich
Vor fünfzehn Jahren war die Netzwerksicherheit im Rechenzentrum ziemlich einfach. Layer-2-Protokolle waren absolute Könige in ihrem Bereich und die Firewall konnte am Rand sitzen, um das Internet oder eine WAN-Verbindung zu schützen. Die Server für eine bestimmte Anwendung waren alle im selben Rack verbunden, und die Grenze zwischen den verschiedenen Teilen der Infrastruktur war klar definiert. Die Segmentierung war ziemlich einfach.

Einige Jahre später, um all diese Server zu konsolidieren und die Konnektivität zu vereinfachen, gewannen Chassis- und Blade-Server langsam an Bedeutung, was zu einer ersten Verschiebung der Netzwerk- und Sicherheitsgrenzen zwischen den Verantwortlichen für Server und den für das Netzwerk und die Sicherheit verantwortlichen Personen führte. Wer ist für die Konnektivitätsmodule in diesen Gehäusen verantwortlich, und wo sollten wir die Sicherheits-Appliances einsetzen? In den meisten Fällen war das Netzwerkmodul das am wenigsten wichtige Modul im Gehäuse und es war immer ein Albtraum, sich mit dem Rest der Netzwerk- und Sicherheitsinfrastruktur zu verbinden.

Doch dieser Kampf wurde durch eine neue Technologie in den Schatten gestellt. Der ESX-Hypervisor von VMware hat die Möglichkeit, denselben Hardwareserver für den Betrieb vieler virtueller Server gemeinsam zu nutzen, schnell demokratisiert. Um diese virtuellen Server miteinander zu verbinden, musste das Netzwerk erneut an einen anderen Ort verschoben werden: innerhalb des Hypervisors. Shifts begann als sehr einfacher virtueller Switch, weitete sich aber schnell auf Layer-3-Dienste und schließlich auf Sicherheit aus.

Und trotz der Entwicklung der Rechenzentrumsinfrastruktur hat die Public Cloud ihren Aufstieg begonnen, um dem Unternehmensmarkt eine Reihe von Dienstleistungen anzubieten, die vollständig automatisiert und äußerst agil sind. Es dauerte nicht lange, bis die Entwickler den Wert dieser neuen abstrahierten Infrastruktur verstanden, die einen skalierbaren und hochverfügbaren Dienst bereitstellen kann, ohne sich mit der Komplexität der Verwaltung der Infrastruktur befassen zu müssen.

Vor einigen Jahren entstand eine neue Art von Workload, die leichtgewichtig, portabel und in Sekundenschnelle leicht hoch- oder abzubauen ist: Container. Mit der Verbreitung von Containern erkannten Entwickler schnell, dass es notwendig ist, diese Rechenressourcen zusammen mit dem Netzwerk zu orchestrieren, um sicherzustellen, dass Anwendungen nach oben und unten skaliert werden können, ohne von einem externen Netzwerk und einer externen Sicherheitsinfrastruktur abhängig sein zu müssen. Ein Container-Cluster ist ein neues Infrastrukturelement, das Rechenleistung, Netzwerk und Sicherheit vermischt und erneut eine Verschiebung in der Netzwerksicherheitsgrenze bewirkt.

Was haben wir also in 15 Jahren gelernt? Was ist das gemeinsame Muster all dieser Entwicklungen?
- Die Grenze der Netzwerksicherheit verschiebt sich immer mehr in die Compute-Schicht, da Entwickler immer wieder an ihre Grenzen gehen, um mehr Flexibilität bei der Entwicklung und dem Testen ihrer Anwendungen zu erhalten.
- Netzwerk- und Sicherheitsteams sind spät dran und können bestenfalls Optionen oder Lösungen empfehlen, aber in den meisten Fällen übernehmen sie die Entscheidungen, die von Anwendungen oder Cloud-Teams getroffen wurden.
- Die Sicherung von Infrastrukturen ist schwieriger, wenn die Dinge nicht unter Berücksichtigung der Sicherheit durchdacht und konzipiert wurden, und führt in der Regel zu einer zusätzlichen Komplexitätsebene, wenn sie später hinzugefügt wird.
Was ist das Problem mit Containern?
Container und Container-Cluster sind eigentlich keine Ausnahme von diesem Trend, das Netzwerk immer mehr in die Software- und Compute-Schichten zu verlagern. Wie bereits beschrieben, sehen wir dies seit vielen Jahren, und es gibt keinen Grund, warum es sich ändern sollte, wenn die Netzwerk- und Sicherheitsteams diesen Trend nicht umkehren.
Aus Sicht des Netzwerks und der Sicherheit führen Container nichts Neues oder Unbekanntes ein, sie kombinieren nur das, was wir bereits kennen (IPs, Subnetze, DHCP/DNS, Zonen, Segmente, Kapselung, NAT, Firewall oder Load Balancer), aber alles befindet sich im Betriebssystem selbst, und das ist ein grundlegendes Problem.
IT-Teams lieben Grenzen, Verantwortlichkeiten und Zuständigkeiten, und das ist das Gegenteil der Funktionsweise von Containerclustern. Sie wurden so konzipiert, dass sie autark, orchestriert und von der Außenwelt undurchsichtig sind. Auf der einen Seite ist es eine gute Nachricht, dass ein neues Stück Infrastruktur keine umfangreichen Designsitzungen erfordert, um verbunden zu sein und zu funktionieren. Auf der anderen Seite stellt sich die Frage, wie die Anwendungsabläufe gesichert werden können, wenn Sie nicht wissen und verstehen, was in diesen Clustern passiert.
Was kann man tun, um das zu ändern?
Im Idealfall sollten Entwickler Code entwickeln und ihn an ein anderes Team übergeben, um den Code in die Produktion zu bringen – auf gründlich getestete und automatisierte Weise, auf einer Infrastruktur, die auf Skalierbarkeit und Verfügbarkeit ausgelegt ist, und mit Sicherheit an erster Stelle auf jeder Ebene des Stacks.
Nun, es scheint, dass wir in vielen Unternehmen diesen Punkt noch nicht erreicht haben. DevOps-Teams sind mit ihren Kollegen in der Entwicklung verbunden, aber das ist bei Netzwerk- und Sicherheitsteams nicht immer der Fall, und das muss sich ändern, wenn wir Container als disruptive Technologie auf dem Markt sehen wollen.
Netzwerk- und Sicherheitsteams sollten mehr Zeit damit verbringen, zu verstehen, was von der Infrastruktur transportiert und gesichert wurde. Sie sollten lernen, was eine CI/CD-Pipeline ist, und sie sollten eine Meinung dazu haben, wie Dinge innerhalb der Anwendung aufgebaut sind, damit sie die Sicherheitsmechanismen anpassen können, um das zu ergänzen, was die Anwendung nicht leisten kann. Dies erfordert das Erlernen neuer Fähigkeiten, das Akzeptieren von Unterschieden und das Kritischsein, aber aufgeschlossen gegenüber neuen Konzepten, die auf den ersten Blick keine gute Idee zu sein scheinen, aber tatsächlich sehr effizient sein können.
Container sind ein perfektes Beispiel für eine Technologie, die Menschen aus allen Bereichen einer IT-Abteilung dazu zwingt, voneinander zu lernen.
Andernfalls ist es ein Rezept für eine Katastrophe. Es gibt keinen Container-Cluster ohne Netzwerk, es gibt keine containerisierte Anwendung in der Produktion ohne Sicherheit und es gibt keine gemeinsam genutzte Infrastruktur ohne Segmentierung. Netzwerk- und Sicherheitsteams müssen diese Gelegenheit nutzen, um neue Vorgehensweisen zu erlernen, mehr Zeit damit zu verbringen, zu verstehen, wie Dinge in Software erledigt werden können, und die Verantwortung für die Netzwerk- und Sicherheitsschichten zu übernehmen, indem sie einfache, sichere und stabile Designs für die Anwendungsschicht vorschlagen.
Wo sollten Sie anfangen?
Es gibt offensichtlich keine Wunderwaffe oder Geheimwaffe, die die Einheitslösung sein könnte. Aber hier sind einige Ideen, die Ihrem Team zum Erfolg verhelfen können:
Lerne deine Feinde kennen: Entwickler und DevOps-Teams sind nicht die Feinde der Netzwerk- und Sicherheitsteams. Sie dienen alle dem gleichen Zweck: dem Geschäft. Aber ohne zu wissen, was andere Teams tun, ist es schwieriger zu erkennen, was getan werden kann, um als Gruppe besser zu sein. Der Aufbau komplexer Infrastrukturen wie Container-Cluster erfordert miteinander verflochtene Entscheidungen, um erfolgreich zu sein, insbesondere wenn es um die Sicherheit geht.
Erwerben Sie das Wissen: Niemand weiß alles, aber jeder kann alles lernen. Es ist in Ordnung, in einigen Bereichen Ihrer Infrastruktur leicht zu sein, aber es ist definitiv nicht in Ordnung, nicht bereit zu sein, zu lernen, wie Dinge gemacht werden oder gemacht werden sollten. Container, Orchestrierungsplattformen und Service Meshes sind nicht einfach zu erreichen. Es braucht Zeit, um sich mit neuen Begriffen oder Konzepten vertraut zu fühlen, aber es ist so lohnend, wenn man diese Schwelle des Verständnisses überschreitet und dieses Wissen in die Tat umsetzen kann.
Ein Netzwerk ist ein Netzwerk und Sicherheit ist universell: Beachten Sie, dass ein Containercluster eine Sammlung von IP-Adressen (die Containern zugeordnet sind) ist, die untereinander kommunizieren. Außerdem sind Anwendungen nicht dazu gedacht, in einem Container-Cluster zu leben, ohne der Welt ausgesetzt zu sein, so dass es ein Konzept geben wird, einige Türen zur Welt zu öffnen. Netzwerk- und Sicherheitstechniker sind für die Datenflüsse verantwortlich, die von einem Ende eines Clusters zum anderen geleitet werden, sowie für das Empfangen von Paketen in und aus diesem Cluster. Wenn innerhalb eines Container-Clusters etwas kompromittiert wird, liegt es in der Verantwortung des Netzwerksicherheitsteams, zu überwachen, zu reagieren und zu reagieren, um die Ausbreitung einer Sicherheitsverletzung zu verhindern. Ja, Container-Cluster haben einen anderen Ansatz für Netzwerk und Sicherheit, aber es handelt sich immer noch um ein Netzwerk, das segmentiert und gesichert werden muss.
Suche die Wahrheit: Es ist wichtig, den Status quo zu verstehen und in Frage zu stellen. Wenn die Dinge nicht so funktionieren, wie du es dir vorgestellt hast, ist das in Ordnung. Das bedeutet, dass Sie gemeinsam als Team die Wahrheit suchen und sich darauf einigen müssen. Eine gut verstandene Technologie ist einfacher zu implementieren, zu sichern und Fehler zu beheben.
Container, Orchestrierungsplattformen und Service-Meshes gewinnen heutzutage in IT-Organisationen immer mehr an Bedeutung, und es ist äußerst wichtig, dass Sie als Netzwerk- und Sicherheitsingenieur die Konzepte dieser Technologien verstehen. Einige Konzepte werden sehr vertraut klingen, andere werden sehr seltsam klingen, aber um Dinge richtig zu sichern, müssen Sie wissen, wie sie tatsächlich funktionieren!
Auf unserer Container-Seite finden Sie weitere Informationen darüber, wie Sie Illumio für die Container-Segmentierung nutzen können.