
Zero-Trust SSH CA
Ephemera एक हल्का, स्व-होस्टेड SSH प्रमाणपत्र प्राधिकरण (CA) है जिसे इंफ्रास्ट्रक्चर के लिए ज़ीरो-ट्रस्ट पहुँच लागू करने हेतु डिज़ाइन किया गया है। यह स्थिर SSH कुंजियों को अल्पकालिक प्रमाणपत्रों से बदलता है, हार्डवेयर-समर्थित WebAuthn MFA को एकीकृत करता है, और क्रिप्टोग्राफिक रूप से सत्यापन योग्य ऑडिट ट्रेल बनाए रखता है।
[!NOTE] विहित स्रोत: Codeberg
GitHub मिरर: GitHub (उपलब्धता और होस्टिंग के लिए)
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
Ephemera क्या करता है: यह नियंत्रित करता है कि किसे पहुँच मिल सकती है और कितनी देर के लिए।
Ephemera क्या नहीं करता: रनटाइम मॉनिटरिंग, MITM प्रॉक्सिंग, कमांड निरीक्षण।
प्रवर्तन: पूर्णतः मूल OpenSSH के भीतर — लक्ष्य सर्वरों पर कोई Ephemera एजेंट नहीं।
कुंजी रोटेशन: आवश्यक नहीं — प्रमाणपत्र स्वतः समाप्त हो जाते हैं।
Ephemera मूल OpenSSH सुविधाओं पर निर्मित एक स्व-होस्टेड SSH प्रमाणपत्र प्राधिकरण है। यह दीर्घजीवी SSH कुंजियों को अल्पकालिक प्रमाणपत्रों से बदलता है, जो जस्ट-इन-टाइम, स्पष्ट भौतिक उपस्थिति और ऑडिट योग्य विशेषाधिकार वृद्धि के साथ जारी किए जाते हैं।
यह उन टीमों के लिए डिज़ाइन किया गया है जो बिना MITM प्रॉक्सी, कस्टम प्रोटोकॉल या क्लाउड निर्भरता के केंद्रीकृत SSH शासन चाहती हैं।
मुख्य SSH CA कार्यक्षमता: प्रोडक्शन-रेडी
ट्रस्ट बजटिंग: प्रायोगिक (ऑप्ट-इन, परिवर्तन के अधीन)
प्रायोगिक सुविधाएँ स्पष्ट रूप से अलग की गई हैं और डिफ़ॉल्ट रूप से अक्षम हैं।
पारंपरिक SSH लैपटॉप और सर्वरों में फैली दीर्घजीवी निजी कुंजियों पर निर्भर करता है। एक बार कुंजी लीक हो जाने पर, जब तक आप इसे खोज नहीं लेते और हर जगह कुंजियों को रोटेट नहीं कर देते, पहुँच बनी रहती है। Ephemera स्थिर कुंजियों को अल्पकालिक प्रमाणपत्रों से बदल देता है जो स्वतः समाप्त हो जाते हैं, जिससे दुरुपयोग की अवधि महीनों से घटकर मिनटों में रह जाती है।
जस्ट-इन-टाइम एक्सेस : प्रमाणपत्र मिनटों में समाप्त हो जाते हैं (डिफ़ॉल्ट 5 मिनट), जिससे चोरी की गई साख के दुरुपयोग की संभावना कम हो जाती है।
WebAuthn प्रवर्तन : प्रमाणपत्र जारी करने के लिए YubiKey या TouchID के माध्यम से भौतिक MFA (FIDO2) इंटरैक्शन आवश्यक है।
संप्रभु पुनर्प्राप्ति : एन्क्रिप्टेड बैकअप Shamir's Secret Sharing द्वारा सुरक्षित होते हैं, जिसे पुनर्स्थापित करने के लिए कोरम (quorum) आवश्यक है।
सत्यापन योग्य ऑडिट : सभी CA क्रियाएँ छेड़छाड़-स्पष्ट इतिहास के लिए Merkle-श्रृंखलाबद्ध बही (ledger) में दर्ज की जाती हैं।
विस्तृत RBAC : YAML-आधारित पॉलिसी इंजन भूमिकाओं, संसाधनों और शर्तों के आधार पर पहुँच को परिभाषित करता है।

Ephemera में ट्रस्ट बजटिंग नामक एक प्रायोगिक, ऑप्ट-इन शासन प्रिमिटिव शामिल है।
ट्रस्ट बजटिंग प्रमाणपत्र जारी करने के समय संचयी विशेषाधिकार प्राप्त प्राधिकरण को सीमित करती है, पहुँच को एक सीमित, दृश्यमान संसाधन मानकर। प्रत्येक प्रमाणपत्र जारी करना एक स्पष्ट बजट उपभोग करता है। जब बजट समाप्त हो जाता है, सामान्य जारी करना तब तक रुक जाता है जब तक बजट रीसेट नहीं होता या कोई अलग आपातकालीन (ब्रेक-ग्लास) मार्ग उपयोग नहीं किया जाता।
यह तंत्र:
ट्रस्ट बजटिंग प्रायोगिक है और इसे बदला या हटाया जा सकता है।
दस्तावेज़ीकरण: docs/trust_budgeting.md
Ephemera में GateBridge शामिल है, जो एक शैडो मूल्यांकन प्रणाली है जो उत्पादन व्यवहार को प्रभावित किए बिना वैकल्पिक इंजन (Gate0) के विरुद्ध पॉलिसी निर्णयों को मान्य करती है।
policy-shadow.log)प्रत्येक प्रविष्टि में शामिल है:
| फ़ील्ड | विवरण |
|---|---|
timestamp | ISO 8601 UTC टाइमस्टैम्प |
match | बूलियन — क्या दोनों इंजन सहमत थे? |
versions.bridge | GateBridge Python संस्करण |
versions.gate0 | Gate0 CLI संस्करण |
versions.policy_hash | policy.yaml का SHA256 हैश |
context_hash | कैननिकलाइज़्ड इनपुट का SHA256 हैश |
yaml_decision | YAML इंजन परिणाम |
gate0_decision | Gate0 इंजन परिणाम |
snapshot | पूर्ण संदर्भ (केवल बेमेल पर, आकार-सीमित) |
GET /api/admin/gate0/status
रिटर्न:
{
"bridge_version": "1.0.0",
"gate0_version": "v0.2.1",
"policy_hash": "sha256:8f4b...",
"status": "healthy",
"last_mismatch": null,
"telemetry": {
"latency_p50_ms": 2.3,
"latency_p95_ms": 5.1,
"latency_p99_ms": 8.7
}
}