Security & Zero Trust in Enterprise Java
Security ist nicht nur Login. Moderne Enterprise-Systeme brauchen Identität, Rechte, Secrets, Netzwerkgrenzen, Audit und sichere Defaults.
OAuth2/OIDCJWTSecretsZero Trust
In dieser Datei
Modell
Zero Trust bedeutet: Kein Netzwerkbereich wird automatisch vertraut. Jede Anfrage braucht Identität, Kontext, Policy und Nachvollziehbarkeit.
AuthN/AuthZ
| Begriff | Bedeutung |
|---|---|
| Authentication | Wer bist du? |
| Authorization | Was darfst du? |
| Scope | Technische Berechtigung im Token |
| Role | Rolle aus Fach-/IAM-Kontext |
| Policy | Regel mit Kontext |
Service-to-Service
Für interne Kommunikation werden mTLS, kurzlebige Tokens, Audience-Prüfung und minimale Berechtigungen benötigt.
Policy statt verstreuter if-Abfragen
public final class AuthorizationPolicy { // Pattern: Policy/Strategy
public boolean mayCancel(Order order, Principal principal) {
return principal.hasRole("ORDER_MANAGER") && !order.isInvoiced();
}
}
Secrets
Secrets gehören nicht in Git, nicht in Images und nicht in Logs. Sie kommen aus Secret Manager, Kubernetes/OpenShift Secrets oder Vault-ähnlichen Systemen.
Audit
Audit muss fachliche Aktion, Akteur, Zeitpunkt, Ergebnis, TraceId und relevante Ressource enthalten.
Fehler
| Fehler | Risiko |
|---|---|
| JWT ungeprüft nur decodieren | Token-Fälschung möglich |
| Rollen im Frontend erzwingen | Umgehbar |
| Secrets in application.yml | Leak über Git/Artefakt |
| Zu breite Service-Rechte | Seitwärtsbewegung bei Angriff |