プラットフォームハードニング
このページでは、DuoKey の基盤となる OpenShift プラットフォームをどのようにハードニングするかを 説明します。これらのコントロールはインストール時に構成され、引き渡し時に検証されます。
ワークロードセキュリティ: SCC と Pod Security
- Security Context Constraints (SCC) — DuoKey ワークロードは
restricted-v2SCC の下で実行されます: 非 root、権限昇格なし、Linux ケーパビリティのドロップ、可能な限り 読み取り専用ルートファイルシステム。 - Pod Security Admission (PSA) — 名前空間には
restrictedPod Security Standard を強制するようにラベルが付けられ、アドミッション時に特権 Pod をブロックします。
# Enforce the restricted Pod Security Standard on the namespace
apiVersion: v1
kind: Namespace
metadata:
name: duokey
labels:
pod-security.kubernetes.io/enforce: restricted
pod-security.kubernetes.io/audit: restricted
pod-security.kubernetes.io/warn: restricted
DuoKey のコンポーネントは privileged、hostNetwork、hostPath のいずれも必要としません。
保存時の暗号化
- etcd 暗号化 — OpenShift の etcd 暗号化を有効にして、Kubernetes Secret と構成が
aescbc/aesgcmで保存時に暗号化されるようにします。 - ボリューム暗号化 — 永続ボリュームは、ODF クラスター全体の暗号化またはストレージ層の LUKS を介して暗号化されます。
- シークレット — アプリケーションシークレットは etcd に長期間保存されることはありません。 シークレットマネージャーからインメモリで注入されます (シークレットマネージャー統合を参照)。
# Enable etcd encryption
apiVersion: config.openshift.io/v1
kind: APIServer
metadata:
name: cluster
spec:
encryption:
type: aesgcm
イメージセキュリティとサプライチェーン
- 信頼されたレジストリ — イメージは内部レジストリ (Quay / ミラー) から取得されます。 エアギャップサイトでは、すべてのイメージが事前にミラーリングされます。
- イメージ署名 — コンテナイメージは Sigstore/cosign で署名・検証されます。 アドミッションポリシーは未署名のイメージを拒否します。
- 脆弱性スキャン — Quay/Clair またはお客様のスキャナーをパイプラインに統合します。 CVE しきい値を超えるイメージの展開をブロックします。
- アドミッション制御 — OpenShift の署名検証を使用し、オプションでポリシーエンジン (Kyverno / OPA Gatekeeper) を組織的なガードレールとして使用します。
RBAC
DuoKey とプラットフォームのアクセスは最小権限に従います:
- ワークロードの ServiceAccount には、必要な権限のみが付与されます。
- 人間のアクセスは IdP を介して仲介され (アイデンティティと SSOを参照)、 スコープ付きのクラスターロールにマッピングされます。
- 日常的な操作のための常設クラスター管理者はありません。特権アクションはジャストインタイムで 監査された昇格を使用します。
FIPS モード (防衛 / 規制対象)
OpenShift は FIPS 140-2/3 検証済み暗号モードで実行できます。インストール時に有効にすると、 クラスターはエンドツーエンドで FIPS 検証済みの暗号モジュールを使用します。鍵のトラストルートに ついては、FIPS モードを DuoKey MPC および/または Securosys HSM と組み合わせます (シークレットマネージャー統合を参照)。
ノードと OS のハードニング
- 不変 OS — ワーカー/コントロールプレーンノードは、Machine Config Operator によって 管理される不変でコンテナ最適化された OS である Red Hat CoreOS (RHCOS) を実行します。
- SSH ドリフトなし — ノード構成は宣言的です。アドホックな変更は自動的に元に戻されます。
- ベンチマーク — CIS Kubernetes/OpenShift Benchmark を適用し、防衛用途には OpenShift Compliance Operator を介して DISA STIG プロファイルを適用します。
# Run a CIS/STIG scan with the Compliance Operator
oc apply -f - <<'EOF'
apiVersion: compliance.openshift.io/v1alpha1
kind: ScanSettingBinding
metadata:
name: cis-scan
namespace: openshift-compliance
profiles:
- name: ocp4-cis
kind: Profile
apiGroup: compliance.openshift.io/v1alpha1
settingsRef:
name: default
kind: ScanSetting
apiGroup: compliance.openshift.io/v1alpha1
EOF
監査ロギング
- Kubernetes/OpenShift の API 監査ログは、すべての特権アクションを記録します。
- アプリケーションログとアクセスログは SIEM に送信されます。
- 保持と SIEM 統合については、コンプライアンスと監査を参照してください。
ハードニングチェックリスト
- ワークロードが
restricted-v2SCC の下で実行され、名前空間がrestrictedPSA を強制 - etcd 暗号化が有効 (
aesgcm) - 永続ボリュームが保存時に暗号化されている
- イメージが署名 (cosign) され、信頼された/ミラーリングされたレジストリから取得
- デフォルト拒否の NetworkPolicy が配置されている (ネットワークセキュリティを参照)
- RBAC 最小権限、常設クラスター管理者なし
- FIPS モードが有効 (必要な場合) + HSM トラストルート
- Compliance Operator を介して CIS/STIG スキャンに合格
- API 監査ロギングが SIEM に転送されている