Google Cloudとコンテナの継続的なセキュリティ
本文の内容は、2020年10月20日にVicente Herrera Garcíaが投稿したブログ(https://sysdig.com/blog/nist-800-53-compliance/)を元に日本語に翻訳・再構成した内容となっております。
このブログでは、NIST 800-53準拠を達成するために満たす必要のある様々な要件と、コンテナやKubernetesのNIST 800-53要件を継続的に検証するためにSysdig Secureがどのように役立つかを取り上げます。
National Institute of Standards and Technology (NIST) は、技術革新と経済競争力を促進するための技術、測定基準、標準を開発する非規制の政府機関です。NISTにはセキュリティに関するいくつかの出版物がありますが、その中にNIST Special Publication (SP) 800-53: Security and Privacy Controls for Information Systems and Organizationsがあります。
米国連邦政府との連携を期待する請負業者やサプライチェーン企業は、サイバーセキュリティにおける対応能力を証明するために、NIST 800-53を利用しています。
コンプライアンスを検証することは、アプリケーションを迅速に提供するための第一の障害となります。規制当局は、コンプライアンスに違反した場合に金銭的な罰則を課すケースが増えています。
調査によると、以下のようになっています。
Kubernetesは動的な環境であり、資産がNIST 800-53のコンプライアンスから外れたときにそれを検知することは困難です。この新しい環境にNIST 800-53のガイドラインを明確にマッピングしなければ、チームはコンプライアンス要件を満たしていることを証明できません。その結果、NIST 800-53の監査に対応するための費用のかかる訓練が必要になり、クラウドチームのアプリケーション配信が遅れることになります。Kubernetesのコンプライアンスには、新しいアプローチが必要です。
チームは、コンテナ化されたワークロードへのコントロールを明確にマッピングし、コンプライアンスを継続的に追跡する能力を持つ必要があります。これにより、セキュリティリスクを管理し、セキュリティ監査に合格する能力に自信を持つことができるようになります。最終的には、コンプライアンスがクラウドの導入を妨げないようにすることで、ビジネスがクラウド・アプリケーションをより早く出荷できるようにする必要があります。
"SP 800-53 Revision 5 Final "は、2016年からドラフト文書となっていましたが、2020年9月23日に発行されました。2015年に発行された "Revision 4 "に取って代わり、2021年9月23日に正式に取り下げられます。NIST 800-53への準拠を目指す組織は、通常、新しい改訂版の発行から6ヶ月後に新規格の採用を検討することになります。
リビジョン5では、コントロールの記述が更新され、責任のあるエージェントに焦点を当てるのではなく、期待される結果に焦点を当てるようになりました。すべての個々のコントロールには特徴的な名称が与えられ、情報セキュリティとプライバシーは単一の目標として統合されています。2つの新しいファミリーが導入されました。「処理と透明性」と「サプライチェーン・リスク管理」です。ベースライン管理は、連邦政府機関に特化した新しい文書である NIST SP 800-53B に移され、他の組織が独自のベースラインを実施できるようになりました。全体では、コントロールの数が513から1189に増加しています。すべての変更点の詳細については、NISTのブログ記事のアナウンスを参照してください。
この記事ではリビジョン 4 に焦点を当てていますが、近日中にリビジョン 5 に関する最新の記事が公開される予定ですので、ご期待ください。
NIST 800-53は、"敵対的攻撃、ヒューマンエラー、自然災害、構造的障害、外国の諜報機関、プライバシーリスクなど、多様な脅威とリスクから組織の運営と資産、個人、他の組織、国家を保護するためのセキュリティとプライバシーのコントロールのカタログ "と定義されています。
多くの分野をカバーする非常に広範なコントロールが書かれており、コンテナやKubernetesのセキュリティに特化したものではありません。私たちは、その勧告をこれらの技術に関連する具体的なものに "翻訳 "しなければなりません。
もう一つの課題は、他の規格(NIST 800-190は18、PCI DSSは30、SOC 2は47)に比べて膨大な数のコントロール(513)があることで、この規格には特別なアプローチが必要であることがすぐにわかります。
また、別のガイドラインであるNIST SP 800-53A "Guide for Assessing the Security Controls in Federal Information Systems and Organizations "もお勧めの読み物です。これは、セキュリティ管理のベースラインを提供しており、開始時に関連する管理を選択するのに役立ちます。コントロールを要約し、以下にコンテナ、Kubernetes、およびクラウドに関連するものを特定しました。
表:NIST 800-53(Rev.4)ファミリー、コントロール数とクラウド、コンテナ、およびKubernetesのセキュリティに関連するコントロールの割合
* 注: Sysdig Secure を使用して、これらのコントロールをすべてカバーすることができます。
NIST が提供する完全な XML またはタブ区切りのコントロールリストで作業するのは大変なことです。最終的には対処する必要がありますが、最初のうちは、コンテナと Kubernetes のセキュリティに大きな影響を与えることができる部分に時間とリソースを投資した方が良いでしょう。例えば、このガイドを構築するために、各コントロールファミリーを素早く分析することから始め、次にコンテナとKubernetesセキュリティにより関連性の高いものに焦点を当てました。
すべてのファミリーとコントロールの詳細な分析は、最後のステップとして残すことをお勧めします。
ここでは、コンテナとKubernetesのセキュリティに関連性の高いコントロールファミリーを、これらの技術への適用分野の例とともに紹介します。
私たちは、コンテナとKubernetesセキュリティのためのNIST 800-53準拠を実装するための完全な包括的なガイドを準備中です。アップデートにご期待ください。
コントロールの概要: ユーザーアカウントの生成、セキュリティ保護、制御、権限の与え方
コンテナとKubernetesの場合。割り当てられたユーザーアカウントやサービスアカウントのセキュリティ制約を超えて侵入しようとするプロセスやユーザーの検知を実装する。コンテナイメージまたはランタイムレベルで実施する。
コントロールの概要: アクティビティの監査がどのように生成され、保存されるか、アラートがどのようにトリガーされ、レビューされ、対応されるか。
コンテナとKubernetesの場合:Kubernetes のイベントと一般的なセキュリティ問題の監査を可能にするツールを設定する。インフラストラクチャーの一般的なセキュリティ状態を示すレポートを生成する。
コントロールのまとめ: cypherの仕組みを実装してデータやコンポーネントの偽造を防ぐ方法
コンテナとKubernetesのために:コンテナ内の正当なシステムになりすましたり変更したりしようとする試みを検出して対抗するメカニズムを実装し、実行時にコンテナイメージからのドリフトを検出する。
コントロールの概要: システムのベースライン構成をどのように構成制御下に置き、それに対する変更を実装前にどのようにテストするか。
コンテナとKubernetesの場合:セキュリティや設定ミスの問題がないかコンテナイメージをテストする。CI パイプラインで、またはデプロイの直前に行う。
コントロールの概要: システムの欠陥を識別、修正、報告するための仕組み
コンテナとKubernetesに対応:イメージスキャン機能を備えたCI/CD用の集中型パイプラインを実装する。パイプラインを迂回するデプロイメントを傍受できるアドミッションコントローラを設置する。コンテナの実行中にしか検出できない異常な動作のランタイム検出を設定する。通知とレポーティングの仕組みを実装する。
コントロールの概要:開発者が提供するシステムに関する品質のメトリクスと保証。
コンテナやKubernetesの場合:前のポイントと同様に、コンテナに配置されたソフトウェアの設定ミスや脆弱性をチェックすることに焦点を当ててください。
コントロールの概要:インシデント対応ポリシーの特徴とインシデントの処理方法
コンテナとKubernetesの場合:コンテナとKubernetesでトリガーされたセキュリティイベントが正しく通知され、フィルタリングされ、提供された情報がインシデント対応タスクを容易にすることを確認する。
コントロールの概要: 内部システムが相互に接続する前にセキュリティコンプライアンスチェックをどのように行うか
コンテナとKubernetesの場合:セキュリティ ツール内の特定のコントロールと NIST 800-53 のファミリーに対してセキュリティ チェックをマッピングします。
NIST 800-53 rev.4には、コンテナやKubernetesの範囲外でも関連する可能性のあるコントロールを定義した他のファミリーが含まれています。他のコントロールができていることを確認したら、残りのファミリーを確認することを躊躇せずに、コントロールの完全なリストを深く掘り下げてみてください。
Sysdig Secureは、コンテナとKubernetesセキュリティに関連するすべてのコントロールをカバーするNIST 800-53コンプライアンスの検証を支援し、コンプライアンスがクラウド導入の妨げにならないようにします。ここでは、NIST 800-53のコントロールにどのように対応しているか、いくつかの例をご紹介します。
例1:Kubernetesネットワークトポロジーマップ - NIST 800-53メジャーコントロールAC-4
"情報システムは、システム内および相互接続されたシステム間の情報の流れを制御するために、承認された権限を強制します。"
Sysdigは、インフラストラクチャー上のすべてのホスト、コンテナ、プロセスのトポロジーマップを動的に生成し、ネットワーク内外のネットワーク接続をマッピングします。これらのトポロジーマップは、論理サービスとその接続方法を表示するようにカスタマイズすることもできます。
例 2: 資産インベントリ管理 - NIST 800-53 制御 AU-6(5)
"監査記録の分析と脆弱性スキャン情報、パフォーマンスデータ、情報システム監視情報の分析を統合し、不適切な活動や異常な活動を特定する能力をさらに強化する組織です。"
Sysdigには探索機能が付属しており、彼らのシステム上で実行されているメタデータによってグループ化されたすべてのホスト、コンテナ、または任意のプロセスを表示することができます。彼らはこのテーブルを使用して、どのように選択しても、すべてのシステムコンポーネントをスライス&ダイスすることができます。
例 3: カード会員データのアクセス制御 - NIST 800-53 構成管理制御 CM-3b
"組織は、情報システムへの構成制御された変更案をレビューし、セキュリティ影響分析を明示的に考慮した上で、そのような変更を承認または不承認します。"
Sysdigは、デプロイメント定義のPod仕様の要件を分析し、アプリケーション用の最小特権PSPを作成します。これは、特権ポッド、コンテナとして実行するユーザー、ボリュームなどを許可するかどうかを制御します。
例4:Kubernetesの監査証跡 - NIST 800-53 システムと情報の整合性制御 SI-4e
"組織は、法執行情報、諜報情報、またはその他の信頼できる情報源に基づいて、組織の運営と資産、個人、他の組織、または国家に対するリスクが増大していることが示された場合には、情報システムの監視活動のレベルを高める監視装置を配備します。"
Sysdigは、インシデント対応とNIST 800-53コンプライアンスを促進するために、すべてのコンテナインフラのイベントの継続的な監査を提供します。コンテナがなくなった後も、これをサードパーティ監査人のコンプライアンスの証明として使用してください。
オープンソースのFalcoをベースにしたSysdig Secureのランタイムセキュリティエンジンは、カーネルレベルのsyscall、Kubernetesの監査ログイベント、Amazon Cloudtrailのインフライベントをキャプチャーします。ランタイムイベントが利用可能になるとすぐに安全でない状況を検知し、責任者への通知、監査情報の記録、コンテナの一時停止や終了などの自動アクションを実行することができます。
Falcoルール構文の豊富な機能のおかげで、多くの動作指向のコントロールのルールを作成できます。
しかし、それらのルールをゼロから作成する必要はありません。ランタイムセキュリティのために、Sysdigは複数のコントロールとファミリを同時にカバーする多くのすぐに使えるルールを提供しています。
72のFalcoルールは、このファミリーのためにタグ付けされています。"Terminal Shell in a container"もコントロールAC-2g、AC-2(4)、AC-17、およびAU-6(8)のためにタグ付けされています。
このファミリーのためにタグ付けされた63のFalcoルール:"Clear log activities" はコントロール AU-6(8)、AU-2、AU-10、および CM-5 にもタグ付けされています。
このファミリのためにタグ付けされた19のFalcoルール:"SSL を使用しない HTTP ターゲットグループの AWS 上での作成を検出する" という制御 SC-8(1) のためのタグ付け。
このファミリーのためにタグ付けされた41のFalcoルール:コントロールAC-6(9), AC-6(10), CM-3, SI-4, AU-2のためにもタグ付けされた "Create Sensitive Mount Pod"
このファミリのためにタグ付けされた52のFalcoルール:"Update Package Repository" コントロール CM-5, SI-7, SI-4, SI-3 にもタグ付けされています。
Anitianは、NIST 800-53/FedRampに重点を置いた企業向けのサービスとしてコンプライアンスを提供しています。SysdigをAnitianのソリューションに組み込むことで、顧客は規制コンプライアンスの要件を満たすことができるようになります。
"連邦内でコンテナ技術の採用が増えるにつれ、コンテナとKubernetesのセキュリティとコンプライアンスの必要性が明らかになってきました。Sysdigはオープンソースベースのポリシーエンジンを提供するパイオニアであり、柔軟性と粒度の両方を可能にし、これらの環境を保護する幅広いNISTコントロールに対応しています。"
エミリー・カミンズ - Anitian、プリンシパルセキュリティアーキテクト
NIST 800-53ガイドラインは、連邦政府内で使用される情報システムのセキュリティを強化するために作成されました。このコントロールは、連邦政府の情報を保存、処理、または送信する情報システムのあらゆるコンポーネントに適用されます。
関連するコントロールをコンテナやKubernetesにマッピング済みのコンテナ・セキュリティ・ツールを使用して、時間を節約するためのアウトオブボックスのチェック、ダッシュボード、およびレポートを提供します。
Sysdig Secure がどのように多くの NIST 800-53 コントロールをマッピングして対処できるかについては、以下のリソースをご参照ください。