AWS Security Hub
ユーザーガイド

CloudWatch イベント による AWS Security Hub の自動化

Amazon CloudWatch Events を使用すると、AWS サービスを自動化して、アプリケーションの可用性の問題やリソースの変更などのシステムイベントに自動的に対応できます。AWS サービスからのイベントは、ほぼリアルタイムに CloudWatch イベント に提供されます。簡単なルールを記述して、注目しているイベントと、イベントがルールに一致した場合に自動的に実行するアクションを指定できます。自動的にトリガーできるオペレーションには、以下が含まれます。

  • AWS Lambda 関数の呼び出し

  • Amazon EC2 Run Command の呼び出し

  • Amazon Kinesis Data Streams へのイベントの中継

  • AWS Step Functions ステートマシンのアクティブ化

  • Amazon SNS トピックまたは AWS SMS キューの通知

詳細については、「Amazon CloudWatch Events ユーザーガイド」を参照してください。

Security Hub は、CloudWatch イベント との 3 種類の統合をサポートしています。第一に、Security Hub は、すべての結果をイベントとして自動的に CloudWatch イベント に送信します。生成された結果を自動的にAmazon S3 バケット、修復ワークフロー、またはサードパーティーツールにルーティングするルールを CloudWatch イベント で定義することができます。このメソッドを使用して、すべての結果、または固有の特徴があるすべての結果をレスポンスまたは修復ワークフローに自動的に送信します。

第二に、Security Hub は、カスタムアクションに関連付けられた結果も CloudWatch イベント に送信します。これは、特定の結果、または小さい一連の結果をレスポンスまたは修復ワークフローに送信する、Security Hub コンソールを操作しているアナリストに役立ちます。カスタムアクションを作成するときは、カスタムアクションにカスタムアクションの ID を指定します。カスタムアクション ID を使用して、CloudWatch イベント に、カスタムアクション ID に関連付けられた結果が受信されたときに実行する特定のアクションを定義するルールを作成できます。たとえば、「send_to_ticketing」に設定されたカスタムアクション ID でチケット発行システムに結果を送信するカスタムアクションを Security Hub に作成できます。次に CloudWatch イベント で、カスタムアクション ID「send_to_ticketing」を含む、受信した結果に対してトリガーされるルールを作成します。CloudWatch イベント のルールには、結果をチケット発行システムに送信するロジックが含まれています。次に、Security Hub 内で結果を選択して Security Hub でカスタムアクションを使用して、手動で結果をチケット発行システムに送信することもできます。

第三に、カスタムアクションを使用して一連のインサイト結果を CloudWatch イベント に送信することもできます。たとえば、関心のある特定のインサイト結果が表示され、その結果を同僚と共有する場合は、カスタムアクションを使用して、チャットまたはチケットシステム経由で、そのインサイト結果を同僚に送信できます。

注記

ベストプラクティスとしては、ユーザーに CloudWatch イベント へのアクセスを許可するために最小権限 IAM ポリシーを使用していること、必要なアクセス許可のみを付与していることを確認します。詳細については、「Amazon CloudWatch Events に対する認証とアクセスコントロール」を参照してください。

Security Hub の結果を追加の処理のために CloudWatch イベント に送信する方法の例については、AWS パートナーネットワーク (APN) ブログの「AWS Security Hub カスタムアクションと PagerDuty を統合する方法」および「AWS Security Hub でカスタムアクションを有効化する方法」を参照してください。

自動的に CloudWatch イベント に送信される Security Hub 結果に CloudWatch イベント ルールを設定する

Security Hub からの結果など、イベントを受信したときに実行するアクションを定義するルールを CloudWatch イベント に作成できます。

Security Hub 結果に CloudWatch イベント ルールを作成するには

  1. https://console.aws.amazon.com/cloudwatch/にある CloudWatch コンソールを開きます。

  2. ナビゲーションペインで [ルール] を選択します。

  3. [Create rule] を選択します。

  4. [イベントソース] で、[イベントパターン] が選択されていることを確認します。

  5. [イベントパターンのプレビュー] の [編集] を選択します。

  6. 次のパターン例をコピーし、プレビューウィンドウに貼り付けます。必ず既存のかっこを置き換えてください。

    { "source": [ "aws.securityhub" ], "detail-type": [ "Security Hub Findings - Imported" ] }
  7. [保存] をクリックして、ウィンドウを閉じます。

  8. [ターゲットの追加] を選択し、このルールが一致した場合に呼び出すターゲットを選択します。選択したターゲットの設定を構成する必要がある場合があります。

カスタムアクションを作成し、CloudWatch イベント ルールに関連付ける

カスタムアクションで CloudWatch イベント に関連付けられている Security Hub の結果を送信するために Security Hub と CloudWatch イベント を設定するには、次の手順を実行します。

Security Hub でカスタムアクションを作成するには

  1. AWS Security Hub コンソール (https://console.aws.amazon.com/securityhub/) を開きます。

  2. ナビゲーションペインで、[設定] を選択し、[カスタムアクション] を選択します。

  3. [カスタムアクションの作成] を選択します。

  4. アクションの [名前]、[説明]、および [カスタムアクション ID] を指定します。

    [名前] は 20 文字未満である必要があります。AWS アカウントごとの [カスタムアクション ID] は一意である必要があります。

  5. [カスタムアクションの作成] を選択します。

  6. [Custom action ARN (カスタムアクション ARN)] を書き留めます。この ARN は、CloudWatch イベント でこのアクションに関連付けるルールを作成するときに使用する必要があります。

CloudWatch イベント でルールを定義するには

  1. https://console.aws.amazon.com/cloudwatch/にある CloudWatch コンソールを開きます。

  2. ナビゲーションペインで [ルール] を選択します。

  3. [Create rule] を選択します。

  4. [イベントソース] で、[イベントパターン] が選択されていることを確認します。

  5. [イベントパターンのプレビュー] の [編集] を選択します。

  6. 次のパターン例をコピーし、プレビューウィンドウに貼り付けます。必ず既存のかっこを置き換えてください。

    { "source": [ "aws.securityhub" ], "detail-type": [ "Security Hub Findings - Custom Action" ], "resources": [ "arn:aws:securityhub:us-west-2:123456789012:action/custom/test-action1" ] }
  7. resources セクションにリストされた ARN を作成したカスタムアクションの [カスタムアクション ARN] に置き換えます。この値は [カスタムアクション] ページに表示されます。

  8. [保存] をクリックして、ウィンドウを閉じます。

  9. [ターゲットの追加] を選択してから、このルールが一致した場合に呼び出すターゲットを選択します。

  10. [Configure details] を選択します。

  11. ルールの名前と説明を入力します。

    今すぐルールを有効にするには、[状態] で [有効] を選択します。ルールを有効にせずに保存するには、[有効] をクリアします。

  12. [Create rule] を選択します。

CloudWatch イベント でこのルールが作成された後、アカウントで結果に対してカスタムアクションを実行するとき、CloudWatch イベント でイベントが生成されます。

カスタムアクションをインサイトで生成された結果と関連付けるためのパターン例は次のとおりです。

{ "source": [ "aws.securityhub" ], "detail-type": [ "Security Hub Insight Results" ], "resources": [ "arn:aws:securityhub:us-west-2:123456789012:action/custom/test-action1" ] }

Security Hub での CloudWatch イベント の形式

Security Hub は、有効化された AWS サービス (Amazon GuardDuty、Amazon Inspector、および Amazon Macie) の結果およびサポートされている AWS パートナー製品の結果を集計します。また、Security Hub は、結果を注意がまたは介入が必要なセキュリティ分野を識別するインサイトに統合します。Security Hub は、CloudWatch イベント ベストプラクティスとサポートされている業界標準 (CIS Foundations Benchmarks など) を使用して、自動化された継続的なコンプライアンスチェックも実施します。

Security Hub の結果に対する CloudWatch イベントは次の形式になります。

{ "version":"0", "id":"CWE-event-id", "detail-type":"Security Hub Findings - Imported", "source":"aws.securityhub", "account":"111122223333", "time":"2019-04-11T21:52:17Z", "region":"us-west-2", "resources":[ "arn:aws:securityhub:us-west-2::product/aws/macie/arn:aws:macie:us-west-2:111122223333:integtest/trigger/6294d71b927c41cbab915159a8f326a3/alert/f2893b211841" ], "detail":{ "findings”: [AMAZON_FINDING_JSON] } }

カスタムアクションを使用する Security Hub の集計された結果に対するCloudWatch イベントは次の形式になります。

{ "version": "0", "id": "1a1111a1-b22b-3c33-444d-5555e5ee5555", "detail-type": "Security Hub Findings - Custom Action", "source": "aws.securityhub", "account": "111122223333", "time": "2019-04-11T18:43:48Z", "region": "us-west-1", "resources": [ "arn:aws:securityhub:us-west-1:111122223333:action/custom/custom-action-name" ], "detail": { "actionName":"custom-action-name", "actionDescription": "description of the action", "findings": [AMAZON_FINDING_JSON for each specified finding] } }

AMAZON_FINDING_JSON に含まれるパラメータの詳細なリストについては、「AWS Security Finding 形式」を参照してください。

Security Hub のインサイトに対する CloudWatch イベント イベントには以下の形式があります。

{ "version": "0", "id": "1a1111a1-b22b-3c33-444d-5555e5ee5555", "detail-type": "Security Hub Insight Results", "source": "aws.securityhub", "account": "111122223333", "time": "2017-12-22T18:43:48Z", "region": "us-west-1", "resources": [ "arn:aws:securityhub:us-west-1:111122223333::product/aws/macie:us-west-1:222233334444:test/trigger/1ec9cf700ef6be062b19584e0b7d84ec/alert/f2893b211841" ], "detail": { "actionName":"name of the action", "actionDescription":"description of the action", "insightArn":"ARN of the insight", "insightName":"Name of the insight", "resultType":"ResourceAwsIamAccessKeyUserName", "number of results":"number of results, max of 100", "insightResults": [ {"result 1": 5}, {"result 2": 6} ] } }

カスタムアクションを使用して Security Hub の検出結果を CloudWatch イベント に送信する

1 つ以上の Security Hub カスタムアクションと CloudWatch イベント ルールを作成した後、検出結果とインサイトの結果を CloudWatch イベント に送信して、さらに管理および処理することができます。

検出結果を CloudWatch イベント に送信するには

  1. Security Hub コンソールで、[Findings (検出結果)] を選択します。

  2. [Findings (検出結果)] ページで、CloudWatch イベント に送信する 1 件以上の検出結果を選択します。一度に最大 20 件の検出結果を選択できます。

  3. [Actions (アクション)] ドロップダウンから、適用する CloudWatch イベント ルールに合うカスタムアクションを選択します。

    成功すると、「Successfull sent findings to Amazon CloudWatch Events (検出結果を Amazon CloudWatch Events に送信しました)」というメッセージが表示されます。

インサイト結果を CloudWatch イベント に送信するには

  1. Security Hub コンソールで、[Insights (インサイト)] を選択します。

  2. [Insights (インサイト)] ページで、CloudWatch イベント に送信する検出結果を含むインサイトを選択します。

  3. インサイトから、CloudWatch イベント に送信する検出結果を選択します。一度に最大 20 件の検出結果を選択できます。

  4. [アクション] で、適用する CloudWatch イベント ルールに合うカスタムアクションを選択します。

    成功すると、「Successfull sent findings to Amazon CloudWatch Events (検出結果を Amazon CloudWatch Events に送信しました)」というメッセージが表示されます。