GlobalSign Blog

Absicherung von Docker-Containern durch TLS-Zertifikate

Absicherung von Docker-Containern durch TLS-Zertifikate

Da immer mehr Unternehmen eine DevOps-Kultur einführen, ist es klar, dass die Einführung von Containern die Nutzung von Cloud-basierten Verfahren überholen wird. Laut der jüngsten CNCF-Umfrage setzen 44 % der Befragten Container bereits für fast alle Anwendungen und Geschäftsbereiche ein, 35 % nutzen sie für einige Produktionsanwendungen in ihren Unternehmen, während sich 9 % in einer Frühphase der Einführung befinden, in der sie den Containereinsatz testen oder aktiv evaluieren. 

Die Einführung von Docker-Containern

Docker-Container haben die Art und Weise revolutioniert, wie Entwickler Anwendungen erstellen, bereitstellen und verwalten. Sie erfreuen sich zunehmender Beliebtheit, da sie eine leichte und mobile Lösung für die Erstellung, das Testen und die Auslieferung von Software bieten. Doch wie jede andere Software sind auch Docker-Container anfällig für Angriffe. Eine der effektivsten Methoden zur Sicherung von Docker-Containern ist die Nutzung von TLS/SSL-Zertifikaten. 

In diesem Blog erfahren Sie, warum es wichtig ist, Docker-Container durch TLS-Zertifikate abzusichern, und wie Sie dies am besten tun können.

In privaten und öffentlichen Netzen werden SSL/TLS-Zertifikate häufig zur Verschlüsselung des Datenflusses eingesetzt. Im Falle von Docker-Containern können TLS-Zertifikate Folgendes absichern: 

  • Kommunikation zwischen dem Docker-Daemon und dem Client

  • Kommunikation zwischen Docker-Containern

  • Kommunikation zwischen Docker Hosts

docker host architecture image.png

Docker-Host-Architektur. Bildquelle: docs.docker.com 

Absicherung der Kommunikation zwischen Docker Daemon und Client durch TLS-Zertifikate

Visualizing Docker’s architecture.png

Visualisierung der Architektur von Docker. Bild: nickjanetakis.com

Der Docker-Daemon ist für die Verwaltung von Docker-Containern und -Images zuständig. Er nutzt einen Netzwerk-Socket, um Docker-Client-Anfragen zu erkennen. Wenn ein Docker-Client eine Anforderung an den Daemon sendet, muss er sich authentifizieren, damit sichergestellt wird, dass er berechtigt ist, den angeforderten Vorgang durchzuführen. TLS-Zertifikate werden zur sicheren Authentifizierung des Docker-Clients gegenüber dem Daemon verwendet, damit nur autorisierte Clients auf den Docker-Daemon zugreifen können.

Absicherung der Kommunikation zwischen Docker-Hosts

900-container-communication-public-dns_small.pngHow to use Docker host inside application container. Image source: ClaudioKuenzler  

In einem Docker-Schwarm oder Kubernetes-Cluster arbeiten mehrere Docker-Hosts zusammen, um Container auszuführen und zu verwalten. Wenn diese Hosts miteinander kommunizieren, muss unbedingt gewährleistet werden, dass die Kommunikation sicher ist. Zur Verschlüsselung und Authentifizierung der Kommunikation zwischen Docker-Hosts werden TLS-Zertifikate verwendet.

4 Schritte zur Sicherung der Kommunikation zwischen Docker-Containern​​​​​​​Docker communication between containers.png

Bildquelle: middlewareinventory.com 

Wenn mehrere Docker-Container auf demselben Host laufen, müssen sie unter Umständen auch miteinander kommunizieren. Diese Kommunikation kann für „Man-In-The-Middle“-Angriffe anfällig sein, wenn die Daten nicht verschlüsselt und authentifiziert werden. TLS-Zertifikate hingegen können Docker-Container absichern und ihre Kommunikation untereinander ermöglichen, indem sie dafür sorgen, dass diese verschlüsselt und authentifiziert ist.

Nachdem wir nun die wichtigsten Anwendungsfälle zur Sicherung der Docker-Kommunikation kennen, werden wir uns damit befassen, wie Docker-Container durch TLS-Zertifikate gesichert werden können. 

Schritt 1: Private oder öffentliche Zertifikate von einer vertrauenswürdigen Zertifizierungsstelle (CA) verwenden  

Eine Zertifizierungsstelle ist für die Ausstellung von TLS-Zertifikaten zuständig, die für die sichere Kommunikation zwischen Docker-Hosts, -Containern und -Clients genutzt werden. Entwickler nutzen manchmal auch selbst signierte Zertifikate. Dies stellt jedoch eine potenzielle Gefahr für die Infrastruktur der Nutzer dar, da solche selbst signierten Zertifikate weder  öffentlich vertrauenswürdig noch konform sind. Wir empfehlen daher immer, Ihre Infrastruktur durch Zertifikate einer CA, wie z. B. GlobalSign, zu sichern. 

Schritt 2: Zertifikate generieren und Geheimnisse sichern

Sie brauchen zur Sicherung Ihrer Infrastruktur nicht nur Zertifikate, sondern Sie müssen auch dafür sorgen, dass Ihre Zertifikate und privaten Schlüssel sicher aufbewahrt werden. GlobalSigns HashiCorp Vault – Atlas Plugin unterstützt Unternehmen bei der Absicherung von Docker-Containern durch den Bezug von TLS-Zertifikaten von Atlas und die Verwaltung von Geheimnissen durch deren sichere Speicherung im Vault. So können sich Unternehmen auf die Anwendungsentwicklung konzentrieren und die Absicherung uns überlassen.  

Schritt 3: Konfiguration von Docker für die Nutzung von TLS-Zertifikaten

Sobald Ihre Zertifikate generiert wurden, muss Docker diese für die Nutzung konfigurieren. Dazu muss der Docker-Daemon so konfiguriert werden, dass er auf einem TLS-fähigen Socket zuhört, um den Docker-Client so zu konfigurieren, dass er das gewünschte TLS-Zertifikat zur Kommunikation mit dem Daemon verwendet. Ihr Container muss dann mithilfe von Konfigurationsdateien oder Umgebungsvariablen für die Nutzung der TLS-Zertifikate konfiguriert werden. 

Schritt 4: Überprüfen, ob das TLS-Zertifikat funktioniert

Nach der Konfiguration muss unbedingt überprüft werden, ob das TLS-Zertifikat auch korrekt funktioniert. Dies kann durch Testen der Kommunikation zwischen Docker-Hosts, -Containern und -Clients geschehen, um sicherzustellen, dass sie verschlüsselt und authentifiziert ist.

Container sind aufgrund ihrer Architektur anfälliger für bösartige Angriffe als virtuelle Maschinen. Daher wird Unternehmen empfohlen, ihre Container und Orchestrierungsumgebungen (wie Kubernetes) durch TLS-Zertifikate zu sichern. Als eine renommierte öffentliche vertrauenswürdige Zertifizierungsstelle kann GlobalSign Unternehmen dabei helfen, ihre DevOps-Infrastruktur zu sichern. 

Erfahren Sie mehr über unsere PKI für DevOps-Lösung

Share this Post

Ähnliche Blogs