Sicherheit

Container-Sicherheit

Was ist Container-Sicherheit?

Unter Container-Sicherheit versteht man den Schutz der Integrität von Linux-Containern. Dazu gehört alles − von den dort ausgeführten Anwendungen bis hin zur zugrundeliegenden Infrastruktur. Container-Sicherheit muss besonders bei Unternehmen integriert und kontinuierlich sein. Dabei geht es vor allem um Folgendes:

  • Sicherung von Container Pipeline und Anwendung
  • Schutz von Container-Entwicklungsumgebung(en) und Infrastruktur
  • Integration mit Sicherheits-Tools und Einhaltung/Verbesserung aktueller Sicherheitsrichtlinien

Container sind sehr beliebt, weil sie eine benutzerfreundliche Entwicklung, Paketierung und Unterstützung von Anwendungen oder Services und all ihrer Abhängigkeiten über den gesamten Lebenszyklus hinweg sowie für verschiedene Umgebungen und Implementierungsziele ermöglichen. Trotz alledem gibt es bei der Container-Sicherheit auch einige Herausforderungen zu beachten. So lassen sich in einem Unternehmen statische Sicherheitsrichtlinien und Check-Listen für Container nicht skalieren. Für die Lieferkette werden zusätzliche Sicherheitsrichtlinien benötigt. Teams sehen sich vor die Notwendigkeit gestellt, ihre Anforderungen in Bezug auf die Vernetzung und Governance von Containern ausgleichen zu müssen. Build und Runtime Tools sowie Services müssen entkoppelt werden.

Indem Sie Sicherheit in Ihre Pipeline integrieren und ihre Infrastruktur schützen, gewährleisten Sie zuverlässige, skalierbare und vertrauenswürdige Container.


Integration von Sicherheit in die Container Pipeline

Sammlung von Images

Container werden aus Schichten von Dateien erstellt. In der Community werden diese Dateien nicht selten Container Images genannt. Das Base Image ist aus Sicherheitsgründen das wichtigste, denn es wird als Grundlage für die Erstellung abgeleiteter Images verwendet. Der erste Schritt bei der Container-Sicherheit ist die Suche nach vertrauenswürdigen Quellen für Base Images. Aber auch bei Verwendung vertrauenswürdiger Images entstehen durch das Hinzufügen von Anwendungen und Durchführen von Konfigurationsänderungen neue Variablen. Wenn Sie zur Entwicklung Ihrer Apps externe Inhalte nutzen, benötigen Sie ein proaktives Content Management.

Stellen Sie sich bei der Sammlung von Container Images deshalb folgende Fragen:

  • Sind diese Images signiert bzw. stammen Sie aus vertrauenswürdigen Quellen?

  • Sind Runtime- und Betriebssystemschichten aktuell?

  • Wie schnell und häufig werden die Container aktualisiert?

  • Wird auf bekannte Probleme überwacht, und wann ja, wie?

Zugriffsverwaltung

Sobald Sie über Ihre Container Images verfügen, müssen Sie als nächstes den Zugriff auf bzw. die Unterstützung der Images verwalten, die von Ihrem Team verwendet werden. Will heißen, diejenigen schützen, die Sie herunterladen bzw. entwickeln. Mithilfe einer privaten Registry können Sie den Zugriff über rollenbasierte Zuweisungen kontrollieren und gleichzeitig die Verwaltung von Inhalten durch Zuordnung von Metadaten zu Containern gewährleisten. Mit solchen Metadaten werden Informationen wie z. B. zur Erkennung und Nachverfolgung bekannter Schwachstellen bereitgestellt. Mit der genannten privaten Registry können Sie dazu Richtlinien für gespeicherte Container Images automatisieren bzw. zuweisen und damit menschliche Fehler vermeiden, die zu Schwachstellen bei Containern führen können.

Stellen Sie sich bei Entscheidungen in Bezug auf die Zugriffsverwaltung folgende Fragen:

  • Welche rollenbasierten Kontrollen können Sie für das Management von Container Images nutzen?

  • Stehen Tagging- oder Kennzeichnungsfunktionen zur Unterstützung der Image-Sortierung zur Verfügung? Können Sie Images separat für Entwicklung, Prüfung und Produktion als genehmigt kennzeichnen?

  • Bietet die Registry sichtbare Metadaten, mit denen Sie auf bekannte Schwachstellen überwachen können?

  • Lässt sie sich zur Zuweisung und Automatisierung von Richtlinien (z. B. Prüfung von Signaturen, Codierung von Scans etc.) einsetzen?

Integration von Sicherheitsprüfung und Implementierungsautomatisierung

Die abschließende Phase der Pipeline ist die Implementierung. Sobald Ihre Builds fertiggestellt sind, wird ihr Management gemäß Industriestandards erforderlich. Dabei müssen Sie lernen, wie Sie mit Richtlinien Builds automatisch auf Sicherheitsprobleme überprüfen können, und das besonders in Bezug auf neue Schwachstellen. Da die Neuentwicklung von Containers einem Patching vorzuziehen ist, sollten bei der Integration von Sicherheitsprüfungen Richtlinien berücksichtigt werden, die automatische Rebuilds auslösen. Teil 1 dieser Phase ist der Einsatz von Tools zur Komponentenanalyse, mit denen sich Probleme identifizieren lassen. Der zweite Teil besteht in der Entwicklung von Tools für eine automatische richtlinienbasierte Implementierung.

Stellen Sie sich bei der Integration von Sicherheitsprüfung und Implementierungsautomatisierung folgende Fragen:

  • Wie können Sie das Patching ausgeführter Container vermeiden und sie stattdessen per Trigger mithilfe automatischer Updates neu erstellen bzw. ersetzen?


Schutz Ihrer Infrastruktur

Eine weitere Schicht der Container-Sicherheit ist die vom Host-Betriebssystem bereitgestellte Isolierung. Dazu sollten Sie ein System wählen, das eine maximale Container-Separation bietet. Diese Maßnahme ist für den Schutz Ihrer Container-Bereitstellungsumgebung unerlässlich. Das Host-BS wird mithilfe einer Container Runtime aktiviert, die idealerweise über ein Orchestrierungssystem gehandhabt wird. Um Ihrer Container-Plattform Stabilität zu verleiden, verwenden Sie Netzwerk-Namespaces zur Trennung von Anwendungen und Umgebungen bzw. verknüpfen Storage über sichere Mounts. Jede API-Management-Lösung sollte Funktionen wie Authentifizierung und Autorisierung, LDAP-Integration, Endpunkt-Zugangskontrollen sowie Durchsatzbeschränkung bieten.

Stellen Sie sich in Bezug auf den Schutz Ihrer Container-Infrastruktur folgende Fragen:

  • Welche Container müssen aufeinander zugreifen können? Wie können Container einander entdecken?

  • Wie sollen Zugang und gemeinsame Ressourcen (z. B. Netzwerk und Storage) kontrolliert werden?

  • Wie werden Host-Updates verwaltet? Müssen all Ihre Container gleichzeitig aktualisiert werden?

  • Wie überwachen Sie den Container-Status?

  • Wie lässt sich die Anwendungskapazität bedarfsabhängig skalieren?


Wir können helfen

Red Hat® OpenShift Container Platform integriert Red Hat Enterprise Linux®. Mit diesem speziell für DevOps-Teams entwickelten Produkt können Sie den Lifecycle Ihrer Container-Anwendungen automatisieren und Sicherheit in die Container Pipeline integrieren. Über unseren Container Catalog erhalten Sie Zugriff auf eine Vielzahl an zertifizierten Images, Sprach-Runtimes, Datenbanken und Middleware-Anwendungen, die überall zusammen mit Red Hat Enterprise Linux ausgeführt werden können. Images von Red Hat sind zwecks Gewährleistung von Herkunft und Integrität jederzeit signiert und verifiziert.

Red Hat überwacht seine Container Images auf neue Schwachstellen (inklusive eines kontinuierlich aktualisierten und öffentlich sichtbaren Health Index) und veröffentlicht Sicherheits-Updates und Container Rebuilds, die in unsere Public Registry verschoben werden.

Dazu werden Sie auch folgende Funktionen zu schätzen wissen:

  • Web-scale-Orchestrierung und -Management von Containern
  • Umfassende Webkonsole mit Kollaborations-Features für zahlreiche Nutzer
  • CLI- & IDE- Schnittstellen
  • Build-Automatisierung & Source-to-Image
  • Integration mit CI
  • Implementierungsautomatisierung
  • Support für Remote Storage Volumes
  • Benutzerfreundliche Installation & Administration
  • Umfangreiche Sammlung an Programmiersprachen, Frameworks & Services

Einstieg

Cloud Computing

OpenShift ermöglicht Ihnen einfach und schnell und in fast jeder Infrastruktur, öffentlich oder privat, zu entwickeln und bereitzustellen.

Linux-Plattformen

Red Hat® Enterprise Linux® ist eine stabile und bewährte Plattform, die ausreichend Vielseitigkeit für den Rollout neuer Anwendungen, die Virtualisierung von Umgebungen sowie die Erstellung einer sicheren Hybrid Cloud bietet – unterstützt von unserem preisgekrönten Support.


Container-Sicherheit bietet eine Vielzahl weiterer Einsatzmöglichkeiten