Читать книгу Handbuch Infrastructure as Code - Kief Morris - Страница 53

Zero-Trust-Sicherheitsmodell mit SDN

Оглавление

Ein Zero-Trust-Sicherheitsmodell schützt jeden Service, jede Anwendung und andere Ressourcen in einem System auf niedrigster Ebene.1 Das ist der Unterschied zu einem klassischen perimeterbasierten Sicherheitsmodell, bei dem davon ausgegangen wird, dass jedem Device innerhalb eines sicheren Netzwerks vertraut werden kann.

Solch ein Zero-Trust-Modell lässt sich für nichttriviale Systeme überhaupt nur sinnvoll als Code implementieren. Die manuelle Arbeit zum Managen der Kontrollelemente für jeden Prozess im System wäre sonst überwältigend.

Bei einem Zero-Trust-Modell wird jede neue Anwendung mit Anmerkungen versehen, um anzuzeigen, welche Anwendungen und Services sie erreichen können muss. Die Plattform ermöglicht damit automatisch den erforderlichen Zugriff und stellt sicher, dass alles andere blockiert wird.

Zu den Vorteilen solch eines Vorgehens gehören:

 Jede Anwendung und jeder Service besitzt nur die Privilegien und Zugriffe, die er explizit benötigt – ganz im Sinne des Prinzips der geringsten Privilegien (https://oreil.ly/0Zonv).

 Bei Zero-Trust oder perimeterloser Sicherheit werden Hürden und Kontrollelemente für die spezifischen zu schützenden Ressourcen feingranularer aufgebaut. Dieser Ansatz vermeidet es, großräumige Trust-Zonen einrichten zu müssen – zum Beispiel jedem Device zu vertrauen, das mit einem physischen Netzwerk verbunden ist.

 Die Sicherheitsbeziehungen zwischen Elementen des Systems sind sichtbar, womit Validierung, Auditierung und Reporting möglich werden.

Zu den typischen Networking-Elementen und Services einer Infrastruktur-Plattform gehören:

Netzwerk-Adressblöcke

Netzwerk-Adressblöcke sind eine grundlegende Struktur für das Gruppieren von Ressourcen, um das Routing von Traffic zwischen ihnen zu steuern. Der Top-Level-Block in AWS ist eine VPC (Virtual Private Cloud). In Azure, GCP und anderen ist es ein Virtual Network. Der Top-Level-Block wird oft in kleinere Blöcke unterteilt, wie zum Beispiel Subnets oder VLANs. Eine bestimmte Networking-Struktur wie AWS Subnets kann mit physischen Standorten verbunden werden, beispielsweise einem Data Center, das Sie nutzen können, um die Verfügbarkeit zu managen.

Namen (zum Beispiel DNS-Einträge)

Namen werden auf Lower-Level-Netzwerk-Adressen gemappt – normalerweise auf IP-Adressen.

Routen

Hier wird konfiguriert, welcher Traffic zwischen und innerhalb von Adressblöcken erlaubt ist.

Gateways

Können erforderlich sein, um Traffic in Blöcke hinein und aus ihnen hinaus zu leiten.

Load-Balancing-Regeln

Leitet an eine einzelne Adresse eintreffende Verbindungen an einen Ressourcen-Pool weiter.

Proxies

Akzeptiert Verbindungen und nutzt Regeln, um sie umzuwandeln oder weiterzuleiten.

API-Gateways

Ein Proxy – meist für HTTP/S-Verbindungen –, der Aktivitäten ausführen kann, um nichtzentrale Aspekte von APIs zu behandeln, wie zum Beispiel die Authentifizierung und das Rate Limiting. Siehe auch »Service Mesh« auf Seite 284.

VPNs (Virtual Private Networks)

Verbindet unterschiedliche Adressblöcke über Standorte hinweg, sodass sie als Teil eines einzelnen Netzwerks erscheinen.

Direkte Verbindung

Eine dedizierte Verbindung, die zwischen einem Cloud-Netzwerk und einem anderen Standort eingerichtet ist – meist ein Data Center oder ein Firmennetzwerk.

Netzwerk-Zugriffsregeln (Firewall-Regeln)

Regeln, die Traffic zwischen Standorten beschränken oder zulassen.

Asynchrones Messaging

Queues für Prozesse, mit denen Nachrichten verschickt und empfangen werden.

Cache

Ein Cache verteilt Daten über Netzwerk-Standorte, um die Latenz zu verbessern. Ein CDN (Content Distribute Network) ist ein Service, der statische Inhalte (und in manchen Fällen auch ausführenden Code) auf mehrere geografische Standorte verteilt – meist für Inhalte, die per HTTP/S ausgeliefert werden.

Service Mesh

Ein dezentralisiertes Service-Netzwerk, das die Verbindung zwischen Teilen eines verteilten Systems dynamisch managt. Es zieht Networking-Fähigkeiten in dem Modell, das ich in »Die Elemente eines Infrastruktur-Systems« auf Seite 53 beschreibe, aus der Infrastruktur-Schicht in die Anwendungslaufzeit-Schicht.

Die Details des Networking würden den Rahmen dieses Buchs sprengen. Schauen Sie sich dazu die Dokumentation Ihres Plattform-Anbieters und vielleicht auch eine Referenz wie Craig Hunts TCP/IP Netzwerk-Administration (https://oreil.ly/2JlVeYe, O’Reilly) an.

Handbuch Infrastructure as Code

Подняться наверх