Dockerコンテナのセキュリティ

さまざまなエンタープライズ ワークロードとクラウドネイティブ アプリが Docker コンテナーを使用して実行されます。 その結果、Dockerコンテナのセキュリティは、 クラウドワークロードのセキュリティDockerコンテナの保護は、強力なセキュリティ体制を維持したい企業にとって必須です。 

ここでは、この人気のあるコンテナプラットフォーム、Dockerコンテナのセキュリティに関する一般的な問題、ベストプラクティス、および現代の企業のコンテナセキュリティを向上させることを目的としたツールについて詳しく見ていきます。

デモをリクエストする ホワイトペーパーを読む(英語)

Dockerとは?

Dockerは、開発者やシステム管理者が、すべての依存関係を持つアプリケーションを標準化されたコード単位にパッケージ化できるようにするコンテナプラットフォームです。 

Dockerコンテナを使用すると、企業はハイパースケールのクラウドプラットフォームからオンプレミスの共有マシンまで、幅広い環境でアプリケーションを分離されたプロセスとして実行できます。 プラットフォームの俊敏性、使いやすさ、スケーラビリティにより、Dockerコンテナは最新のクラウドネイティブインフラストラクチャの定番となっています。

Docker のしくみ

Dockerは、企業がコードを実行するための標準プラットフォームを提供することで機能します。 特定のアプリに必要なすべてのバイナリ、ライブラリ、依存関係を 1 つの不変コンテナー イメージにパッケージ化します。

Dockerコンテナイメージは、Dockerfileと呼ばれるテキストファイルで作成できます。 イメージが作成されると、必要な回数だけインスタンス化して、コンテナー エンジン (Docker Engine や Podman など) 上でワークロードを Docker コンテナーとして実行できます。 コンテナは軽量で高速、インスタンス化が容易で、拡張性が高いため、仮想マシンやベアメタルサーバー上で動作する本格的なオペレーティングシステムよりも、多くのCI/CDワークフローやクラウドネイティブなマイクロサービスアーキテクチャに適しています。

Dockerコンテナのセキュリティ

また、Dockerの人気は、攻撃者にとって価値の高い標的にもなっています。 次のような脅威によって実証されているように、 Moneroクリプトマイナーを使用した悪意のあるコンテナイメージをDocker Hubなどのパブリックコンテナレジストリに投稿する そして、次のようなより微妙なセキュリティ問題 Docker cpの脆弱性(CVE-2018-15664)そのため、企業はコンテナを安全に保つために、共通のDockerエコシステム全体の脅威を考慮する必要があります。 

最も多くをいくつか見てみましょう コンテナ セキュリティ Dockerコンテナを実行している企業が直面している脅威と、DevSecOpsチームがそれらを軽減するのに役立つベストプラクティス。

Dockerのセキュリティ問題

Dockerによると、企業がDockerのセキュリティレビューで考慮すべき主な領域は4つあります。 それらは次のとおりです。

  • カーネルのセキュリティ 
  • Docker デーモンの攻撃対象領域 
  • 構成の課題
  • カーネルのセキュリティ強化機能と、それらがDockerコンテナに与える影響

これらのDockerセキュリティの考慮事項に加えて、企業は、コンテナイメージのソース、特定のコンテナが使用するライブラリとバイナリ、既知の脆弱性のパッチ適用、コンテナの構成と通信の複雑さを考慮することも重要です。 

これらすべてを念頭に置いて、企業がセキュリティ体制を評価する際に考慮すべき最も重要なDockerセキュリティの問題のいくつかは次のとおりです。

  • 安全でないコンテナイメージ: 設定ミスであろうと、あからさまな悪意であろうと、リポジトリから安全でないイメージをプルしてデプロイすると、企業のセキュリティ体制を即座に低下させることができます。 その好例が、Docker Hubで公開されている400万個のコンテナをスキャンしたところ、 6,000件が悪意があり、半数以上が重大な脆弱性を持っていました.
  • 攻撃対象領域: コンテナー内のネットワーク ポート、ファイル、ライブラリ、依存関係が開いているほど、攻撃対象領域が大きくなります。 コンテナ内の未使用のコンポーネントや不要なコンポーネントは、肥大化を助長するだけでなく、攻撃者の潜在的な侵入口の数も増加させます。 
  • 特権フラグの使用:ザ  –特権 フラグを使用すると、Docker コンテナーを完全な権限で実行し、デバイス cgroup コントローラーの制限を回避できます。 このフラグの使用は、非常に狭いユースケースに限定する必要があります。
  • ホスト環境のセキュリティ: コンテナエンジンが実行される基盤となるカーネルとホストオペレーティングシステムの脆弱性により、エンタープライズワークロードが危険にさらされる可能性があります。 企業がDockerホスト環境を制御している場合は、ホスト環境の強化とパッチ適用が必須です。 
  • コンテナオーケストレーションのセキュリティ: Kubernetes(K8s)などのオーケストレーションプラットフォームにより、企業はコンテナを効果的に管理およびデプロイできます。 その結果 K8sセキュリティ は、Dockerコンテナのセキュリティの重要な側面です。
  • コンテナの可視性: 可視性は、セキュリティの基本的な側面です。 ただし、従来の監視およびセキュリティ スキャン ツールでは、コンテナーのワークロードを詳細に可視化できるとは限りません。

Dockerセキュリティのベストプラクティス

一般的なDockerコンテナのセキュリティ問題にさらされるのを制限するために、企業が従うことができるDockerセキュリティのベストプラクティスがいくつかあります。 効果的なパッチ管理などの基本に加えて、 shifting security leftここでは、最も重要なものをいくつか紹介します。

  • 最小特権の原則に従う: セキュリティ ポリシーと構成により、コンテナーとユーザーがジョブの実行に必要な最小限の機能セットのみを実行できるようにする必要があります。 戦術的な観点から見ると、これは企業が次のような対策を講じる必要があることを意味します。 きめ細かなIAMポリシー、ルートレスモードでコンテナを実行し、最小限のベースコンテナイメージを使用し、ネットワークレイヤーをロックダウンし、Dockerデーモンソケットを公開しない、 –特権 フラグを設定し、可能な限り読み取り専用のファイルシステムを使用します。
  • 信頼できるコンテナのみを実行する: Dockerコンテナレジストリからプルされたコンテナの使用を、信頼できる署名付きイメージのみに制限することで(署名付きタグやDocker Content Trustを使用するなど)、脆弱なコンテナイメージに対する企業の露出を大幅に減らすことができます。
  • リソースクォータの適用: リソースクォータは、リソースの量を制限します (例: CPU と RAM) を Docker コンテナーが消費できます。 リソースクォータを設定すると、コンテナが侵害された場合に、攻撃者がホストリソースを消費したり、他のサービスに影響を与えたりする能力が制限される可能性があります。 
  • 容器をできるだけ隔離する: コンテナはLinux環境でプロセスとして実行されるため、企業がカーネルエスケープから保護し、コンテナ間の論理的な分離を改善できるさまざまなソリューションが利用可能です。 独自のホスト環境を維持している企業の場合、AppArmor、cgroups、Linux 名前空間、SELinux などのソリューションを使用すると、Docker 環境をセキュリティで保護できます。
  • プロアクティブな監視とスキャン: CI\CD パイプライン 全体でエンドツーエンドのスキャンとプロアクティブな監視により、企業は脅威を迅速に検出し、コンテナー イメージの脆弱性を特定し、問題を迅速に修復できます。 このベストプラクティスには、企業がDockerコンテナのセキュリティ問題を検出するために必要なきめ細かな可視性を提供するツールが不可欠です。

Docker Security With Check Point

ここでベストプラクティスを実装し、 コンテナワークロードの保護企業は、Dockerと最新のDevSecOpsパイプラインを念頭に置いて構築されたセキュリティソリューションを必要としています。 Check Point’s Container Security プラットフォームは、Dockerコンテナを保護し、コンテナセキュリティを大規模に実装するためのツール一式を企業に提供します。

For example, with Check Point, enterprises can leverage image security scanning to detect security issues with container images and proactively suggest remediation steps. 

Additionally, with Check Point Container Security platform, enterprises also gain:

  • マルチクラウド環境のすべてのクラウドを完全に保護します。
  • アドミッションコントローラーは、ポリシーを設定し、クラスター間で最小特権アクセスを適用します。 
  • 埋め込まれた資格情報と脆弱性を検出するコードスキャン。
  • 自動リスク評価と最小特権IAMロールの生成によるセキュリティ体制管理。
  • リアルタイムの脅威対策とランタイム保護。
  • セキュリティ制御の自動デプロイメント DevSecOps パイプライン.
  • 侵入検知と脅威インテリジェンス。 

詳細については、以下を参照してください。 sign up for a container security demo led by a Check Point cloud security expert.デモでは、クラウドセキュリティの専門家が、最新のクラウドネイティブ環境に関連するコンテナセキュリティのベストプラクティスと、自動化を活用してDockerを実装する方法を探ります。

最新のコンテナセキュリティのベストプラクティスの詳細については、 コンテナとKubernetesのセキュリティに関するガイドをダウンロードしてください.この詳細なセキュリティガイドでは、企業が直面しているセキュリティの課題について、エビデンスに基づいた洞察を提供し、それらに大規模に対処するための実践的なアプローチを探ります。