説明
pid: "host"を使うと、コンテナー内からホストのプロセス情報がより直接見えるようになり、既定の分離が弱まります。
情報が見えても、そのプロセスを操作できるかどうかはユーザー権限やケーパビリティに依存します。一般的なアプリケーションコンテナーは、ホストのプロセス空間から分離してください。デバッグや特殊なツールで必要な場合を除き、ホストPIDの共有は避けてください。
想定される影響
- コンテナーからホストのプロセス情報をより多く参照できます。
- 分離が弱まり、ホストのリソースや他のワークロードへの影響が大きくなる可能性があります。
- 脆弱性が悪用されると、ホストへの被害が広がるおそれがあります。
対処方法
pid: "host"を削除し、既定の名前空間の分離を維持してください。- 必要な例外はデバッグ用の構成に分け、本番サービスには適用しないでください。
- コンテナーの権限、ケーパビリティ、マウントと名前空間の分離を合わせて確認してください。
例
sample/app:latestを実際のアプリケーションイメージに置き換えてください。
変更前
yaml
services:
service_name_1:
image: sample/app:latest
pid: "host"
変更後
yaml
services:
service_name_1:
image: sample/app:latest
説明:
- 変更前: ホストPID名前空間を共有し、コンテナーの分離が弱まります。
- 変更後: ホストのプロセス空間からの既定の分離を維持します。