In einem Monolithen lebt die Sicherheit am Perimeter — Firewall, WAF, HTTPS. Alles dahinter ist vertrauenswürdig. Bei Microservices ist der Perimeter überall. Jeder Service ist ein potenzieller Angriffsvektor. Zero Trust: Niemandem vertrauen, alles verifizieren.
Transport Security: mTLS¶
Mutual TLS — beide Seiten der Kommunikation authentifizieren sich mit einem Zertifikat. Service A verifiziert Service B und umgekehrt. Verschlüsselte Kommunikation + Authentifizierung in einem. Die Zertifikatsverwaltung ist aufwendig — ein Service Mesh automatisiert das.
API Gateway als Sicherheitsgrenze¶
Ein API Gateway (Zuul, Kong, Nginx) ist der einzige Zugangspunkt. Authentifizierung (OAuth-Token-Validierung), Rate Limiting, IP Whitelisting, Request-Validierung — alles an einer Stelle. Interne Services hinter dem Gateway müssen keine Tokens validieren (sollten es aber).
Service-to-Service-Authentifizierung¶
Optionen: JWT-Tokens vom Gateway propagiert, Service Accounts mit Client Credentials, mTLS-Zertifikate. Wir haben uns für JWT-Propagierung entschieden — das Gateway validiert das User-Token, fügt Service Claims hinzu und leitet an interne Services weiter.
Secrets Management¶
Passwörter, API-Schlüssel, Zertifikate — nicht im Code, nicht in Umgebungsvariablen (sichtbar in docker inspect). HashiCorp Vault für zentrales Secrets Management. Dynamische Credentials mit automatischer Rotation.
Netzwerk-Policies¶
Definieren Sie, welche Services miteinander kommunizieren dürfen. User Service → Order Service: ja. User Service → Payment Service: nein (nur über Order). Netzwerk-Mikrosegmentierung.
Sicherheit ist eine architektonische Entscheidung¶
Microservices-Sicherheit ist kein Nachgedanke — sie muss von Anfang an Teil des Designs sein. mTLS, JWT-Propagierung, Secrets Management, Netzwerk-Policies. Defense in Depth.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns