< back to blog

Sysdig Secure for cloudをAWSにデプロイする

清水 孝郎
Sysdig Secure for cloudをAWSにデプロイする
Published by:
清水 孝郎
@
Sysdig Secure for cloudをAWSにデプロイする
Published:
October 10, 2021
シスディグによるファルコフィード

Falco Feedsは、オープンソースに焦点を当てた企業に、新しい脅威が発見されると継続的に更新される専門家が作成したルールにアクセスできるようにすることで、Falcoの力を拡大します。

さらに詳しく

本文の内容は、2021年10月11日現在における、docs.sysdig.com上のDeploy Sysdig Secure for cloud on AWSを元に日本語に翻訳・再構成した内容となっております。必要に応じて、Sysdig Secure for cloudの製品概要について確認しましょう。CloudFormation Template(CFT)とTerraformファイルのどちらを使ってデプロイするかを選択します。CFTを使った単一アカウントのオンボーディング各機能は、AWSコンソールから1つのCloudFormation Template(CFT)を用いて有効にすることができます。

備考

CFTをデプロイすると、既存のSysdig Secureのインストールにデフォルトのクラウドポリシーとルールが追加されます。

前提条件

  • Sysdig SecureのSaaSアカウント
  • CFTをデプロイするための適切な権限を持つ、Sysdigに接続したいAWSアカウントとAWSサービス。

手順

  1. AWSコンソールにログインし、Sysdig Secure for cloudを利用してセキュリティを確保したいアカウントとAWSリージョンにいることを確認します。
  2. Sysdig Secureに管理者としてログインし、「Get Started」→「Connect your Cloud account」を選択します。AWS(CloudFormation)タブを選択します。
  1. Launch Stackをクリックします。
    • AWSコンソールが開き、CloudFormation > Stacks > Quick Createページが表示されます。Sysdig CloudFormationのテンプレートがあらかじめ用意されています。
    • Sysdig テンプレートをデプロイする AWS アカウントとリージョンにログインしていることを確認します。
  1. スタック名を入力するか、デフォルトを受け入れます。
  2. パラメータを記入します:
    • Sysdigの設定
      • Sysdig Secure Endpoint:
      • デフォルト(US-East): https://secure.sysdig.com Sysdig Secureプラットフォームが他の地域にインストールされている場合は、そのエンドポイントを使用します。
        • US West: https://us2.app.sysdig.com
        • European Union: https://eu1.app.sysdig.com
      • Sysdig Secure API Token: Retrieve the Sysdig API Tokenを参照してください。
    • モジュールのデプロイ:いずれかまたはすべてを選択してください。
      • CSPM/Compliance: CIS AWS BenchmarksをSysdigのComplianceモジュールにデプロイします。
      • CloudTrailを使った脅威の検知:CloudTrailイベントに基づいて脅威を検知するために必要なすべてのモジュールをデプロイします。
      • ECR Image Registry Scanning: AWS ECRのコンテナ・レジストリ・スキャンを統合します。
      • Fargateイメージスキャン:サーバーレスのFargateタスク(ECS内)にデプロイされた任意のコンテナイメージに対するイメージスキャンを統合します。
    • 既存のインフラストラクチャー:クラスター、VPC、サブネットが自動的に作成されるようにするには、3つのエントリをすべて空白にします。それ以外の場合は、既存のものを用意します。
      • ECSクラスタ名
      • VPC ID
      • プライベートサブネットID
  1. デプロイに必要なCapabilitiesを確認します:
    • “I acknowledge that AWS CloudFormation may create IAM resources with custom names. “をチェックします。
    • “I acknowledge that AWS CloudFormation might require the following capability: capability_auto_expand”をチェックします。
  1. Create Stackをクリックします。
    • AWSコンソールでは、メインスタックと関連するサブスタックが「CREATE_IN_PROGRESS」と表示されます。ステータスを更新すると、すべてに「CREATE_COMPLETE」と表示されます。CloudTrailからイベントが送信されるのに5~10分程度の遅延がありますが、イベントが失われることはありません。
    • Sysdig Secure Get Startedページにも成功メッセージが表示されます。

Terraformを使ったオンボーディング

Terraformを使ったインストール方法は、使用しているAWSアカウントの種類によって異なります。現時点では、以下の選択肢があります。

  • 単一のAWSアカウントへのインストール
  • 組織・管理アカウントへのインストール(CloudTrailによる脅威検知のみを含む)。順次、このオプションに含まれるモジュールを増やしていく予定です。

単一/メンバーアカウント用

Sysdig SecureのGet Startedページで提供されるデフォルトのコードには、お客様のSecure APIトークンがあらかじめ入力されており、CloudTrailによる脅威検知、AWSベンチマーク、コンテナのレジストリとイメージのスキャンが自動的にインストールされます。

前提条件

パーミッション

  • Sysdig Secureの管理者権限
  • AWSプロファイル認証情報の設定

手順

  1. Sysdig Secureに管理者としてログインし、「Get Started」→「Connect your Cloud account」を選択します。AWS (Terraform)タブを選択します。
  1. Single Accountの下にあるコードスニペットをコピーして、ローカルマシンのターミナルに貼り付けます。あなたのSysdig APIトークンが事前に設定されているはずです。
  2. その後、実行します:
    • $ terraform init
    • 完了したら、次を実行します:
    • $ terraform apply
    • 変更内容が表示され、確認を求められた後、変更が行われます。
  3. サービスの動作確認
    • 権限やアカウントの競合によるエラーが発生した場合は、「トラブルシューティング」を確認します。

組織/管理アカウントの場合

組織アカウントの場合、Sysdig SecureのGet Startedページで提供されるデフォルトのコードには、お客様のSecure APIトークンがあらかじめ入力されており、CloudTrailによる脅威検知が自動的にインストールされます(のみ)。

前提条件

  • ローカルマシンにTerraformがインストールされていること。
  • Sysdig Secure SaaSアカウント
  • Sysdig Secure for Cloudの組織メンバーアカウントID
  • Sysdig Secure for Cloud専用のメンバーアカウントを作成することをお勧めします

パーミッション

  • Sysdig Secure管理者権限
  • AWSのパーミッション:
    • Organizational CloudTrailサービスを有効にした組織のマスターアカウントとしての既存のAWSアカウント
    • 組織のマスターアカウントのAWSプロファイル認証情報の設定
    • また、組織のトレイルを正常に作成するためには、管理アカウントのIAMユーザーまたはロールに十分なパーミッションが必要です
    • Sysdigでは、必要なパーミッションを含むIAMポリシーを提供しています。

手順

  1. Sysdig Secureに管理者としてログインし、「Get Started」→「Connect your Cloud account」を選択します。AWS (Terraform)タブを選択します。
  1. Organizational Accountの下にあるコードスニペットをコピーして、ローカルマシンのターミナルに貼り付けます。あなたのSysdig APIトークンが事前に設定されているはずです。
  2. その後、実行します:
    • $ terraform init
    • 完了したら、次を実行します:
    • $ terraform apply
    • 変更内容が表示され、確認を求められた後、変更が行われます。
  3. サービスの動作確認
  4. パーミッションやアカウントの競合が発生した場合は、トラブルシューティングをチェックします。

近日中に、このオプションは拡張され、現在単一アカウントオプションにあるすべての機能に加えて、複数のメンバーアカウントを簡単に追加できるようになる予定です。

インストールのカスタマイズ

単一アカウントと組織アカウントのコード例は、いずれも基本的な入力に対して適切なデフォルト値で構成されています。しかし、必要に応じて、地域、モジュールの有効化、およびその他の入力を編集することができます。詳細は以下の通りです。

各モジュールが作成するリソース

  • Cloud-bench
    • aws_iam_role
    • aws_iam_role_policy_attachment
    • sysdig_secure_benchmark_task
    • sysdig_secure_cloud_account
  • Cloud-connector
    • aws_cloudwatch_log_stream
    • aws_ecs_service
    • aws_ecs_task_definition
    • aws_iam_role
    • aws_iam_role_policy
    • aws_s3_bucket
    • aws_s3_bucket_object
    • aws_s3_bucket_public_access_block
    • aws_security_group
    • aws_sns_topic_subscription
    • aws_sqs_queue
    • aws_sqs_queue_policy
  • Cloud-scanning
    • aws_cloudwatch_log_group
    • aws_cloudwatch_log_stream
    • aws_ecs_service
    • aws_ecs_task_definition
    • aws_iam_role
    • aws_iam_role_policy
    • aws_security_group
    • aws_sns_topic_subscription
    • aws_sqs_queue
    • aws_sqs_queue_policy

cloud-connectorまたはcloud-scanningがインストールされている場合、これらの追加モジュールがインストールされます:

  • resource-group
    • aws_resourcegroups_group
  • cloudtrail
    • aws_cloudtrail
    • aws_kms_alias
    • aws_kms_key
    • aws_s3_bucket
    • aws_s3_bucket_policy
    • aws_s3_bucket_public_access_block
    • aws_sns_topic
    • aws_sns_topic_policy
  • ssm
    • aws_ssm_parameter
  • ecs-fargate-cluster
    • aws_ecs_cluster

cloud-scanningがインストールされている場合、これらの追加モジュールがインストールされます:

  • codebuild
    • aws_cloudwatch_log_group
    • aws_codebuild_project
    • aws_iam_role
    • aws_iam_role_policy

トラブルシューティング

Resolve 409 Conflict Error

このエラーは、指定されたクラウドアカウントが既にSysdigがオンボードされている場合に発生する可能性があります。

解決方法:

クラウドアカウントをTerraformにインポートするには、次のように実行します:

terraform import module.cloud_bench.sysdig_secure_cloud_account.cloud_account CLOUD_ACCOUNT_ID

Resolve Permissions Error/Access Denied

このエラーは、現在のAWS認証セッションが、特定のリソースを作成するために必要なパーミッションを持っていない場合に発生する可能性があります。

解決方法:必要なパーミッションを持つユーザーまたはロールを使用してAWSに認証されていることを確認します。サービスが動作していることを確認Sysdig Secureにログインし、導入した各モジュールが機能していることを確認します。イベントが収集されて表示されるまで、10分程度かかる場合があります。

全体的な接続状態の確認

データソース

  • :User メニューから Data Source を選択すると、接続されているすべてのクラウドアカウントが表示されます。
  • サブスクリプション:Settings > Subscription を選択すると、クラウドアカウントを含むアカウントアクティビティの概要が表示されます。
  • インサイト ナビゲーションバーに Insights が追加されていることを確認します。クラウドアカウント、クラウドユーザー、またはコンポジットのインサイトビューでアクティビティを表示します。

脅威検知の確認

  • ポリシー:Policies > Runtime Policiesを確認し、AWS Best Practicesポリシーが有効になっていることを確認します。これは、AWSとCloudTrailの最も頻繁に推奨されるルールで構成されています。AWS CloudTrailタイプの新しいポリシーを作成することで、カスタマイズすることができます。

イベント:Eventsフィードで「cloud」を検索すると、AWS CloudTrailからのイベントが表示されます。

CSPM/AWS ベンチマークの確認

  • コンプライアンス:Complianceを選択し、AWS Foundations Benchmark」がインストールされていることを確認します。
  • ベンチマークの結果を確認し、追加されたアカウント、リージョン、日付を確認します。

ECRとFargateのスキャンの確認

  • スキャン結果を確認します。Image Scanning > Scan Resultsを確認し、Originsのドロップダウンを選択します。
  • AWS Registryおよび/またはAWS Fargateがリストアップされていることを確認します。
  • 目的のOriginsでフィルタリングし、スキャン結果を確認します。

関連情報

About the author

No items found.

セキュリティの専門家と一緒に、クラウド防御の最適な方法を探索しよう