セキュリティと監査
Cockpit v2 における認証、認可、保管時の暗号化、改ざん検知可能なハッシュチェーン監査証跡。
認証
Cockpit v2 は、最新の検証済み暗号技術に基づく多層のアイデンティティスタックを通じて呼び出し元を認証します。
JWT セッション
短命なアクセストークンとリフレッシュトークンを組み合わせることで、認証情報が有効な期間を短く保ちます。
WebAuthn / FIDO2
サーバー側で完全な署名検証を行うパスキー認証。
完全な MFA
リカバリーコード付きの TOTP と、繰り返しの失敗時のロックアウト。
漏洩パスワードチェック
パスワードは k-匿名性を用いて Have I Been Pwned と照合されるため、平文がサービス外に出ることはありません。
ボット対策
機密性の高いフローには reCAPTCHA v3 または hCaptcha を適用し、フェイルクローズで構成されます。
外部 IdP 連携
OIDC、SAML 2.0、LDAP / AD、Azure AD、Okta、Google、Keycloak。
認可
アクセス制御は、RBAC と属性ベースアクセス制御(ABAC)の両方を提供する単一のポリシーエンジンによって行われます。権限は階層構造を持ち、組織単位(OU)にスコープされ、製品エディションによってゲーティングされます。
| 機能 | 説明 |
|---|---|
| RBAC + ABAC | 単一のポリシーエンジンがロールベースと属性ベースのルールを合わせて評価します。 |
| 階層的な権限 | きめ細かい権限が階層的にネストされ、親の付与がその配下すべてを暗黙的に含みます。 |
| OU スコープ | 付与は特定の組織単位とそのサブツリーに限定されます。 |
| エディションによる機能ゲーティング | ライセンスされたエディションに応じて機能が有効化または無効化されます。 |
完全な権限モデル、ロール階層、ABAC の各ディメンションは アクセスポリシー に記載されています。
保管時の暗号化
保存される秘密情報は、認証付き暗号化と最新のパスワードハッシュ化によって保護されています。すべてのプリミティブは確立された暗号ライブラリに由来し、独自実装の暗号は使用していません。
| 対象 | 仕組み |
|---|---|
| 保存された認証情報 | AES-256-GCM。鍵は ENCRYPTION_KEY から導出されます。 |
| パスワードハッシュ化 | 強力な業界標準のパスワードハッシュ化。 |
| 暗号技術 | 検証済みの業界標準暗号ライブラリ — 独自実装の暗号は使用しません。 |
改ざん検知可能な監査
監査証跡は Cockpit v2 の中核的な差別化要素です。すべての監査レコードは署名かつ連鎖しており、後からの挿入・編集・削除は検知可能です。
各監査レコードはHMAC-SHA256 で署名され、さらにアクティビティログ全体にわたるSHA-256 ハッシュチェーンに連結されます。各テナントは独自のチェーンヘッドを持ち、それはアトミックに前進するため、同時書き込みによってチェーンが分岐したり競合したりすることはありません。
仕組み
| 特性 | 詳細 |
|---|---|
| レコードごとの署名 | すべての監査レコードは HMAC-SHA256 署名を持ちます。 |
| ハッシュチェーン | レコードはアクティビティログ全体にわたる SHA-256 チェーンに連結されます。 |
| チェーンヘッド | テナントごとのチェーンヘッドがアトミックに前進します。 |
| 第一級の呼び出し元アイデンティティ | レコードは呼び出し元のアイデンティティ(メールとアプリケーション)を直接保持します。 |
チェーンの検証
専用の検証ルーチンがチェーンを再計算し、途切れがあれば報告するため、挿入・編集・削除はすべて明らかになります。
フェイルクローズ監査
監査はフェイルクローズです。永続的なフォレンジック監査レコードと対にできない allow 判定は、黙って許可されるのではなく拒否されます。
| 設定 | 動作 |
|---|---|
DKE_FAIL_CLOSED_AUDIT | フェイルクローズ監査の切り替え。本番環境ではデフォルトで有効。 |
DKE_FAIL_CLOSED_AUDIT を無効化すると、フォレンジック監査レコードが書き込めない場合でもアクションが進行してしまい、上記の改ざん検知保証が弱まります。本番環境では有効のままにしてください。