メインコンテンツへスキップ
質問に戻る

コンテナ・セキュリティとは?

コンテナセキュリティとは、コンテナ、そのアプリケーション、およびパフォーマンス(インフラストラクチャ、ソフトウェアサプライチェーン、システムツール、システムライブラリ、ランタイムを含む)をサイバーセキュリティの脅威から保護するために、セキュリティツールとポリシーを使用することです。

コンテナセキュリティの課題は何ですか?

コンテナはエコシステムの中に存在します。企業内でコンテナが単独でデプロイされることはありません。コンテナワークロードは、パブリッククラウド (AWS, GCP, Azure)、プライベートクラウド (VMware)、およびサーバーとVMで構成される従来のワークロードと統合されたハイブリッドクラウドを含むアーキテクチャの一部としてデプロイされ、コンピューティング側ではサーバーレスコンポーネントと連携します。これらの企業は、S3バケットやRDSなどのinfrastructure-as-a-service (IaaS) および platform-as-a-service (PaaS) サービスも使用している場合があります。したがって、コンテナワークロードは企業エコシステムの一部として保護される必要があります。

コンテナは一時的です。コンテナのライフサイクルはしばしば秒単位で測定されますが、一般化を困難にする高い変動性もあります。セキュリティチームは、数秒間しかオンラインにならないコンテナと、数週間オンラインになる可能性のあるコンテナのセキュリティと整合性を考慮する必要があります。

コンテナはCI/CD DevOpsパイプラインで構築およびデプロイされます。コンテナワークロードは開発者主導である傾向があります。セキュリティにとっての課題は、開発者がBornSecureなアプリケーションを生成できるようにすることです。

クラウドセキュリティポスチャ管理 (CSPM)

コンテナ向けCSPM

Skyhigh Securityは、コンテナランタイム、オーケストレーションシステム(Kubernetesなど)、コンテナワークロードを実行するIaaSインフラストラクチャ、ストレージ構成、ネットワーク構成、IAM設定/ロールなどに対して、CISベンチマークスキャンやその他のベストプラクティスの評価を提供できます。これにより、以下のことが可能になります。

  • 環境の設定がリスクの原因とならないようにする (CSPM)
  • 環境の設定が時間とともに逸脱し、意図しないリスクを露呈しないようにする

コンテナの脆弱性スキャン

コンテナはサードパーティ製コンポーネントを大幅に活用しています。コンテナビルドのすべてのコンポーネントは、既知の、または悪用可能な脆弱性がないか評価する必要があります。

脆弱性スキャンは、ビルド時にコンテナに組み込まれたコンポーネントを評価し、定期的にスキャンすることで、既知のリスクが露呈・軽減され、悪意のあるアクターがコンテナワークロードに侵入するリスクを低減します。

NanoSegmentation

既知の良好な設定に基づいてコンテナ間の通信を検出し、複雑で動的なワークロードの動作を保護します。

  • コンテナの一時的な性質に対応し、IPアドレスなどの外部要因に依存することなく、コンテナプロセス間のネットワーク通信の動作を検出し、監視します。
  • 異常な通信を検出し、ユーザーの好みに基づいて通知またはブロックします。
  • アプリケーションが時間とともに進化するにつれて、コンテナのバージョン間の通信パターンの変化を検出します。
  • 既知の悪意のあるものに対応し続けるのではなく、既知の良好な設定を活用してワークロードを保護します。

コンテナライフサイクルに対応したSkyhigh Securityソリューション

セキュリティは、開発者の作業やコンテナのようなクラウドフレンドリーなアーキテクチャの導入を妨げるものであってはなりません。Skyhigh Securityは、開発者がアプリケーションの保守に選択するツールと統合する、シームレスに統合されたセキュリティプラットフォームを提供します。コンテナセキュリティは、適切に構成されたインフラストラクチャとオーケストレーションエンジンを確保し、コンテナに組み込まれたコードの悪用リスクを評価し、コンテナワークロードのライフサイクル全体にわたる急速に変化する環境に対応できる、既知の良好なネットワーク動作を認定する柔軟なソフトウェア定義型の手法を提供することで、詳細な防御を実現できます。

シフトレフト: DevOpsからDevSecOpsへ

コンテナは、非常に開発者中心のワークロードです。開発者が使用中のアーキテクチャやサービスに対してより直接的な制御を行うため、セキュリティチームは、ポリシーを確立し、ベストプラクティスに対してデプロイメントを評価し、あらゆる環境で発生する避けられないドリフトを監視するための非同期的な方法を必要としています。コンテナとマイクロサービスアーキテクチャでは、変数と変化のペースが、以前の厳密に制御されたハードウェアまたはVMベースのデプロイメントから大幅に増加しました。コンテナのライフサイクルはしばしば数秒単位で測定されますが、一般化を潜在的に危険にする高度な変動性もあります。セキュリティチームは、数秒間しかオンラインにならないコンテナや、数週間継続してオンラインになるコンテナのセキュリティと整合性を考慮する必要があります。Skyhigh SecurityはBornSecure Containersを提供しており、これには以下が含まれます。

  • クラウドセキュリティポスチャ管理により、クラウド環境を継続的にスキャンして逸脱によるリスクを検出し、DevOpsパイプライン (シフトレフト) に統合することで、デプロイされる前にリスクが解決されることを保証します。
  • 企業が既知の脆弱性を持つコードをDevOpsパイプラインに統合してデプロイしないように、コンテナ自体のコンポーネントの脆弱性評価(シフトレフト)。Skyhigh Securityはまた、すでに構築され本番環境で稼働しているコンテナに新たな脆弱性が影響を与える時期を検出するために、コンテナアーティファクトの定期的な再スキャンも含まれています。

従来のDevOpsプロセス: 従来、セキュリティはアプリケーションが本番環境にデプロイされるまで考慮または検証されませんでした。

今日、クラウドネイティブアプリケーションにはBornSecure Containersが必要です。セキュリティはDevOpsパイプラインに組み込まれ、アプリケーションが構築される際やコードがチェックインされる際に、開発者にセキュリティフィードバックを提供します。

コンテナセキュリティ101 – 用語集

KSのk8sベースAzure向けエンタープライズコンテナプラットフォームS/Wスイート。 Dockerは、コンテナを使用してアプリケーションの作成、デプロイ、実行を容易にするために設計されたツール名であり、企業名でもあります。 ナノセグメンテーションとは、観測された挙動に基づいた、柔軟で粒度の細かいセグメンテーションのことです。
異常とは、標準、正常、または期待されるものから逸脱する事象のことです。 ドリフトとは、時間の経過とともに蓄積される設定変更や管理操作により、リスクや既知の良好な設定からの逸脱が生じる現象のことです。 ネットワーク攻撃対象領域とは、攻撃者が攻撃を成功させるために悪用しようと試みることができる環境全体の総体であり、すべてのプロトコル、インターフェース、デプロイされたソフトウェア、サービスが含まれます。
ビルドとは、観測可能で具体的な結果を持つものの構築を指します。ソースコードファイルをコンピュータ上で実行可能なスタンドアロンのソフトウェア成果物に変換するプロセスです。 EKSのk8sベースAmazon向けエンタープライズコンテナプラットフォームS/Wスイート。 パイプラインとは、開発者やDevOpsの専門家が、コードを信頼性高く効率的にコンパイル、ビルド、本番のコンピューティングプラットフォームへデプロイできるようにする一連の自動化されたプロセスです。
CICDとは、継続的インテグレーションと継続的デリバリーを組み合わせたプラクティスのことです。 ECSのk8sが広く採用される以前から存在する独自のオーケストレーションを使用するAmazon向けエンタープライズコンテナプラットフォームS/Wスイート。 特権とは、ユーザーが特定の活動のみを実行できるようにする概念です。例えば、一般ユーザーは通常、オペレーティングシステムファイルの変更を禁止されていますが、システム管理者は通常、それを許可されています。
CISベンチマークとは、コンテナやKubernetesを含むターゲットシステムの安全な構成に関するベストプラクティスです。これらのベンチマークは、Center for Internet Security (CIS) と呼ばれる非営利団体が、サイバーセキュリティ専門家の合意に基づいて開発しています。 エフェメラルとは、コンテナを定義するために使用される特性です。コンテナは短命であり、平均寿命が数時間であるため、エフェメラルであると言われます。 リポジトリ (repo)とは、関連するコンテナイメージの集合体であり、通常、同じアプリケーションまたはサービスの異なるバージョンを提供します。
コンテナとは、コードとそのすべての依存関係をパッケージ化し、アプリケーションが異なるコンピューティング環境間で迅速かつ確実に実行されるようにするソフトウェアの標準単位です。コンテナイメージは、コード、ランタイム、システムツール、システムライブラリ、設定など、アプリケーションの実行に必要なすべてを含む、軽量でスタンドアロンの実行可能なソフトウェアパッケージです。 フィンガープリンティング アーティファクトとその挙動を追跡する機能により、ユーザーはビルドに何が含まれ、そのビルドがどのように、どこで使用されているかを確認できます。

フォレンジックとは、セキュリティ侵害の影響を理解し、封じ込めるための事後分析のことです。

シフトレフトとは、セキュリティ構成と脆弱性チェックをDevOpsパイプラインに統合することです。システムが稼働するのを待つのではなく、コードがチェックまたはビルドされる際にセキュリティが導入されます。これにより、セキュリティは、従来セキュリティが行われていた本番環境よりも左側(前段階)に移行します。
コンテナレジストリとは、コンテナイメージを保存するためのリポジトリです。コンテナイメージは、アプリケーションをカプセル化する多数のファイルで構成されます。開発者、テスター、CI/CDシステムは、アプリケーション開発プロセス中に作成されたイメージを保存するためにレジストリを使用する必要があります。レジストリに配置されたコンテナイメージは、開発のさまざまな段階で使用できます。 GKE k8sベースGoogle向けエンタープライズコンテナプラットフォームS/Wスイート。

イミュータブルとは、コンテナを定義するために使用される特性です。個々のコンテナは、一度作成されるとライフサイクル全体で変更されません。

仮想マシン (VM) 物理ハードウェアシステム上に構築され、独自のCPU、メモリ、ネットワークインターフェース、ストレージを持つ仮想コンピュータシステムとして機能する仮想環境です。ハイパーバイザーと呼ばれるソフトウェアが、マシンのリソースをハードウェアから分離し、VMが利用できるように適切に分配します。
コンテナランタイム ノード上でコンテナを実行し、コンテナイメージを管理するソフトウェアです。例:Docker Engine。 k8s Kubernetesは、k8s(KとSの間に8文字あることから)と呼ばれることがあります。 ワークロード クラウドインスタンス上で実行したい、個別の機能または作業量です。
DevOps ソフトウェア開発(Dev)と情報技術運用(Ops)を組み合わせた一連のプラクティスで、システム開発ライフサイクルを短縮し、高いソフトウェア品質で継続的なデリバリーを提供することを目的としています。 Kubernetes (k8s) オープンソースのコンテナオーケストレーションシステムです。ホストのクラスタ全体でアプリケーションコンテナのデプロイ、スケーリング、運用を自動化するためのプラットフォームを提供します。 ゼロトラスト 決して信頼せず、常に検証する。ゼロトラストセキュリティとは、ネットワークの内外を問わず、誰もデフォルトでは信頼されず、ネットワーク上のリソースにアクセスしようとするすべての人に対して検証が求められることを意味します。
DevSecOps DevSecOpsは、DevOpsプロセス内にセキュリティプラクティスを統合する実践です。 マイクロセグメンテーション マイクロセグメンテーションソフトウェアは、ネットワーク仮想化技術を使用して、データセンターやクラウド環境で非常にきめ細かいセキュリティゾーンを作成し、個々のワークロードを分離して個別に保護します。