Zentralisiertes SSH-Zugriffsmanagement mit Warpgate, SSO und IaC
In Umgebungen mit mehreren isolierten Infrastrukturen, die von einem zentralen Engineering-Team verwaltet werden, wird der klassische Ansatz, SSH-Schlüssel über Ansible-Playbooks auf über 100 VMs zu verteilen, zum Engpass. Der Zugriff war an den Besitz von Schlüsseln gebunden, nicht an Unternehmensrollen – das führte zu manuellen Onboardings, Verzögerungen bei der Sperrung von Berechtigungen und Audit-Problemen. Die neue Lösung nutzt Warpgate als transparenten Proxy mit SSO und RBAC für automatisierte Zugriffssteuerung – ohne Agents auf den Servern.
Wichtige Schwächen des alten Ansatzes
Manuelles Benutzermanagement über Ansible verursachte massive Probleme:
- Keine SSO-Integration: Der Firmenstatus hatte keinen Einfluss auf den Zugriff.
- Manuelle Playbook-Ausführungen bei Projektänderungen.
- Verzögerungen bei Sperrungen: Offline-Hosts behielten alte Schlüssel.
- Dezentralisierte Audit-Logs, verteilt über alle Server.
Anforderungen an eine Alternative: Integration mit Unternehmens-SSO, deklaratives IaC-Management, Kubernetes-Resilienz und agentenloser Support für SSH/HTTPS/DB/K8s.
Warpgate-Funktionen
Warpgate ist ein Open-Source-Bastion-Host, der Verbindungen nach Authentifizierung der Nutzer und Überprüfung der Rollen proxyt. Es unterstützt OIDC-SSO, 2FA, Sitzungsaufzeichnung und Kommando-Auditing. Es funktioniert ohne Änderungen an den Zielressourcen und bietet eine Web-UI für Verbindungsverläufe.
Vergleich mit Alternativen
| Funktion | Warpgate | Jump Host | VPN | Teleport |
|---------|----------|-----------|-----|----------|
| Präzise Dienstbindung | ✅ | Nein | Nein | ✅ |
| Kein Client erforderlich | ✅ | Nein | Nein | ✅ |
| 2FA | ✅ | PAM | Variiert | ✅ |
| SSO | ✅ | PAM | Variiert | Bezahlt |
| Kommando-Auditing | ✅ | Nein | Nein | ✅ |
| Sitzungsaufzeichnung | ✅ | Nein | Nein | ✅ |
| Nicht-interaktive Verbindungen | ✅ | Eingeschränkt | ✅ | Wrapper |
| Selbst gehostet | ✅ | ✅ | Variiert | SaaS |
Vorteile für Multi-Projekt-Setups: Keine Lizenzkosten, IaC-Konfiguration und nahtlose Skalierbarkeit.
Architektur mit Keycloak und Terraform
SSO-Integration
Der OIDC-Provider Keycloak bildet Gruppen auf Warpgate-Rollen ab. Beispiel warpgate.yaml:
sso_providers:
- name: keycloak
label: "Login mit Keycloak"
auto_create_users: true
provider:
type: custom
client_id: warpgate
client_secret: $OIDC_CLIENT_SECRET
issuer_url: $ISSUER_URL
scopes: ["openid", "email"]
role_mappings:
'/teams/devops/warpgate-admin': 'warpgate:admin'
'/teams/devops/project-A': 'project-A'
'/teams/devops/project-B': 'project-B'
Die Gruppe /teams/devops/project-A gewährt Zugriff auf Ressourcen von Projekt A. Änderungen in Keycloak wirken sofort.
IaC mit Terraform-Provider
Terraform definiert Rollen, Ressourcen und Gateways. Struktur: Root-Warpgate + projektbezogene Ordner. Für interne Netzwerke ein inneres Warpgate als Gateway nutzen. So bleibt alles deklarativ über 100+ VMs, ohne manuelle UI-Anpassungen.
Kubernetes-Deployment mit Replicas vermeidet Single Points of Failure.
Einschränkungen und Kompatibilität
Warpgate ersetzt Ansible nicht vollständig: VMs brauchen einen technischen Benutzer für proxied Verbindungen. Engineering-Berechtigungen werden am Bastion durchgesetzt – keine persönlichen Schlüssel auf Hosts. Es skaliert mühelos auf neue Projekte ohne Playbooks.
Praktische Änderungen
- Onboarding: In Keycloak-Gruppe hinzufügen.
- Sperrung: Aus Gruppe entfernen.
- Auditing: Zentrale Sitzungslogs.
- Skalierung: Multi-Tenant ohne Risiko verwaisten Zugriffs.
Reduziert den Betriebsaufwand um 80 % beim Zugriffsmanagement.
Wichtige Erkenntnisse
- Rollengesteuerter Zugriff aus SSO, keine Server-Agents.
- Deklarative Terraform-Konfig für 100+ Ressourcen.
- Volle Sitzungsaufzeichnung und Kommando-Auditing.
- Selbst gehostet, lizenzfrei, Kubernetes-ready.
- Proxy für SSH/HTTPS/DB/K8s mit nicht-interaktivem Support.
— Editorial Team
Noch keine Kommentare.