この記事の内容
実際に
コンテナセキュリティを 始める ために 知っておきたい こと すべて
開発者の ための コンテナセキュリティ
ここ
その
コンテナイメージと
その 中の ソフトウェア コンテナ、
ホストOS、 ホスト上の 他の コンテナ間の 相互作用 ホストOS
コンテナの
ネットワークと ストレージリポジトリ 多くの
場合、 Kubernetesクラスター上に ある ランタイム環境
各レイヤーには
コンテナセキュリティとは?
従来、アプリケーションセキュリティは
この
コンテナセキュリティとは?
コンテナセキュリティとは、コンテナベースのシステムやワークロードを強固に保護するためのセキュリティツールとプロセスを導入することです。対象には、コンテナイメージや実行中のコンテナに加え、イメージの作成から実行環境へのデプロイまでに必要なすべての工程が含まれます。
以前、Dockerの
コンテナセキュリティが重要な理由
コンテナイメージには、
さまざまなエコシステムにおけるコンテナセキュリティの概要
Dockerコンテナのセキュリティ
数千万人の
Kubernetesコンテナのセキュリティ
Kubernetesには、
GKEコンテナのセキュリティ
Google Kubernetes Engine
AKSコンテナのセキュリティ
Microsoft Azure Kubernetes Service
EKSコンテナのセキュリティ
Amazon Elastic Kubernetes Service
Snyk Containerによるコンテナの保護
世の中には
Snyk Containerは
コンテナの
Snykプラットフォームの
SnykとSysdigのパートナーシップが実現するコンテナランタイムセキュリティ
Snyk Containerに
Snykは
Snykと
コンテナセキュリティのまとめ
コンテナセキュリティは
信頼できる
プロバイダーの ベースイメージから 始め、 デジタル署名で 真正性を 確認しましょう。 基本的な
OSパッケージと 選択した フレームワークだけを 含む 最小限の ベースイメージを 選び、 そこから 必要な ものを 追加しましょう。 イメージの
脆弱性を 早期かつ 定期的に チェックしましょう。 デスクトップ、
CI、 レジストリに 保存された イメージ、 クラスターで 実行中の コンテナなど、 ソフトウェアライフサイクル全体を 通じて スキャンしましょう。 基本的な
表計算形式の 脆弱性レポートにとどまらず、 緩和策の アドバイスや ベースイメージの 推奨、 問題修正に 役立つ 開発者向け情報を 提供し、 必要に 応じて セキュリティゲートを 設定できる 柔軟な スキャンツールを 選びましょう。
ライフサイクル全体を
コンテナセキュリティ用語集
コンテナスキャン:コンテナイメージ内の
パッケージや 依存関係を スキャンして、 コンテナ内の 脆弱性を 見つける プロセス コンテナ監視:コンテナ化された
アプリケーションや アーキテクチャの メトリクスを 収集し、 状態を 追跡する こと Kubernetes:クラスター全体で
コンテナ化された アプリケーションを オーケストレーションする ために、 Googleが 開発した オープンソースシステム。 K8s:Kubernetesの
略称。 Docker:世界で
最も 広く 使われている コンテナプラットフォーム。 Dockerは、 コンテナの 作成と 実行に 関する ツールや プロセスを 誰もが 利用できるようにし、 開発者が これらの 技術を 簡単に 使えるようにしました。 Dockerfile:Dockerイメージの
ビルドに 必要な 設定を 記述した テキストファイル。 Google Kubernetes Engine(GKE):Google Cloud上で
Kubernetesワークロードを 実行する ための、 Googleが 提供する マネージドサービス。 AKS:Microsoft Azureの
マネージドKubernetesサービス。 もともとは Azure Container Serviceと いう 汎用サービスでしたが、 Kubernetesが 主要な コンテナオーケストレーションプラットフォームに なると、 AKSへと 進化しました。 AWS EKS:AWS上で
Kubernetesワークロードを 実行する ための、 Amazon Web Servicesの マネージドKubernetesサービス。 AWS EKSは 単独で 利用する ことも、 AWS Fargateなどの 他の サービスと 組み合わせて 利用する こともできます。 AWS Fargateを 使うと Kubernetesインフラが ほぼ 隠蔽される ため、 ユーザーは 自身の Kubernetesポッドに 専念できます。 コンテナイメージ:実行中の
コンテナを 作成する ための 一連の 手順を 含む 静的ファイル コンテナレジストリ:コンテナイメージを
簡単に 保存・共有できる、 コンテナイメージの リポジトリ兼管理ツール。 コンテナランタイム:ホストOS上で
コンテナを 作成、 実行、 管理する ソフトウェア。 シフトレフト:開発者の
ワークフローに セキュリティを 組み込む 文化と ツール群 DevSecOps:Development
(開発)、 Security (セキュリティ)、 Operations (運用)を 組み合わせた 言葉で、 ソフトウェアの デリバリーライフサイクルに おける セキュリティを 自動化する アプローチです。
コンテナセキュリティに関するよくある質問
安全にできますが、デフォルトで安全とは限りません。従来のインフラで使われていたプロセスやツールでは、コンテナを十分に保護できない場合があります。コンテナによって分散システムのあり方が変わったため、コンテナを保護するには新たな手法が必要です。コンテナ化されたワークロードを可能な限り強固に保護するために、幅広いコンテナセキュリティソリューションを活用できます。また、活用すべきです。
コンテナのセキュリティ脆弱性は、4つのステップで修正できます。まず、コードと依存関係にある脆弱性に対処します。次に、必要最小限のベースイメージを選びましょう。最小構成から始め、必要に応じて追加します。続いて、追加するツールやパッケージを評価します。コンテナを本番環境に近づけるにつれて、追加要素はゼロにするのが理想です。最後に、コンテナが可能な限り少ない権限で実行されるよう設定します。
Dockerコンテナイメージを保護するには、rootとして実行するなどのセキュリティ上のアンチパターンを採用しなくても正常に動作するよう、対策を講じる必要があります。Dockerのドキュメントは、特に信頼性に関する内容から始めるのに最適です。プライベートレジストリでも信頼性を管理できます。ベースイメージに含まれるパッケージと依存関係を最小限に抑え、スキャンツールで脆弱性を監視することで、Dockerイメージの保護をさらに強化できます。
コンテナスキャンとは、コンテナをスキャンして潜在的なセキュリティ侵害を検出するツールやプロセスのことです。コンテナ化されたパッケージを保護するための基本的なステップです。スキャンツールでは、コード、推移的依存関係、コンテナの設定、コンテナのランタイム設定などをスキャンできます。