
Zero-Trust SSH CA
Ephemera ist eine leichtgewichtige, selbst gehostete SSH-Zertifizierungsstelle, die entwickelt wurde, um Zero-Trust-Zugriff für die Infrastruktur durchzusetzen. Es ersetzt statische SSH-Schlüssel durch kurzlebige Zertifikate, integriert hardwaregestütztes WebAuthn MFA und führt kryptografisch überprüfbare Audit-Trails.
[!NOTE] Kanonische Quelle: Codeberg
GitHub-Spiegel: GitHub (für Verfügbarkeit und Hosting)
graph LR
subgraph Client["User (Operator)"]
SSH["SSH Client"]
HW["Hardware Key<br/>WebAuthn / YubiKey"]
end
subgraph Auth["Authentication Boundary"]
MFA["WebAuthn MFA<br/><i>Human presence required</i>"]
OIDC["OIDC<br/><i>Optional</i>"]
end
subgraph CA["Ephemera SSH Certificate Authority"]
CORE["Self-hosted CA<br/>Air-gap capable"]
POLICY["Policy Engine<br/><i>Governance at issuance</i>"]
BUDGET["Trust Budgeting<br/><i>Optional</i>"]
end
subgraph Targets["Target Servers"]
NATIVE["Native OpenSSH<br/>TrustedUserCAKeys"]
NOAGENT["No agents<br/>No SSH proxy"]
end
subgraph Audit["Audit & Recovery"]
LOG["Tamper-Evident<br/>Audit Log"]
BACKUP["Encrypted Backups<br/>Shamir Recovery"]
end
Client --> Auth
Auth -->|"Short-lived cert"| CA
CA -->|"Certificate expires<br/>automatically"| Targets
CA -.->|"Post-fact integrity"| Audit
style Auth fill:#e8f5e9,stroke:#2e7d32
style CA fill:#e3f2fd,stroke:#1565c0
style Audit fill:#fff3e0,stroke:#ef6c00
Was Ephemera tut: Regelt, wer Zugriff erhalten darf und wie lange.
Was Ephemera NICHT tut: Laufzeitüberwachung, MITM-Proxy, Befehlsinspektion.
Durchsetzung: Vollständig innerhalb von nativem OpenSSH — kein Ephemera-Agent auf Zielservern.
Schlüsselrotation: Nicht nötig — Zertifikate laufen automatisch ab.
Ephemera ist eine selbst gehostete SSH-Zertifizierungsstelle, die auf nativen OpenSSH-Funktionen aufbaut. Es ersetzt langlebige SSH-Schlüssel durch kurzlebige, Just-in-Time ausgestellte Zertifikate, mit expliziter physischer Anwesenheit und überprüfbarer Privilegieneskalation.
Es ist für Teams entwickelt, die eine zentrale SSH-Governance ohne MITM-Proxies, benutzerdefinierte Protokolle oder Cloud-Abhängigkeiten wünschen.
Kernfunktionalität der SSH-CA: Produktionsreif
Trust Budgeting: Experimentell (Opt-in, Änderungen vorbehalten)
Die experimentellen Funktionen sind klar isoliert und standardmäßig deaktiviert.
Traditionelles SSH verlässt sich auf langlebige private Schlüssel, die über Laptops und Server verteilt sind. Sobald ein Schlüssel durchsickert, bleibt der Zugriff bestehen, bis Sie ihn entdecken und die Schlüssel überall austauschen. Ephemera ersetzt statische Schlüssel durch kurzlebige Zertifikate, die automatisch ablaufen, und verkleinert das Missbrauchsfenster von Monaten auf Minuten.
Just-in-Time-Zugriff: Zertifikate laufen in Minuten ab (Standard 5m), wodurch das Zeitfenster für gestohlene Anmeldedaten verkleinert wird.
WebAuthn-Durchsetzung: Die Zertifikatsausstellung erfordert physische MFA-Interaktion (FIDO2) über YubiKey oder TouchID.
Souveräne Wiederherstellung: Verschlüsselte Backups werden durch Shamir's Secret Sharing geschützt und erfordern ein Quorum zur Wiederherstellung.
Überprüfbares Audit: Alle CA-Aktionen werden in einem Merkle-verketteten Ledger protokolliert, um eine manipulationssichere Historie zu gewährleisten.
Granulares RBAC: Eine YAML-basierte Policy-Engine definiert den Zugriff basierend auf Rollen, Ressourcen und Bedingungen.

Ephemera enthält eine experimentelle, optionale Governance-Primitive namens Trust Budgeting.
Trust Budgeting begrenzt die kumulative privilegierte Autorität zum Zeitpunkt der Zertifikatsausstellung, indem Zugriff als endliche, sichtbare Ressource behandelt wird. Jede Zertifikatsausstellung verbraucht ein explizites Budget. Wenn das Budget aufgebraucht ist, wird die normale Ausstellung gestoppt, bis das Budget zurückgesetzt oder ein separater Notfallpfad (Break-Glass) verwendet wird.
Dieser Mechanismus:
Trust Budgeting ist experimentell und kann sich ändern oder entfernt werden.
Dokumentation: docs/trust_budgeting.md
Ephemera enthält GateBridge, ein Schattenbewertungssystem, das Richtlinienentscheidungen gegen eine alternative Engine (Gate0) validiert, ohne das Produktionsverhalten zu beeinflussen.
policy-shadow.log)Jeder Eintrag enthält: