Site icon bintorosoft.com

Docker Registry Security: Auth, TLS und Zugriffsrechte

Close up of computer web page code inside of html file. Big data and Internet of things trend. Application web source code on monitor.

Docker Registries speichern und verteilen Images und bilden somit eine zentrale Komponente in Container-basierten Umgebungen. Ohne adäquate Sicherheitsmaßnahmen können unbefugte Zugriffe, Manipulationen oder Datenlecks entstehen. Dieses Tutorial erklärt praxisnah, wie Docker Registries durch Authentifizierung, TLS und Zugriffsrechte sicher betrieben werden können.

Authentifizierung (Auth)

Authentifizierung sorgt dafür, dass nur autorisierte Benutzer Images pushen oder pullen können. Die offizielle Docker Registry unterstützt einfache Basic Auth oder Integration mit Drittanbietersystemen.

Basic Auth einrichten

# htpasswd installieren (Debian/Ubuntu)
sudo apt-get install apache2-utils

Benutzer anlegen

htpasswd -Bc /auth/registry.password user1

Docker Registry starten mit Auth

docker run -d -p 5000:5000
--restart=always
-v /auth:/auth
-e "REGISTRY_AUTH=htpasswd"
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm"
-e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/registry.password"
registry:2

Transport Layer Security (TLS)

TLS verschlüsselt die Kommunikation zwischen Docker Clients und Registry, schützt vor Man-in-the-Middle-Angriffen und sorgt für Integrität der übertragenen Images.

Selbstsigniertes Zertifikat erstellen

mkdir -p certs
openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key -x509 -days 365 -out certs/domain.crt

Registry mit TLS starten

docker run -d -p 5000:5000 
  --restart=always 
  -v /auth:/auth 
  -v /certs:/certs 
  -e "REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt" 
  -e "REGISTRY_HTTP_TLS_KEY=/certs/domain.key" 
  registry:2

Zugriffsrechte und Rollen

Neben Auth und TLS ist eine feinere Zugriffskontrolle wichtig. Harbor und Nexus bieten Role-Based Access Control (RBAC), um Benutzerrechten granular zuzuweisen.

Beispiele für Rechtevergabe in Harbor

CI/CD-sichere Tokens

# Harbor API Token erzeugen
curl -u user1:password -X POST https://harbor.example.com/api/v2.0/users/1/robotaccounts -d '{"name":"ci-token"}'

Best Practices für Registry Security

Praxisbeispiele

Registry starten mit Auth und TLS

docker run -d -p 5000:5000 
  --restart=always 
  -v /auth:/auth 
  -v /certs:/certs 
  -e "REGISTRY_AUTH=htpasswd" 
  -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" 
  -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/registry.password" 
  -e "REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt" 
  -e "REGISTRY_HTTP_TLS_KEY=/certs/domain.key" 
  registry:2

Image push mit Auth

docker login localhost:5000
docker tag myapp localhost:5000/myapp:1.0
docker push localhost:5000/myapp:1.0

Roboter-Account für CI/CD

curl -u user1:password 
  -X POST https://harbor.example.com/api/v2.0/projects/1/robots 
  -d '{"name":"ci-build","access":[{"resource":"repository","action":"push","effect":"allow"}]}'

Zusammenfassung

Docker Registry Security basiert auf drei Säulen: Authentifizierung, TLS und Zugriffsrechte. Auth sichert den Benutzerzugang, TLS verschlüsselt die Kommunikation und RBAC oder Roboter-Accounts steuern den Zugriff granular. Die konsequente Umsetzung dieser Maßnahmen erhöht die Sicherheit, reduziert Risiken für Produktionsumgebungen und ermöglicht vertrauenswürdige, kontrollierte Container-Deployments.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version