Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ephemera — ゼロトラストSSH CA | Kitploit
ツール/GitHubGitHub/qarait/ephemera
認証と認可クラウドインフラストラクチャセキュリティ暗号化/復号化ツール構成監査ネットワークセキュリティ暗号化DevSecOpsアイデンティティ&アクセス管理 (IAM)インシデントレスポンス
GitHubqarait/ephemera

ephemera

ゼロトラストSSH CA

2916ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る

Ephemera : ゼロトラスト SSH 認証局

CI Status OpenSSF Best Practices Codacy Badge Release License: Apache-2.0 Platform Docker Python Fuzz Soak

Ephemera は、インフラストラクチャへのゼロトラストアクセスを強制するために設計された、軽量でセルフホストの SSH 認証局です。静的 SSH キーを短命な証明書に置き換え、ハードウェアバックアップされた WebAuthn MFA を統合し、暗号検証可能な監査証跡を維持します。

[!NOTE] 正規のソース: Codeberg
GitHub ミラー: GitHub (可用性とホスティングのため)

高レベルアーキテクチャ

root@kitploit:~
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 とは

Ephemera は、ネイティブの OpenSSH 機能をベースに構築されたセルフホスト SSH 認証局です。 長期間有効な SSH キーを、明示的な物理的存在と監査可能な権限昇格を伴って、ジャストインタイムで発行される短命な証明書に置き換えます。

これは、MITM プロキシ、カスタムプロトコル、クラウド依存関係なしに、集中型の SSH ガバナンスを必要とするチーム向けに設計されています。

Ephemera ではないもの

  • SSH プロキシや MITM ゲートウェイではありません
  • PAM の代替ではありません
  • ランタイム監視や動作分析ツールではありません
  • クラウドサービスではありません
  • SIEM や検出プラットフォームではありません

プロジェクトのステータス

コア SSH CA 機能: プロダクション準備完了
信頼予算管理: 実験的 (オプトイン、変更の可能性あり)

実験的機能は明確に分離されており、デフォルトで無効になっています。

なぜ Ephemera なのか?

従来の SSH は、ラップトップやサーバーに散らばった長期間有効な秘密鍵に依存しています。キーが漏洩すると、それを発見してすべての場所でキーをローテーションするまでアクセスが持続します。Ephemera は静的キーを自動的に期限切れになる短命な証明書に置き換え、不正利用の機会を数か月から数分に縮小します。

ポジショニング

最適な用途

  • 主権的デプロイメント: 外部クラウド依存なしで CA の完全な所有権を必要とするチーム。
  • エアギャップ環境: デプロイ後はアウトバウンドインターネットアクセスなしで動作するように設計。
  • 最小限のオーバーヘッド: 完全なシークレットプラットフォームを管理する複雑さなしに、強力な SSH セキュリティを必要とする組織。

不向きな用途

  • エンタープライズ IAM 統合: 複雑な AD/LDAP 階層との深い統合が必要な場合、Teleport や HashiCorp Vault の方が適しています。
  • マネージドサービス志向: Ephemera はセルフホストであり、SaaS バリアントは提供していません。

主な機能

ジャストインタイムアクセス: 証明書は数分で期限切れ(デフォルト 5 分)になり、盗まれた資格情報の悪用機会を減らします。

WebAuthn 強制: 証明書の発行には、YubiKey または TouchID を介した物理的な MFA(FIDO2)操作が必要です。

主権的回復: 暗号化されたバックアップは Shamir の秘密分散法で保護され、復元には定足数が必要です。

検証可能な監査: すべての CA アクションは、改ざん防止履歴のために Merkle チェーン化された台帳に記録されます。

きめ細かい RBAC: YAML ベースのポリシーエンジンが、役割、リソース、条件に基づいてアクセスを定義します。

Sudo Hang

実験的機能: 信頼予算管理(オプトイン)

Ephemera には、信頼予算管理と呼ばれる実験的でオプトインのガバナンスプリミティブが含まれています。

信頼予算管理は、アクセスを有限で可視的なリソースとして扱うことにより、証明書発行時に累積的な特権権限を制限します。各証明書発行は明示的な予算を消費します。予算が枯渇すると、予算がリセットされるか、別の緊急(ブレイクガラス)パスが使用されるまで、通常の発行は停止します。

このメカニズムは:

  • 証明書発行時にのみ動作します
  • ランタイム監視やエージェントを導入しません
  • デフォルトで無効です
  • セキュリティ保証ではありません

信頼予算管理は実験的であり、変更または削除される可能性があります。

ドキュメント: docs/trust_budgeting.md

GateBridge: シャドウポリシー評価

Ephemera には GateBridge が含まれています。これは、本番動作に影響を与えずに、代替エンジン(Gate0)に対してポリシー決定を検証するシャドウ評価システムです。

シャドウモードの保証

  • フェイルオープン: Gate0 が失敗、クラッシュ、タイムアウトしても、本番発行は影響を受けずに継続されます。
  • リトライなし: 評価あたり 1 回の試行 — リトアループはありません。
  • フォールバックなし: YAML ポリシーエンジンが常に権威です。
  • 観察のみ: Gate0 が証明書の発行をブロックしたり変更したりすることはありません。

ログスキーマ (policy-shadow.log)

各エントリには以下が含まれます:

ヘルスエンドポイント

root@kitploit:~
GET /api/admin/gate0/status

戻り値:

root@kitploit:~
{
  "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
  }
}

ロールバック

GateBridge は設定フラグで無効にできます。シャドウモードはフェイルオープンであり、認可決定に影響を与えません。

互換性

Gate0 CLI インターフェースへの破壊的変更はありません。シャドウログは新しいフィールドを取得しますが、後方互換性のあるパースが可能です。

クイックスタート

目標: 5 分以内に最初の SSH 証明書を発行する。

1. Ephemera を起動する

root@kitploit:~
# Clone and start
git clone https://github.com/Qarait/ephemera.git
cd ephemera
docker compose up -d

注: CA マスターパスワードは初回実行時に自動生成され、保存されます。
本番環境では、起動前に .env ファイルに CA_MASTER_PASSWORD を設定してください。

[!IMPORTANT] 本番環境へのデプロイ: ハードウェアバックアップされた鍵の分離には SoftHSM バックエンドを使用してください。CA 秘密鍵はディスクに触れません。PKCS#11 セットアップガイド を参照してください。

2. ダッシュボードにアクセスする

ブラウザで http://localhost:3000 を開きます。

デフォルトの認証情報:

  • ユーザー名: admin
  • パスワード: Docker ログを確認:
    root@kitploit:~
    docker compose logs ephemera | grep "Password:"
    

3. 最初の証明書を発行する

  1. WebAuthn MFA セットアップを完了する(ハードウェアキーまたは TouchID が必要)
  2. 「証明書をリクエスト」をクリック
  3. 証明書は 5 分間有効

代替 Compose ファイル:

  • docker-compose.dev.yml — ローカルビルドと syslog を使用した開発用
  • docker-compose.test.yml — エンドツーエンドテスト用に SSH ターゲットを含む

2. クライアントセットアップ(魔法)

root@kitploit:~
# Install the CLI from source
git clone https://github.com/Qarait/ephemera.git
cd ephemera
pip install .

# Initialize your SSH config
ephemera init

# Login to the CA
ephemera login

# Issue your first certificate
ephemera renew

# Check your status
ephemera status

# Connect securely!
ssh user@your-server

ディザスタリカバリ(暗号化バックアップ)

Ephemera は、重要なデータ(CA キー、データベース)をランダムなパスワードで暗号化し、そのパスワードを Shamir シャードに分割する安全なバックアップメカニズムを提供します。これにより、単独の人物がバックアップを復元することはできませんが、定足数があれば復元できます。

バックアップの作成

root@kitploit:~
# Create encrypted backup and split password into 5 shards (threshold 3)
ephemera backup-create --k 3 --n 5 --out-dir ./backup

これにより以下が生成されます:

  • ephemera_backup.enc (暗号化アーカイブ)
  • backup_shard_1_of_5.json など(パスワードシャード)

注: シャードは別々の安全な場所に保管してください。暗号化されたバックアップファイルは安全に保管してください(シャードなしでは役に立ちません)。

バックアップの復元

root@kitploit:~
# Restore using the encrypted file and any 3 shards
ephemera backup-restore --backup ./backup/ephemera_backup.enc --shards ./backup/backup_shard_1_of_5.json ./backup/backup_shard_2_of_5.json ./backup/backup_shard_4_of_5.json --out-dir ./restored

設定例 (policy.yaml)

Ephemera は、ロールベースのアクセス制御(RBAC)のために、強力な YAML ベースのポリシーエンジンを使用します。

root@kitploit:~
# Define Roles
roles:
  developer:
    can_request_cert: true
    max_cert_duration: 300  # 5 minutes
    allowed_principals: ["dev-user"]
    
  admin:
    can_request_cert: true
    max_cert_duration: 3600 # 1 hour
    allowed_principals: ["root", "admin"]
    can_approve_sudo: true

# Define Rules
rules:
  # Developers can only access dev servers
  - role: developer
    resource: "dev-*"
    action: "ssh"
    effect: allow

  # Admins can access everything with MFA
  - role: admin
    resource: "*"
    action: "ssh"
    effect: allow
    conditions:
      mfa_required: true

ドキュメント

  • ライブドキュメント概要
  • 設計の詳細は ARCHITECTURE.md を参照してください。
  • 脅威の前提と信頼境界については SECURITY_MODEL.md を参照してください。
  • 詳細な技術仕様については SECURITY_SPECIFICATIONS.md を参照してください。
  • 強化と運用チェックリストについては PRODUCTION_READY.md を参照してください。
  • 追加のガイドについては docs/ を参照してください。

セキュリティ

責任ある開示情報については SECURITY.md を参照してください。

コントリビュートをご希望の場合は、新規コントリビューター向けの小さなタスク をご確認ください。

[!TIP] 脅威モデルとセキュリティの前提はこちらに文書化されています。フィードバックと批評を歓迎します。

ツールをダウンロード
フィールド説明
timestampISO 8601 UTC タイムスタンプ
matchブール — 両方のエンジンが一致しましたか?
versions.bridgeGateBridge Python バージョン
versions.gate0Gate0 CLI バージョン
versions.policy_hashpolicy.yaml の SHA256 ハッシュ
context_hash正規化された入力の SHA256 ハッシュ
yaml_decisionYAML エンジンの結果
gate0_decisionGate0 エンジンの結果
snapshot完全なコンテキスト(不一致時のみ、サイズ制限あり)