Google Cloudとコンテナの継続的なセキュリティ
本文の内容は、2020年10月27日にVicente Herrera Garcíaが投稿したブログ(https://sysdig.com/blog/soc-2-compliance/)を元に日本語に翻訳・再構成した内容となっております。
この記事では、コンテナとKubernetesのSOC 2準拠を実装するための有用なヒントを紹介します。
サービス組織の統制(SOC)レポートは、サービス組織が財務(SOC 1)や顧客データの安全性(SOC 2、SOC 3)に関する統制がどれだけ有効であるかの証拠を提供する主な方法です。これらのレポートは、米国公認会計士協会(AICPA)によって発行されます。
顧客データがどのように管理されているかについての最終的な責任はサービス組織にあるため、サービス組織である貴社は、貴社のサービスを依頼する他の企業(ユーザー企業)からSOC 2への準拠を求められることがあります。
セキュリティに関する最も重要なSOC報告書はSOC2 タイプ2です。SOC 1は財務報告に関するものであり、SOC 3とSOC 2タイプ1はSOC 2タイプ2のサブセットに過ぎません。それを踏まえて、SOC 2(タイプ2)とコンテナやKubernetesのセキュリティにどのように適用されるのかを紹介します。
SOCが他のコンプライアンス基準と異なる点の1つは、事前に定義された管理リストがないことです。SOCレポートは、ユーザーエンティティに関連するサービスに合わせて作成されます。そのため、サービス組織(サービスを提供する組織)は、サービスやユーザー企業ごとに異なるSOCレポートを作成することができます。SOCレポートを設計する際には、監査人が具体的な統制リストを確認し、承認する必要があります。
AICPAは、「セキュリティ、可用性、処理の完全性、機密性、またはプライバシーに関連するサービス組織における統制の調査に関するSOC 2報告」ガイドの中で、SOC 2の統制を設計するのに役立ついくつかの信頼領域、サービスの原則、およびセクションの記述を定義しています。
この記事では、コンテナとKubernetesを扱う企業なら誰もが設計するであろう典型的なコントロールを例に、レポートを追っていきます。
コンプライアンスを検証することは、アプリケーションを迅速に提供するための第一の障害となります。規制当局は、コンプライアンスに違反した場合に金銭的な罰則を課すケースが増えています。
調査によると、以下のようになっています。
Kubernetesはダイナミックな環境であり、アセットがSOC 2のコンプライアンスから外れた場合の検出が難しい。この新しい環境にSOC 2のガイドラインを明確にマッピングしなければ、チームはコンプライアンス要件を満たしていることを証明することができません。その結果、SOC 2の監査に対応するための費用のかかる訓練が必要になり、クラウドチームのアプリケーション配信が遅れることになります。Kubernetesのコンプライアンスには、新しいアプローチが必要です。
チームは、コンテナ化されたワークロードへのコントロールを明確にマッピングし、コンプライアンスを継続的に追跡する能力を持つ必要があります。これにより、セキュリティリスクを管理し、セキュリティ監査に合格する能力に自信を持つことができるようになります。最終的には、コンプライアンスがクラウドの導入を妨げないようにすることで、ビジネスがクラウドアプリケーションをより早く出荷できるようにする必要があります。
幸いなことに、典型的なSOC 2コントロールの多くはコンテナやKubernetesのセキュリティに関連するものではありません。影響力を持つ2つの主要なコントロールファミリーは、「論理的アクセスと物理的アクセス」と「システム運用」です。
表:SOC 2レポートの例では、クラウド、コンテナ、およびKubernetesセキュリティに関連するファミリー、コントロールの数、およびコントロールの割合が含まれています。
* 注: Sysdig Secureでこれらのコントロールをすべてカバーすることができます。
コントロールグループ CC6.1
コントロール概要:保護された情報資産をセキュリティイベントから保護するために、保護された情報資産を覆う論理的アクセスセキュリティソフトウェア、インフラストラクチャー、およびアーキテクチャー。
コンテナやKubernetesの場合:割り当てられたユーザーやサービスアカウントのセキュリティ制約を超えて侵入しようとするプロセスやユーザーの検知を実装する。コンテナイメージまたはランタイムレベルで実施する。
コントロールグループ CC6.2
コントロール概要:システム認証情報を発行し、システムアクセスを許可する前に、エンティティは新しい内部および外部のユーザーを登録し、承認する。
コンテナとKubernetesの場合:間違った資格情報を使用した管理アクションや認証されていない管理アクション、または新しい管理ロールがユーザーに割り当てられた場合を検出します。
コントロールグループ CC6.3
コントロールの概要:最小特権と職務分離の概念を考慮して、役割、責任、またはシステム設計と変更に基づいて、データとソフトウェア機能へのアクセスを許可、変更、または削除します。
コンテナとKubernetesの場合:役割ベースの制御メカニズムを弱体化させようとするアクションを検出する。
コントロールグループ CC6.6
コントロールの概要:そのシステム境界外のソースからの脅威から保護するための論理的アクセスセキュリティ対策。
コンテナとKubernetesの場合:開いている検知されていないネットワーク接続やトラフィックを検知する。
コントロールグループ CC6.7
コントロールの概要:認可された内部および外部のユーザーやプロセスへの情報の送信、移動、削除を制限し、送信、移動、削除中の情報を保護します。
コンテナとKubernetesの場合:実行時にシークレットの流出、ログやコマンド履歴の改ざん、検出されていないデータ送信バイナリの実行を検出します。Dockerfileコンテナイメージにシークレットが存在することを防止します。
コントロールグループ CC6.8
コントロールの概要:不正なソフトウェアや悪意のあるソフトウェアのデプロイを防止または検出して対処する。
コンテナとKubernetesの場合:悪意のあるソフトウェアを検出し、デプロイを阻止する。イメージスキャンまたはランタイム検出を使用し、スキャンされていないイメージのデプロイを防止したり、ランタイムで未承認のバイナリの作成を検出したりする。
コントロールグループ CC7.1
コントロールの概要:脆弱性の影響を受けやすい、または新たな脆弱性を導入する構成への変更を特定するための検出と監視の手順。
コンテナとKubernetesの場合:コンテナとKubernetesの構成に関する設定ミスのベンチマークレポートと推奨されるセキュアプラクティスを提供する。ソフトウェアコンポーネントや設定ファイルへの予期せぬ変更の実行時検知を実装する。
コントロールグループ CC7.2
コントロールの概要:システムコンポーネントとその動作を監視し、悪意のある行為、自然災害、エラーを示す異常がセキュリティイベントを表しているかどうかを判断する。
コンテナとKubernetesの場合:すべてのコンテナとクラスターの状態について、深刻度、スコープ、および実行時に実行されたコマンドに関するメタ情報を含む単一の真実のソースである一元化されたセキュリティリアルタイムイベントフィードを持つこと。
コントロールグループ CC7.3
コントロールの概要:セキュリティイベントを評価して、エンティティが目的を達成するための障害(セキュリティインシデント)が発生した可能性があるかどうかを判断し、発生した場合には、そのような障害を防止または対処するための措置を講じる。
コンテナやKubernetesの場合:すべてのセキュリティ対策をグローバルに見ることができる情報を持つ単一の真実の情報源である一元化されたセキュリティダッシュボードを持つ。重大度の高いセキュリティイベントの通知チャネルを設定する。
Sysdig Secure は SOC2 コンプライアンスの検証を支援し、コンテナと Kubernetes セキュリティに関連するすべてのコントロールをカバーして、コンプライアンスがクラウド導入の妨げにならないようにします。SOC2 コントロールに対応した例をいくつかご紹介します。
"エンティティは、システムの境界外のソースからの脅威から保護するために、論理的なアクセスセキュリティ対策を実装している"
Sysdigは、インフラストラクチャー上のすべてのホスト、コンテナ、およびプロセスのトポロジーマップを動的に生成し、それらがネットワーク内外で行うすべてのネットワーク接続をマッピングします。これらのトポロジーマップは、論理サービスとその接続方法を表示するようにカスタマイズすることもできます。
"セキュリティイベントを評価して、エンティティが目的を達成するための障害(セキュリティインシデント)が発生した可能性があるか、または発生した可能性があるかを判断し、発生した場合には、そのような障害を防止または対処するための措置をとる。"
Sysdigにはexplore機能が付属しており、システム上で実行されているメタデータによってグループ化されたすべてのホスト、コンテナ、または任意のプロセスを表示することができます。彼らはこのテーブルを使用して、選択した方法ですべてのシステムコンポーネントをスライス&ダイスすることができます。
"エンティティは、セキュリティイベントを評価して、エンティティが目的を達成するための障害(セキュリティインシデント)が発生した可能性があるか、または発生した可能性があるかを判断し、発生した場合には、そのような障害を防止または対処するための措置をとる。"
Sysdig Secure ダッシュボードは、すべてのワークロードのセキュリティの現在の状態をグローバルに把握し、深刻度と最近の履歴に関する詳細な情報を表示することで、いつ、どのような状態変化が急増したかを強調表示します。
"エンティティは、悪意のある行為、自然災害、およびエンティティの目的を達成する能力に影響を与えるエラーを示す異常がないか、システムコンポーネントとそれらのコンポーネントの動作を監視します。"
Sysdigは、インシデント対応とNIST 800-53コンプライアンスを促進するために、すべてのコンテナインフライベントの継続的な監査を提供します。コンテナがなくなった後も、サードパーティ監査人のコンプライアンスの証明としてご利用ください。
Sysdigのランタイム検知エンジンはFalcoルールを使用しており、ホストカーネル、Kubernetes監査ログ、AWS CloudTrailなどからのイベントを分析することで、不審な動作を検知することができます。
Sysdig Secureは、7つのSOC 2コントロールグループに対してタグ付けされた、すぐに使えるFalcoルールのセットを提供します。
SOC2ガイドラインは、金融部門で使用される情報システムのセキュリティを強化するために作成されました。このコントロールは、財務記録を保存、処理、または送信する情報システムのあらゆるコンポーネントに適用されます。
関連するコントロールをコンテナやKubernetesにマッピング済みのコンテナセキュリティツールを使用して、すぐに使えるチェック、ダッシュボード、レポートを提供して時間を節約しましょう。
Sysdig Secure がどのように多くの SOC2 コントロールをマッピングして対処できるかについては、以下のリソースをご覧ください。