Containersicherheit in AKS unter Windows Server

Gilt für: AKS unter Windows Server

In diesem Artikel werden verschiedene Methoden beschrieben, um die Container zu schützen, die zum Packen und Bereitstellen von Anwendungen verwendet werden, und vermeiden Sie die Einführung von Sicherheitsrisiken in AKS auf Windows Server.

Container bieten betriebliche und sicherheitsrelevante Vorteile, da Anwendungen und Dienste innerhalb einer Umgebung getrennt sind. Container tragen auch dazu bei, die Auswirkungen von systemweiten Ausfällen zu verringern, da ihre Abstraktion Betriebszeit gewährleistet und Angriffe verhindert, die Anwendungen oder Dienste kompromittieren könnten. Container werden in der Regel auf einer abstrahierten Schicht oberhalb des Hostbetriebssystems ausgeführt. Diese Abstraktion bietet eine gewisse Trennung und die Möglichkeit, ein mehrschichtiges Verteidigungsmodell umzusetzen.

Sie können auch eine kontinuierliche Containersicherheit einrichten, indem Sie die Containerpipeline, die Anwendung und die Umgebung für die Bereitstellung der Container absichern. In den folgenden Abschnitten werden einige empfohlene Methoden für die Implementierung der Containersicherheit beschrieben.

Sichere Bilder

Um nicht autorisierten Zugriff zu verhindern, hosten Sie die Bilder in einer sicheren und vertrauenswürdigen Registrierung. Die Images sollten über ein TLS-Zertifikat einer vertrauenswürdigen Stammzertifizierungsstelle verfügen. Die Registrierung muss eine rollenbasierte Zugriffssteuerung (RBAC) mit sicherer Authentifizierung verwenden. Sie sollten eine Lösung zum Überprüfen von Images einbinden, wenn Sie CI/CD für die Erstellung und Bereitstellung von Containern konzipieren. Die Bildscanlösung hilft bei der Identifizierung allgemeiner Sicherheitsrisiken und Expositionen (CVEs) und stellt sicher, dass exploitable Images nicht ohne Korrektur bereitgestellt werden.

Härten der Hostumgebung

Ein wichtiger Aspekt der Containersicherheit ist die Notwendigkeit, die Sicherheit der Systeme, auf denen Ihre Container ausgeführt werden, und die Art und Weise ihres Agierens während der Laufzeit zu härten. Containersicherheit sollte sich auf den gesamten Stapel konzentrieren, einschließlich Host und Daemons. Sie sollten nicht kritische Dienste vom Host entfernen und ausschließlich konforme Container in der Umgebung bereitstellen. Dadurch kann der Zugriff auf den Host nur über die Container erfolgen und die Steuerung wird zentral für den Containerdaemon festgelegt, wodurch der Host von der Angriffsoberfläche entfernt wird. Diese Schritte sind besonders hilfreich, wenn Sie Proxyserver für den Zugriff auf Ihre Container verwenden, wodurch Ihre Containersicherheitssteuerelemente versehentlich umgangen werden können.

Beschränken von Containerressourcen

Wenn ein Container kompromittiert wird, versuchen Angreifer möglicherweise, die zugrunde liegenden Hostressourcen zum Ausführen bösartiger Aktivitäten zu verwenden. Es ist eine bewährte Methode, Grenzwerte für die Arbeitsspeicher- und CPU-Auslastung festzulegen, um die Auswirkungen von Sicherheitsverletzungen zu minimieren.

Ordnungsgemäßes Schützen von Geheimnissen

Ein geheimer Schlüssel ist ein Objekt, das vertrauliche Informationen enthält, die möglicherweise zwischen dem Host und dem Container übergeben werden müssen, z. B. Kennwörter, SSL/TLS-Zertifikate, SSH-private Schlüssel, Token, Verbindungszeichenfolge s und andere Daten, die nicht in Nur-Text übertragen oder unverschlüsselt gespeichert werden sollen. Sie sollten alle Geheimnisse aus den Bildern heraushalten und sie über das Container-Orchestrierungsmodul oder einen externen geheimen Manager bereitstellen.

Sorgen für Isolation

Verwenden Sie isolation, und verwenden Sie keinen privilegierten Benutzer oder Stammbenutzer, um die Anwendung in einem Container auszuführen. Vermeiden Sie das Ausführen von Containern im privilegierten Modus, da dies einem Angreifer ermöglichen kann, berechtigungen einfach zu eskalieren, wenn der Container kompromittiert ist. Wenn Sie die UID (Unique Identification Code) und GID (Group Identification Code) des Root-Benutzers in einem Container kennen, kann ein Angreifer auf die vom Root-Benutzer geschriebenen Dateien auf dem Hostcomputer zugreifen und sie verändern. Es ist auch erforderlich, das Prinzip der geringsten Rechte zu befolgen, bei dem eine Anwendung nur Zugriff auf die benötigten Geheimnisse hat. Sie können einen Anwendungsbenutzer erstellen, um den Anwendungsprozess auszuführen.

Überwachen der Sicherheit zur Laufzeit

Da auch nach Ergreifung von Vorsichtsmaßnahmen gegen Angriffe auf Ihre Infrastruktur immer noch die Möglichkeit einer Kompromittierung besteht, ist es wichtig, das Verhalten der Anwendung kontinuierlich zu überwachen und zu protokollieren, um schädliche Aktivitäten zu verhindern und zu erkennen. Tools wie Prometheus bieten eine effektive Möglichkeit, Ihre Infrastruktur zu überwachen.

Nächste Schritte