コンプライアンス(Compliance)

By 清水 孝郎 - JULY 6, 2023

SHARE:

本文の内容は、2023年7月7日現在のComplianceのマニュアル(https://docs.sysdig.com/en/docs/sysdig-secure/posture/compliance/)を元に日本語に翻訳・再構成した内容となっております。

はじめに

Sysdig の Compliance 機能は進化を続けており、新しい Compliance モジュールは、CSPM/KSPM をサポートする最初のモジュールであると同時に、成熟の次の段階を示すものです。この強化されたリソースの可視性とフルコンテキストの優先順位付けにより、違反の是正と解決が促進されます。

  • コンプライアンス IBM クラウドおよびオンプレミスのユーザーは、レガシー・コンプライアンスを参照してください。
  • コンプライアンスはマネージド Falco(secure light)ではご利用いただけません。


コンプライアンスの新機能

  • Actionable コンプライアンス
    • 新しい CSPM Compliance では、リスクを管理できます:
      • Remediate
      • Accept the risk
      • Git IaC 統合が有効になっている場合は、コード・リポジトリに Pull Request をオープン出来ます。
      • 近日公開: Remediate の JIRA チケットを開く
  • 収集された違反
    • ゾーンのリソースはコンプライアンスポリシーに照らして評価され、違反はタイル単位で収集され、コンプライアンスページに表示されます。
    • 新しいアプローチは、リソースを 1 日 1 回バックエンドにフェッチし、ポリシーの関連分析を実行する一般的なプロセスに依存しています。
    • カスタムのポリシーを作成することも、Sysdig のアウトオブボックスポリシーを使用することもできます。
  • 違反のリストではなく、リソースそのものをクリックします。
  • 様々な用語の変更
  • ダウンロード可能なレポートとレポートをサポートするAPI

一般的な使用例

コンプライアンス/セキュリティチームのメンバー

行いたい事:

  • 事前に定義されたポリシーに対するビジネスゾーンの現在のコンプライアンス状況を確認する。
  • 特定の時点(監査)におけるビジネスゾーンのコンプライアンス状況を監査人に示す。
  • ビジネスゾーンのコンプライアンス状況のレポートを作成し、監査人および経営陣と共有する。
  • コンプライアンス・ギャップの大きさを理解する

DevOpsチームメンバー

行いたい事:

  • ビジネスゾーンに適用されている事前定義されたポリシーのコンプライアンス違反を特定する
  • 重大性に応じて違反を管理する
  • 違反を簡単に修正する
  • 組織のリスク管理ポリシーに従って、例外を文書化し、リスクを受け入れる

検出からRemediationまでの経路

以下は、優先順位付けされた脆弱性を検出し、分析し、修復するために、ユーザーがコンプライアンス画面を通じてどのように作業するかの簡単な概要です。

1.コンプライアンス画面 ゾーンに適用されている各ポリシーについて、ハイレベルのポスチャーパフォーマンス指標(PPI)を取得します:

ゾーンはアルファベット順に表示されます。各ゾーンの結果は、パススコアが低い順に表示され、スコアの改善に集中できます。

2. ポリシーを選択すると、その結果が表示され、フェイルした要件を選択すると、その要件を構成する コントロールとフェイルしたリソースが表示されます。

3.Start Remediation をクリックして、 Remediation  パネルを開きます。

4.修復を開始します(可能な場合)。Remediationフローでは、問題の内容を正確に理解し、Sysdig が問題のために特別に作成した推奨パッチを確認し、パッチの適用方法(手動または Git リポジトリ)を選択できます。

  • 手動では、パッチ・コードをコピーして本番環境に適用することができます。
  • コードリポジトリで修正するには、関連する Git ソースを選択し、Compliance がパッチを統合したプルリクエストを作成します(コードフォーマットのクリーンアップもチェックします)。マージする前に、PR のすべての変更を確認できます。

5. Accept the Risk (一時的または永久に)、フェイルしたコントロールから違反を削除できます。

6.開発チーム、経営陣、または監査人のために、コンプライアンス結果のレポートを CSV/スプレッドシートとしてダウンロードできます(オプション)。

残りのページでは、画面とアクションの詳細を説明します。

インストール

新しいクラウドアカウントまたはKubernetesクラスターをSysdig Secureに接続するには、インストールガイド –set global.kspm.deploy=true に従ってください。

既存の接続データソースについては、移行ガイドに従ってください。

使用方法

CSPM ゾーンの管理

Compliance ランディング・ページでは、デフォルトの Entire Infrasture ゾーンが自動的に作成されます。CIS ポリシーと Sysdig Kubernetes ポリシーは、Entire Infrastructure ゾーンに自動的に追加されます。

Complianceモジュールで提供される他の40以上のすぐに使えるポリシー、またはカスタムポリシーの結果を表示するには、ゾーンに適用する必要があります。

  • Unified Complianceから移行する場合は、移行ノートを参照してください。
  • ポリシーの作成、編集、およびゾーンへのポリシーの適用は、 Policies > Risk and Compliance > Zones で行います。

Compliance Overview

1. Posture > Compliance  を選択します。

2.各ゾーンのコンプライアンス状況を確認します。各行またはタイルには、ゾーンに適用されているポリシーのコンプライアンス結果が表示されます。

ゾーンはアルファベット順に並んでいます。デフォルトの Entire Infrastructure  ゾーンは Sysdig によって作成され、いくつかのポリシーが適用されています。ゾーン管理ページでは、独自のゾーンとともに、 Entire Infrastructure のゾーンをカスタマイズできます。

カスタムフィルターが適用されるまで、残りのタイルはアルファベット順に並びます。

  • Zones / Policies:  ゾーンとゾーンに適用したポリシーを通じて、コンプライアンス結果を評価します。
  • Passing Score: このポリシー ビューでパスした要件の数をパーセントで表します。高いほど優れています。
  • Requirements Failing: ビューを 100% にするために修正が必要な要件の数。過去 7 日間の結果が棒グラフで表示されます。 数値が小さいほど良いです。 要件は 1 つ以上のコントロールで構成されているため、要件は小さい方の数になります。
  • Controls to Fix: 満点を達成するために修正すべきコントロールの数。小さいほど良いです。(複数のコントロールで1つの要件が構成されるため、コントロール数は要件数より大きくなる)。
  • Resources Passing: 評価されたすべてのリソースのうち、パスした (またはaccepted) リソースの割合。 リソースは、結果の中で最も詳細な結果です。 パーセンテージが高いほど、個々のリソースの失敗が少なくなり、より良いことになります。
  • Violations by Severity: すべてのコントロールに Severity (high/medium/low)があります。リソース違反は、重大度別に、失敗したリソースの数です。1つのリソースが複数のコントロールに違反している場合、複数回カウントされることがある。低いほど良いです。

3.タイルを選択すると、特定のポリシーの結果が表示されます。

結果のレビューとフィルター

1.コンプライアンス ページで、特定のタイルを選択すると、結果ページが表示されます。

フェイルした要件は、重大度と重要度によって並べ替えられます。

2.コンプライアンス結果ページには、選択したゾーンとポリシーのポリシー要件と、各要件の下にあるコ ントロールが表示されます。

コントロール ペインへのドリルダウン

結果ページから、要件を開いて、フェイルした個々のコントロールを確認します。コントロールをクリックして、右側の コントロール ペインを開き、コントロールによって評価されたリソースを確認します。

ここでは、以下を確認できます:

  • コントロールの説明
  • パス、フェイル、またはリスクが一時的に受け入れられたすべてのリソースの概要

コントロールペインのフィルター

コントロールペインには、上位50件の結果が表示されます。その他のリソースを検索するには、フィルターを使用します。

コントロール]ペインでは、すべてのリソースフィールドでフィルター式を作成できます:

以下のコントロールタイプごとに、関連する属性を使用してミニインベントリーで検索を絞り込むことができます:

Kubernetes Identity

  • Cluster
  • Name
  • Name
  • NamespaceType (= Resource Type in Inventory) – ex: Group, ServiceAccount, User

Kubernetes Resource

  • Cluster
  • Labels
  • Name
  • Namespace
  • Type (= Resource Type in Inventory) – ex: Deployment, Daemonset, StatefulSet, ReplicaSet, Pod, Job, CronJobHost (K8s, Linux, Docker)

Host (K8s, Linux, Docker)

  • Cluster
  • Name
  • OS (= Operating System in Inventory)
  • OS Image (doesn’t exist in Inventory)

Managed Cloud Identity & Resource (AWS, GCP, Azure)

  • Account
  • Location (= Region in Inventory)
  • Name
  • Organization

フェイルが発生したリソースを選択して、修復ガイドラインを確認し、修復に向けたアクションを実行します。

評価と修復

修復ソリューションは、製品内で継続的に開発されています。

いくつかの修復フローは手動ですが、他のフローはさまざまな自動化を提供します。

Sysdig は、本番環境に手動で適用するパッチを提示することもできますし、あらかじめ IaC 統合として設定されている Git リポジトリに直接、必要な変更を加えた Pull Request を作成してリソースを修正することもできます。

現時点では、リスク対応アクションは単一の違反に対する単一のリソースに対するものです。いくつかのタイプのリスク対応がサポートされています:

  • 手動による修復: 違反を修正するためのプレイブックテキストが表示されます。
  • 自動的にパッチを生成する(ユーザー入力の有無にかかわらず): 新しい値が必要な場合、入力フィールドとともにパッチコードが提示され、ユーザーはパッチをダウンロードし、パッチアプリケーションコードをコピー/ペーストします。
  • 自動プルリクエストの設定(ユーザー入力の有無にかかわらず): パッチコードが表示され、新しい値が必要な場合は入力フィールドが表示され、ユーザーはPRを開きます。
  • リスクを受け入れる

修復:ソースの検出とパッチはどのように機能するのか?

ソースの検出

リソースに修復を適用する際、Sysdigは設定されたGit統合から一致するソースファイルを特定しようとします。複数の候補がある場合や、一致するソースファイルが見つからない場合は、検索フィールドを使用して、接続されているGitリポジトリから関連するファイルを手動で検索し、選択することができます。

パッチとプル・リクエスト(PR)

修正にプル・リクエストを使用する場合、Sysdig は Git リポジトリに直接ブランチを作成し、問題のあるリソースに修正パッチを適用します。PR をマージする前に、提案された変更をすべて確認することができます。

修正(Remediation)ペインのレビュー

リソースを選択すると、右側にある修正ペインが表示されます。このペインは、特定のコントロールとリソースの評価によって異なります。

パッチによる修復が可能で、Git との統合が設定されている場合は、完全な修復ペインが表示されます。リソースに一致する可能性のあるファイルが1つ以上ある場合、すべての候補が “Suggested Sources “として表示されます。候補が表示されなかったり、別のファイルを選択したい場合は、”Search Source” ボタンをクリックして、接続されている Git リポジトリ内の可能性のあるファイルのリストから手動で選択することができます。

課題のレビュー

ここでは、修復の影響を確認し、リソース属性を確認し、関連する場合はパッチコードに組み込まれる必要な値を入力します。

必要な値が自動検出された場合、その値は自動挿入され、 Value の入力フィールドは読み取り専用になります。

パッチのチェック

パッチコードは、手動で適用できるパッチがある場合、またはIaCファイルを修復するためのプルリクエストで使用できる場合に、レビューのために表示されます。ほとんどの場合、Continue Remediationセクションでコードをダウンロードすることをお勧めしますが、コピー/ペーストすることもできます。

修復を続ける – 手動

Git リポジトリと Sysdig の IaC スキャンを統合していない場合、または特定のリソースの障害でプルリクエストの作成が不要な場合は、手動で修復を実行できます。

ボタンを使ってパッチをダウンロードし、提供されているコードを適用してください。

修復を続ける – プルリクエスト

アカウントで IaC スキャンを設定した後、Sysdig は定義された Git ソースからマニフェストとモジュールをスキャンして分析し、ソースファイルで宣言されたリソースをスクレイピングします。スキャンプロセスは毎日、または新しいGitソースが追加されるたびに実行されます。

Sysdigは、Git IaCスキャンから発見されたリソースを、デプロイされ評価されたリソースと一致させ、識別しようとします。最も一致したリソースは、Pull Requestを設定する際に、Remediationペインの「Suggested Sources(推奨されるソース)」にリストアップされます。

完全な URL パスから手動でソースを検索することもできます。

 Open a Pull Request ボタンを使用します。

Helm/Kustomize 用ワークフロー名セレクター:

ワークロード名のセレクターを入力できます。なぜか: Helmでは、ほとんどの場合、ワークロード名はリリース名から派生します。セレクターは、ワークロードをプレフィックス/サフィックス(またはより複雑なパターン)でマッチさせる正規表現です。このセレクターがあれば、リリースに関係なく、同じチャートから生成されたワークロードに 対して、修復を使用することができます。

Sysdig は、提案された修正であなたのリポジトリに新しい Pull Request を作成し、Git ソースの設定によっては、Sysdig が Pull Request Policy Evaluation を実行し、他の未修正のコントロール違反をレポートする可能性があることに注意してください。

オプション :リスクを受け入れる

場合によっては、フェイルしたコントロールを一定期間安全に無視することで、リソースがパスし、コンプライアンススコアが向上することがあります。そのためには

1.修復ペインの Accept Risk ボタンをクリックします。

2.監査のベストプラクティスに準拠するため、必要なフィールドに入力し、 Save をクリックします。

Reason: 所有リスク、移転リスク、回避リスク、緩和リスク、関連性なしリスク、またはカスタムリスク

Details: リスクを受け入れた理由を監査人に説明するか、実施したリスク管理措置を選択する。

Expired In: いつこの受入を失効させ、リソースをフェイルさせたいかを選択する。7/30/60/90日、カスタム期間、無期限

Expiration Date:  Custom time frame(カスタム期間)の場合は入力、そうでない場合は自動補完されます。

3.後で、違反に対処するために、受理ステータスで違反をフィルターするか、Accept Risk management panelに移動することができます。

レポートの作成とダウンロード

コンプライアンス目標を達成するために、組織は、経営幹部や監査役などの他の利害関係者と共有する出力を生成し、コンプライアンス/違反のポイントを示す必要がある場合があります。

レポートは、コンプライアンス結果を開発チームと共有するためにも使用できます。CSPM API の使用もご検討ください。

アドホック・レポートは、コンプライアンス結果ページまたは個々のコントロールから CSV ファイルとしてダウンロードできます。

コンプライアンス結果のレポートを作成するには:

1.Posture > Compliance.を選択します。

2.ゾーンの下のポリシーのタイルを選択します。

3.オプション: 必要に応じてフィルタリングします。例: 日付別、パス/フェイルステータス別、コントロール別など。1つのゾーンに対して複数のポリシーを選択できます。レポートの最大サイズは 10 MB です。

4. Download Reportをクリックします。

ファイルが CSV(カンマ区切り値)形式でダウンロードされ、スプレッドシートとして使用できます。

個々のコントロールからレポートを作成するには:

1. Posture > Compliannce を選択します。

2.ゾーンの下にあるポリシーのタイルを選択します。

3.コントロールを選択してコントロールペインを開き、必要に応じてリソースをフィルタリングし、「Download Report」ボタンをクリックします。

レポートの最大サイズは 10 MB です。

CSPM API の使用

組織でサードパーティのシステムを使用して修復レポートの受信やタスクの作成を行う場合は、CSPM API の使用を検討してください。

CSPM API は、Sysdig Secure API の他の API と共にオンラインで文書化されています。

追加リージョンの API ドキュメントリンク、または Sysdig Secure UI 内からアクセスする手順については、デベロッパーツールの概要を参照してください。

コンプライアンス結果APIコール(要件)

  • リクエストでゾーンを指定してください。リクエストでゾーンが指定されていない場合、デフォルトの “Entire Infrastructure” ゾーンに適用されたポリシーの結果が返されます。
  • デフォルトの “Entire Infrastructure” ゾーンにポリシーが適用されていない場合、空の結果が返されます。
  • 各コントロールリソースリストAPIコールへのURLリンクは、コンプライアンス結果レスポンスに含まれていることに注意してください。

付録A

用語の変更

以前の用語新しい用語
Framework, BenchmarkPolicy
ポリシーは、ビジネス/セキュリティ/コンプライアンス/運用要件のグループであり、コンプライアンス基準(例:PCI 3.2.1)、ベンチマーク(例:CIS Kubernetes 1.5.1)、またはビジネスポリシー(例:ACME corp policy v1)を表すことができます。
利用可能なポリシーを確認したり、カスタム CSPM/Risk and Compliance ポリシーを作成したりするには、[Policies (ポリシー)] を参照してください。
ScopesZone
OR “演算子によって計算される、様々なリソースタイプのスコープの集合によって定義される、特定の顧客のためのリソースのビジネスグループ。
ControlRequirement (or Policy Requirement)
要件は、単一のポリシーに存在し、ポリシーの不可欠な部分である。要件は、コンプライアンス・オフィサー及び監査役が熟知しているポリシーのセクションを表します。
FamilyRequirements Group
ポリシーの要件グループ
RuleControl
コントロールは、問題を特定する(チェックする)方法と、検出された違反を是正するためのプレイブックを定義します。
Vulnerability ExceptionRisk Acceptance
新しいモジュールには、ユーザーが違反や脆弱性をレビューし、まだ是正しておらず、ポリシーに違反させることなく、それを承認する機能が追加されました。



含まれるポリシー

以下のリスクとコンプライアンスポリシーがアウトオブボックスで利用できます:

  • National Institute of Standards and Technology (NIST)
    • NIST SP 800-53 Rev 5
    • NIST SP 800-53 Rev 5 Privacy Baseline
    • NIST SP 800-53 Rev 5 Low Baseline
    • NIST SP 800-53 Rev 5 Moderate Baseline
    • NIST SP 800-53 Rev 5 High Baseline
    • NIST SP 800-82 Rev 2
    • NIST SP 800-82 Rev 2 Low Baseline
    • NIST SP 800-82 Rev 2 Moderate Baseline
    • NIST SP 800-82 Rev 2 High Baseline
    • NIST SP 800-171 Rev 2
    • NIST SP 800-190
    • NIST SP 800-218 v1.
  • Federal Risk and Authorization Management Program (FedRAMP)
    • FedRAMP Rev 4 LI-SaaS Baseline
    • FedRAMP Rev 4 Low Baseline
    • FedRAMP Rev 4 Moderate Baseline
    • FedRAMP Rev 4 High Baseline
  • Defense Information Systems Administration (DISA) Security Technical Implementation Guide (STIG)
    • DISA Docker Enterprise 2.x Linux/UNIX Security Technical Implementation Guide (STIG)
    • DISA Docker Enterprise 2.x Linux/UNIX Security Technical Implementation Guide (STIG) v2 Category I (High)
    • DISA Docker Enterprise 2.x Linux/UNIX Security Technical Implementation Guide (STIG) v2 Category II (Medium)
    • DISA Docker Enterprise 2.x Linux/UNIX Security Technical Implementation Guide (STIG) v2 Category III (Low)
    • DISA Kubernetes Security Technical Implementation Guide (STIG) Ver 1 Rel 6
    • DISA Kubernetes Security Technical Implementation Guide (STIG) Ver 1 Rel 6 Category I (High)
    • DISA Kubernetes Security Technical Implementation Guide (STIG) Ver 1 Rel 6 Category II (Medium)
  • Center for Internet Security (CIS) Benchmarks
    • CIS Amazon Elastic Kubernetes Service (EKS) Benchmark v1.2.0
    • CIS Amazon Web Services Foundations Benchmark v1.5.0
    • CIS Azure Kubernetes Service (AKS) Benchmark v1.3.0
    • CIS Critical Security Controls v8
    • CIS Distribution Independent Linux Benchmark (Level 1 – Server) v2.0.0
    • CIS Distribution Independent Linux Benchmark (Level 2 – Server) v2.0.0
    • CIS Distribution Independent Linux Benchmark (Level 1 – Workstation) v2.0.0
    • CIS Distribution Independent Linux Benchmark (Level 1 – Workstation) v2.0.0
    • CIS Docker Benchmark v1.5.0
    • CIS Google Cloud Platform Foundations Benchmark v2.0.0
    • CIS Google Kubernetes Engine (GKE) Benchmark v1.4.0
    • CIS Kubernetes V1.15 Benchmark v1.5.1
    • CIS Kubernetes V1.18 Benchmark v1.6.0
    • CIS Kubernetes V1.20 Benchmark v1.0.0
    • CIS Kubernetes V1.23 Benchmark v1.0.0
    • CIS Kubernetes V1.24 Benchmark v1.0.0
    • CIS Microsoft Azure Foundations Benchmark v2.0.0
    • CIS Red Hat OpenShift Container Platform Benchmark v1.2.0
  • Amazon Web Services (AWS) Best Practices
    • AWS Well Architected Framework
    • AWS Foundational Security Best Practices
  • Regulatory Compliance Standards
    • System and Organization Controls (SOC) 2
    • Health Insurance Portability and Accountability Act (HIPAA)
    • Payment Card Industry Data Security Standard (PCI DSS) v3.2.1
    • Payment Card Industry Data Security Standard (PCI DSS) v4.0
    • NSA/CISA Kubernetes Hardening Guide
    • General Data Protection Regulation (GDPR)
    • ISO/IEC 27001:2013 v2
    • ISO/IEC 27001:2022 v1
    • Health Information Trust Common Security Framework (HITRUST CSF) v9.4.2
  • Risk Frameworks
    • All Posture Findings
    • MITRE ATT&CK for Enterprise v10.1
    • MITRE D3FEND
  • Sysdig Best Practices
    • Sysdig Kubernetes – based on Sysdig’s security research and best practices
    • Sysdig IBM Cloud Kubernetes Service (IKS) Benchmark
    • Sysdig Mirantis Kubernetes Engine (MKE) Benchmark
  • Other Policies
    • Lockheed Martin Cyber Kill Chain
    • OWASP Kubernetes Top Ten

クラウド

以下のクラウドサービスが対象となります:

  • Amazon Web Services (AWS)
    • Amazon CloudFront
    • Amazon CloudWatch
    • Amazon EC2
    • Amazon EC2 Auto Scaling
    • Amazon Elastic Block Store (EBS)
    • Amazon Elastic Container Registry (ECR)
    • Amazon Elastic Container Service (ECS)
    • Amazon Elastic File System (EFS)
    • Amazon Elastic Kubernetes Service (EKS)
    • Amazon ElastiCache
    • Amazon Elasticsearch Service
    • Amazon OpenSearch Service
    • Amazon RDS
    • Amazon Redshift
    • Amazon Simple Notification Service (SNS)
    • Amazon Simple Storage Service (S3)
    • Amazon VPC
    • AWS Account
    • AWS CloudFormation
    • AWS CloudTrail
    • AWS CodeBuild
    • AWS Config
    • AWS Identity and Access Management (IAM)
    • AWS Key Management Service (KMS)
    • AWS Lambda
    • AWS Region
    • AWS Secrets Manager
    • AWS VPN
    • Elastic Load Balancing (ELB)
  • Google Cloud
    • Anthos
    • API Gateway
    • App Engine
    • Artifact Registry
    • Assured Workloads
    • BeyondCorp Enterprise
    • BigQuery
    • Certificate Authority Service
    • Cloud Bigtable
    • Cloud Composer
    • Cloud Data Fusion
    • Cloud Data Loss Prevention
    • Cloud DNS
    • Cloud Domains
    • Cloud Functions
    • Cloud Healthcare API
    • Cloud Intrusion Detection System (IDS)
    • Cloud Key Management Service (KMS)
    • Cloud Logging
    • Cloud Monitoring
    • Cloud Resource Manager
    • Cloud Run
    • Cloud Spanner
    • Cloud SQL
    • Cloud Storage
    • Cloud TPUs
    • Compute Engine
    • Container Engine
    • Container Registry
    • Database Migration Service
    • Dataflow
    • Dataplex
    • Dataproc
    • Datastream
    • Deployment Manager
    • Dialogflow
    • Document AI
    • Eventarc
    • Filestore
    • Firestore
    • Game Servers
    • Google Cloud Billing API
    • Google Cloud Virtual Network
    • Google Kubernetes Engine (GKE)
    • Identity and Access Management (IAM)
    • Integration Connectors
    • Managed Service for Microsoft Active Directory (Managed Microsoft AD)
    • Memorystore
    • Network Connectivity
    • Network Management
    • Network Services
    • Organization Policy API
    • Pub/Sub
    • Secret Manager
    • Service Directory
    • Service Management API
    • Speech-to-Text
    • Transcoder API
    • Vertex AI
    • Virtual Private Cloud (VPC)
    • Workflows
  • Microsoft Azure
    • AKS
    • Authorization
    • Compute
    • Event Hub
    • Key Vault
    • Managed Identity
    • Monitor
    • MySQL
    • Network
    • Operational Insights
    • Operations Management
    • PostgreSQL
    • Security
    • Service Bus
    • SQL
    • Storage
    • Subscription
    • Web