
Selbstgehostetes SSH-Zugriffsgateway in Go mit OIDC/LDAP-Authentifizierung, RBAC, MFA, Sitzungsaufzeichnung, Audit-Export, Verschlüsselung im Ruhezustand, IP-Regeln und Richtliniendurchsetzung.
GateKeeper ist ein selbst gehostetes SSH-Zugriffsgateway, geschrieben in Go.
Es fungiert als zentrale Steuerungsschicht vor SSH und bietet Zugriffskontrolle, MFA-Durchsetzung, Sitzungsaufzeichnung, Auditierung und Richtliniendurchsetzung --- alles als einzelne Binärdatei mit integrierter Web-UI.
Keine externe Steuerungsebene. Keine SaaS-Abhängigkeit.
GateKeeper ist kein traditioneller minimaler "Bastion Host" im klassischen gehärteten Jump-Box-Sinne.
Stattdessen ist es ein SSH-Zugriffsgateway, das darauf ausgelegt ist, Authentifizierung, Autorisierung und Auditierung für SSH-Umgebungen zu zentralisieren.
Das Ziel ist kontrollierter Zugriff und Sichtbarkeit --- kein gehärtetes Zero-Service-Betriebssystemmodell.
GateKeeper ist funktionsfähig und wird aktiv getestet.
GateKeeper ist für Linux konzipiert. Linux ist die unterstützte Produktionsplattform.
Docker ist die empfohlene Methode, um GateKeeper für konsistente und sichere Bereitstellungen auszuführen.
Windows- und macOS-Builds können für die Entwicklung funktionieren, aber Produktionsbereitstellungen sollten Linux verwenden.
git clone https://github.com/judsenb/gatekeeper.git
cd gatekeeper
make build
./gatekeeper
Beim ersten Start öffnen:
docker compose up -d
SQLite ist der Standard. Konfigurieren Sie Postgres bei Bedarf über Umgebungsvariablen.
GateKeeper verwendet eine YAML-Konfigurationsdatei mit Überschreibungen durch Umgebungsvariablen.
Häufige Umgebungsvariablen:
Wenn TLS-Dateien vorhanden sind, leitet HTTP auf HTTPS um. Zertifikate werden bei Aktualisierung automatisch neu geladen.
make build
make test
make cover
make check
Tests verwenden In-Memory-SQLite. CI führt Linting, Tests und Schwachstellenprüfungen aus.
MIT