Azure Container Security ist ein Mix aus leistungsfähigen Schwachstellenscans während des gesamten Container-Lebenszyklus. Dabei werden nur vertrauenswürdige Images aus privaten Registrys verwendet, Berechtigungen und Anwenderzugriffe begrenzt und alle Aktivitäten kontinuierlich gescannt und überwacht.
Microsoft Azure ist die zweitgrößte und am schnellsten wachsende Cloud-basierte Anwendung, die zurzeit auf dem Markt ist. Microsoft Azure ist bei 95 % der Fortune-500-Unternehmen im Einsatz. Die Cloud-Computing-Plattform gibt Entwicklern die nötige Freiheit, Anwendungen überall zu entwickeln, zu verwalten und bereitzustellen. Sie bietet eine große Vielzahl von Services, darunter virtuelle Computer, das Internet der Dinge (IoT) und Container.
Microsoft Azure-Container versorgen Entwickler und Organisationen genau mit der Agilität, Skalierbarkeit und Infrastruktur, die sie von einem Cloud-Service erwarten. Die Entwicklung von Containern auf Azure hat unbestreitbare Vorteile, jedoch besitzen diese Container keine nativen integrierten Sicherheitsfunktionen. Es liegt bei den Kunden, für die Sicherheit ihrer Azure-Container zu sorgen.
Im Hinblick auf den Schutz Ihrer Azure-Container sollten Sie ein paar Aspekte berücksichtigen:
Wie bei allen Containern ist der Schutz von Images in Azure-Containern eine der wichtigsten Maßnahmen, die Sie ergreifen können. Container werden auf der Basis von Images erstellt, die in Repositorys gespeichert sind. Jedes Image besitzt mehrere Softwareebenen, von denen jede Schwachstellen enthalten und daher möglicherweise kompromittiert werden kann. Wenn Sie nur genehmigte Container-Images in Ihrer Entwicklungsumgebung zulassen, können Sie die Angriffsoberfläche für Cyberkriminelle deutlich verkleinern. Sie brauchen daher dedizierte Prozesse und Tools, die Ihre Umgebung mit Blick auf die Verwendung nicht genehmigter Container-Images überwachen und diese Verwendung verhindern.
Eine weitere Option für die Steuerung des Container-Flusses in die Umgebung sind Signaturen oder Fingerabdrücke von Images. Diese liefern eine lückenlose Nachweiskette, anhand derer Sie die Integrität der Container und Container-Images verifizieren können. Im letzten Evaluierungsschritt sind Container nach dem Abschluss der Container-Entwicklung auf Schwachstellen zu scannen, bevor Images in die Registry verschoben werden.
Berechtigungen zu gewähren, die nur das geringstmögliche Maß erfüllen, ist ein bewährtes Sicherheitsverfahren, das auch auf Azure-Container angewendet werden sollte. Indem Angreifer eine Schwachstelle ausnutzen – sei es über Images oder Kernels –, erhalten sie Zugriff und möglicherweise sogar Berechtigungen für verschiedene Cluster und Regionen. Ihr Risiko sinkt, wenn Sie sicherstellen, dass Container nur mit den geringstmöglichen Berechtigungen und Zugriffsrechten betrieben werden.
Außerdem reduzieren Sie die Angriffsfläche in Bezug auf Container, indem Sie nicht benötigte Berechtigungen entfernen, sobald Mitarbeiter die Position wechseln oder das Unternehmen verlassen. Sie können die potenzielle Angriffsoberfläche auch dadurch verkleinern, dass Sie alle nicht notwendigen oder ungenutzten Berechtigungen oder Prozesse aus der Container-Runtime entfernen.
Azure-Container werden aus Images erstellt, die in einer öffentlichen oder privaten Registry gespeichert sind. Auch wenn das Laden von Images aus öffentlichen Registrys einfacher erscheinen mag, ist die Sicherheit dabei nicht garantiert. Wie bereits erwähnt, besitzen Container-Images mehrere Softwareebenen, und jede dieser Ebenen kann Schwachstellen aufweisen.
Bei Images in einer öffentlichen Registry ist die Wahrscheinlichkeit, dass diese bösartige Software enthalten, höher als bei Images in einer privaten. Images in privaten Registrys wurden mit höherer Wahrscheinlichkeit korrekt gescannt und stellen somit ein geringeres Risiko dar. Private Registrys werden gemanagt und verfügen über eine rollenbasierte Zugriffssteuerung. Dies bedeutet eine bessere Governance und höhere Sicherheit. Einige Beispiele für private Registrys für Container Images sind Azure Container Registry, Docker Trusted Registry oder das Open-Source-Projekt Harbor von der Cloud Native Computing Foundation.
Alle Computer bestehen aus Hardware. Der Kernel ist eine in das Betriebssystem eingebettete Software, die als Brücke dafür dient, dass die Hardware und das restliche System interagieren können. Anders als im Fall virtueller Computer ist bei Containern der Netzwerkverkehr über die Container-Services hinweg offen. Außerdem besitzen Container einen gemeinsamen Kernel. Die Möglichkeit, den Kernel des Host-Betriebssystems gemeinsam zu verwenden, ist einer der größten Vorteile von Containern und gleichzeitig ein großes Sicherheitsproblem.
Zur Laufzeit sind Kernel und Container nicht voneinander isoliert. Daher können Schwachstellen im gemeinsam verwendeten Betriebssystem-Kernel für Container-Exploits verwendet werden. Angreifer können dadurch auch Zugriff auf Container erhalten. Sie können das Laufverhalten des Betriebssystems verändern, ohne bösartigen Code einzuschleusen. Dazu müssen sie lediglich Kernel-Daten im Arbeitsspeicher ändern.
Angesichts ihrer Portabilität, Skalierbarkeit und Zuverlässigkeit überrascht es nicht, dass viele Unternehmen Microsoft Azure-Container zur Ausführung ihrer Anwendungen verwenden. Wenn Sie sicherstellen, dass während des gesamten Container-Lebenszyklus Schwachstellenscans durchgeführt und alle Aktivitäten überwacht und protokolliert werden, können Sie sicher sein, dass Ihre Azure-Container geschützt sind.
Weiterführende Forschung
Weiterführende Artikel