説明
hostIPC: true を指定すると、Pod はホストの IPC 名前空間を共有します。共有メモリやセマフォなどのリソースとの分離が弱くなります。
一般的なアプリケーションでは host IPC の共有は不要です。明確な要件がなければ、デフォルトの分離状態を維持してください。
想定される影響
- Pod がホストの IPC リソースへ広くアクセスできる場合があります。
- コンテナーとホストの分離が弱くなる場合があります。
- 侵害時にホスト情報が漏えいするリスクが高まるおそれがあります。
対処方法
- Pod 設定で
hostIPC: falseを維持してください。 - host IPC が必要なシステムワークロードだけを例外として許可してください。
- hostIPC、hostNetwork、hostPID を合わせて確認し、Pod Security Admission やポリシーエンジンで基準を適用してください。
例
名前空間設定の抜粋です。アプリケーションの実行設定と IPC リソースの権限は別途管理してください。
変更前
yaml
apiVersion: v1
kind: Pod
metadata:
name: security-context-demo
spec:
hostIPC: true
containers:
- name: sec-ctx-demo
image: busybox
変更後
yaml
apiVersion: v1
kind: Pod
metadata:
name: security-context-demo
spec:
hostIPC: false
containers:
- name: sec-ctx-demo
image: busybox
補足:
- 変更前: ホストの IPC を共有し、Pod とホストの分離が弱くなります。
- 変更後: hostIPC を無効にし、デフォルトの IPC 分離を維持します。他のホスト共有設定まで自動で制限するわけではありません。