
コンテナセキュリティを掌握する
これはOWASP Docker Top 10です。作業中のドキュメントです。
このドキュメントは、セキュアなコンテナ化環境を構築するための最も重要な10のセキュリティ項目を説明しています。ゼロから始める場合の仕様書として使用でき、また、この作業を委託する業者に渡すこともできます。
既存のインストール環境を監査またはセキュアにするためにも使用できますが、特にここではセキュリティについて非常に早い段階で考え始めるべきです。最適なのは設計段階です。後になると、下した決定の一部を変更することが難しくなったり、費用や時間の面でコストがかかったりします。
このドキュメントの名前はOWASP Top 10に似ていますが、内容はかなり異なります。まず、OWASP Top 10のように収集されたデータに基づくリスクについてではありません。次に、ここでの10項目は(プロアクティブな)コントロールに類似しています。
このガイドは、開発者、監査人、アーキテクト、システムおよびネットワークエンジニア向けです。上で示したように、このガイドを外部の業者向けに使用して、契約に正式な技術要件を追加することもできます。情報セキュリティ責任者にとっても、ベースラインのセキュリティ要件およびそれ以上を満たすために、ある程度の関心があるはずです。
これらの10項目は(この段落の下を参照)主にシステムおよびネットワークのセキュリティと、システムおよびネットワークのアーキテクチャに関するものです。開発者としてそれらの専門家である必要はありません。それがこのガイドの目的です。しかし、上で示したように、これらの項目について早い段階で考え、対処し始めるのが最善です。ただ単に構築を始めないでください。
項目のうちの1つは誤解されるべきではありません。パッチ管理は技術的なポイントではありません。これは管理プロセスです。最後に、コンテナ化についてあまり心配していなかった技術管理または情報セキュリティ管理にとって、このドキュメントは関連するリスクについての洞察も提供します。
Docker環境におけるセキュリティは、しばしば誤解されているように思われました。脅威が何であるべきかは、非常に議論の多い問題でした。そのため、Docker Top 10の項目に入る前に、脅威をモデル化する必要があり、これはこのドキュメントの前半で行われています。これはセキュリティへの影響を理解するのに役立つだけでなく、タスクの優先順位付けも可能にします。
CONTRIBUTING.mdを参照してください。未解決の項目への貢献を容易にするため、対応する開発ブランチ(D06_dev、D07_devなど)に対してPRを提出してください。
Dockerとdocker-composeがインストールされていれば、PDF版を自分でビルドできます。
docker-compose run --rm build
これはこのリポジトリでは頻繁に更新されません。そうしないとリポジトリが散らかるためです。
このプロジェクトの名前には「Docker」という言葉が含まれていますが、少し抽象化すれば他のコンテナ化ソリューションにも使用できます。Dockerは現時点で最も人気があるため、詳細な部分は現時点ではDockerに焦点を当てています。これは将来変更される可能性があります。
サーバー上で3つ以上のコンテナを実行している場合は、おそらくそれらを管理するオーケストレーションソリューションがあるでしょう。そのようなツールの_特定の_セキュリティ上の落とし穴は、現在このドキュメントの範囲外です。これは、このガイドが手動で管理される1つまたは少数のコンテナだけに関するものであるという意味ではありません。むしろ逆で、そのようなオーケストレーション環境において、コンテナとそのネットワーキングおよびホストシステムを見ているのであって、例えば_Kubernetes_、Swarm、Rancher、_OKD/OpenShift_などの特別な落とし穴についてではないということです。
正直なところ、人間にとって10という数字は覚えやすく、すべてをまとめる際に、これら10項目が最も重要であると考えられました。