ホストPID名前空間の共有

不要なホストPIDの共有を避け、プロセスの分離を維持してください。

説明

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名前空間を共有し、コンテナーの分離が弱まります。
  • 変更後: ホストのプロセス空間からの既定の分離を維持します。

参考資料