AWS Security Hub のログを収集する
以下でサポートされています。
Google SecOpsSIEM
このドキュメントでは、AWS Security Hub のログを Google Security Operations に取り込む方法について説明します。AWS Security Hub は、AWS アカウント全体のセキュリティ アラートや検出結果を包括的に表示します。これらの検出結果を Google SecOps に送信することで、Google SecOps の機能を使用してモニタリングと脅威検出を強化できます。
始める前に
- Google SecOps インスタンスがあることを確認します。
- AWS への特権アクセス権があることを確認します。
AWS IAM を構成する
- バケットの作成のユーザーガイドに沿って、Amazon S3 バケットを作成します。
- バケットの名前とリージョンを保存して、後で使用できるようにします。
- IAM ユーザーの作成のユーザーガイドに沿って、ユーザーを作成します。
- 作成したユーザーを選択します。
- [セキュリティ認証情報] タブを選択します。
- [アクセスキー] セクションで [アクセスキーを作成] をクリックします。
- [ユースケース] として [サードパーティ サービス] を選択します。
- [次へ] をクリックします。
- 省略可: 説明タグを追加します。
- [アクセスキーを作成] をクリックします。
- [CSV ファイルをダウンロード] をクリックし、[アクセスキー] と [シークレット アクセスキー] を保存して、後で使用できるようにします。
- [完了] をクリックします。
- [権限] タブを選択します。
- [権限ポリシー] セクションで [権限を追加] をクリックします。
- [権限を追加] を選択します。
- [ポリシーを直接アタッチする] を選択します。
- AmazonS3FullAccess ポリシーを検索して選択します。
- [次へ] をクリックします。
- [権限を追加] をクリックします。
EventBridge を使用して検出結果を転送するように AWS Security Hub を構成する
- AWS Management Console にログインします。
- 検索バーに「Security Hub」と入力し、サービスリストから選択します。
- [設定] をクリックします。
- [Integrations] セクションで [EventBridge] を見つけて、[Enable] をクリックします。
- 検索バーに「EventBridge」と入力し、サービスリストから選択します。
- EventBridge コンソールで、[ルール] > [ルールを作成] をクリックします。
- 次のルール構成を指定します。
- ルール名: ルールにわかりやすい名前を付けます(例: SendSecurityHubFindingsToS3)。
- [イベントソース]: [AWS サービス] を選択します。
- サービス名: [Security Hub] を選択します。
- イベントの種類: [Security Hub の検出結果] を選択します。
- ターゲットを設定する: 検出結果のターゲットとして S3 バケットを選択します。
- S3 バケット: 検出結果を保存するバケットを選択します。
- S3 バケットをまだ設定していない場合は、作成します。
- S3 コンソールに移動します。
- [バケットを作成] をクリックします。
- バケット名を指定します(例: securityhub-findings-logs)。
- [作成] をクリックします。
- 権限を構成する: EventBridge は、検出結果を指定された S3 バケットに送信するために必要な権限を自動的に構成します(カスタム バケットを使用している場合は、EventBridge がバケットにログを書き込むことができるように、適切な S3 権限が設定されていることを確認してください)。
- [作成] をクリックします。
AWS Security Hub のログを取り込むように Google SecOps でフィードを構成する
- [SIEM 設定] > [フィード] に移動します。
- [新しく追加] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例: AWS Security Hub Logs)。
- [ソースタイプ] として [Amazon S3] を選択します。
- [Log type] として [AWS Security Hub] を選択します。
- [次へ] をクリックします。
次の入力パラメータの値を指定します。
- リージョン: Amazon S3 バケットが配置されているリージョン。
- S3 URI: バケット URI。
s3://your-log-bucket-name/
your-log-bucket-name
は、バケットの実際の名前に置き換えます。
- URI is a: [ディレクトリ] または [サブディレクトリを含むディレクトリ] を選択します。
Source deletion options: 必要に応じて削除オプションを選択します。
アクセスキー ID: S3 バケットにアクセスできるユーザー アクセスキー。
シークレット アクセスキー: S3 バケットにアクセスできるユーザーのシークレット キー。
Asset namespace: アセットの名前空間。
Ingestion labels: このフィードのイベントに適用されるラベル。
[次へ] をクリックします。
[Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
UDM マッピング テーブル
ログフィールド | UDM マッピング | ロジック |
---|---|---|
account |
principal.group.product_object_id |
検出結果に関連付けられている AWS アカウント ID。 |
configurationItem.ARN |
target.resource.id |
構成アイテムの Amazon Resource Name(ARN)。 |
configurationItem.awsAccountId |
principal.user.userid |
構成アイテムの AWS アカウント ID。 |
configurationItem.awsRegion |
target.asset.location.country_or_region |
構成アイテムの AWS リージョン。 |
configurationItem.configuration.complianceType |
security_result.summary |
構成アイテムのコンプライアンス タイプ。 |
configurationItem.configuration.configRuleList[].complianceType |
security_result.summary |
各構成ルールのコンプライアンス ステータス。 |
configurationItem.configuration.configRuleList[].configRuleArn |
security_result.rule_id |
AWS Config ルールの ARN。 |
configurationItem.configuration.configRuleList[].configRuleId |
security_result.about.labels.configRuleId |
AWS Config ルールの ID。 |
configurationItem.configuration.configRuleList[].configRuleName |
security_result.rule_name |
AWS Config ルールの名前。 |
configurationItem.configuration.privateIpAddress |
target.ip |
構成アイテムのプライベート IP アドレス。 |
configurationItem.configuration.publicIpAddress |
target.ip |
構成アイテムのパブリック IP アドレス。 |
configurationItem.configurationItemCaptureTime |
target.asset.attribute.creation_time |
構成アイテムの取得時間(タイムスタンプに変換)。 |
configurationItem.configurationItemStatus |
target.asset.attribute.labels.Configuration Item Status |
構成アイテムのステータス。 |
configurationItem.relationships[].resourceId |
target.asset.attribute.cloud.vpc.id |
関連リソースのリソース ID。VPC ID と一致する場合は VPC ID に使用されます。 |
configurationItem.resourceId |
target.resource.id |
構成アイテムのリソース ID。 |
configurationItem.resourceName |
target.resource.name |
リソースの名前。 |
configurationItem.resourceType |
target.resource.resource_subtype |
構成アイテムのリソースタイプ。 |
configurationItem.tags.Contact |
principal.user.user_display_name または principal.user.email_addresses |
タグから抽出された連絡先情報。メールアドレスとユーザー名が解析されます。 |
configurationItem.tags.OS / configurationItem.tags.Os |
target.asset.platform_software.platform |
タグから取得したオペレーティング システム。プラットフォームにマッピングされます(「Windows」または「Linux」の場合)。 |
configurationItemDiff.changeType |
metadata.event_type |
変更のタイプ。RESOURCE_WRITTEN または RESOURCE_CREATION にマッピングされます。 |
detail.accountId |
principal.group.product_object_id |
検出結果に関連付けられている AWS アカウント ID。 |
detail.actionDescription detail.actionName detail.description |
sec_result.description |
検出結果の説明。 |
detail.findings[].AwsAccountId |
principal.group.product_object_id |
検出結果に関連付けられている AWS アカウント ID。 |
detail.findings[].CompanyName detail.findings[].CreatedAt detail.findings[].Description |
sec_result.description |
検出結果の説明。 |
detail.findings[].FindingProviderFields.Severity.Label |
sec_result.severity |
検出結果の重大度ラベル(大文字)。 |
detail.findings[].FindingProviderFields.Types[] detail.findings[].FirstObservedAt detail.findings[].GeneratorId detail.findings[].Id detail.findings[].LastObservedAt detail.findings[].ProductArn detail.findings[].ProductFields. |
以下をご覧ください。 | 追加フィールド、プリンシパル、ターゲット情報に使用されるさまざまなフィールド。 |
detail.findings[].ProductName detail.findings[].RecordState detail.findings[].Region |
target.location.name |
検出結果の AWS リージョン。 |
detail.findings[].Resources[].Details. |
以下をご覧ください。 | 検出結果に関連するリソースの詳細。 |
detail.findings[].Resources[].Id |
target.resource.product_object_id |
リソースの ID。 |
detail.findings[].Resources[].Partition detail.findings[].Resources[].Region |
target.location.name |
リソースの AWS リージョン。 |
detail.findings[].Resources[].Tags detail.findings[].Resources[].Type |
target.resource.resource_type 、target.resource.resource_subtype 、metadata.event_type |
リソースのタイプ。リソースタイプ、サブタイプ、イベントタイプのマッピングに使用されます。 |
detail.findings[].Sample detail.findings[].SchemaVersion detail.findings[].Severity.Label detail.findings[].SourceUrl detail.findings[].Title |
sec_result.summary |
検出結果のタイトル。 |
detail.findings[].Types[] detail.findings[].UpdatedAt detail.findings[].Workflow.Status detail.findings[].WorkflowState detail-type |
metadata.product_event_type |
イベントの詳細タイプ。 |
id |
metadata.product_log_id |
イベントの ID。 |
region |
target.location.name |
イベントの AWS リージョン。 |
resources[] source time version (パーサー ロジック) |
metadata.event_timestamp |
元のログエントリの作成時間。イベントのタイムスタンプとして使用されます。 |
(パーサー ロジック) | metadata.log_type |
「AWS_SECURITY_HUB」に設定します。 |
(パーサー ロジック) | metadata.product_name |
「AWS Security Hub」に設定します。 |
(パーサー ロジック) | metadata.vendor_name |
「AMAZON」に設定します。 |
(パーサー ロジック) | target.asset.attribute.cloud.environment |
「AMAZON_WEB_SERVICES」に設定します。 |
(パーサー ロジック) | metadata.event_type |
Resources[].Type または configurationItemDiff.changeType からマッピングされていない場合は、デフォルトで「USER_RESOURCE_ACCESS」に設定します。configurationItems が存在し、他のイベントタイプが設定されていない場合は「STATUS_UPDATE」に設定します。configurationItem または configurationItems が存在し、ステータスが「OK」または「ResourceDiscovered」の場合は、「RESOURCE_READ」に設定されます。configurationItem または configurationItems が存在し、ステータスが「ResourceDeleted」の場合、「RESOURCE_DELETION」に設定されます。 |
(パーサー ロジック) | metadata.description |
detail.findings[].ProductFields.aws/guardduty/service/serviceName が存在する場合は「guardduty」に設定します。 |
(パーサー ロジック) | target.asset.attribute.cloud.vpc.resource_type |
configurationItems.relationships[].resourceId が「vpc」と一致する場合は、「VPC_NETWORK」に設定します。 |
(パーサー ロジック) | target.resource.resource_type |
configurationItem または configurationItems が存在する場合は、「VIRTUAL_MACHINE」に設定されます。他のリソースタイプが設定されていない場合は、「UNSPECIFIED」に設定します。 |
(パーサー ロジック) | target.asset.platform_software.platform |
「Windows」または「(Linux |
(パーサー ロジック) | disambiguation_key |
1 つのログエントリから複数のイベントが生成された場合に追加されます。 |
変更点
2023-06-20
- 機能拡張
- 「metadata.event_type」を「GENERIC_EVENT」から「USER_RESOURCE_ACCESS」に変更しました。
2023-03-24
- 機能拡張
- when "detail.findings.0.Resources.0.Type" == "AwsEcsTaskDefinition" -
- 「target.resource.resource_type」を「TASK」にマッピングしました。
- 「event_type」を「USER_RESOURCE_ACCESS」にマッピングしました。
- 「detail.findings.0.ProductFields.Resources:0/Id」を「principal.asset_id」にマッピングしました。
- STATUS_UPDATE が適切な解析オプションではなかったため、その他のすべてのエラー ログを GENERIC_EVENT として解析しました。
2022-08-22
- 機能拡張
- vendor_name を「AWS SECURITY HUB」から「AMAZON」に更新しました。
- product_name を「AWS SECURITY HUB」から「AWS Security Hub」に更新しました。
- 「configurationItem」または「configurationItems」を含む新しい JSON 形式のログを解析しました。
- インポート ファイルとして取り込まれたログを、for ループを使用して分離し、個々のイベントとして解析することで処理しました。
2022-07-01
- パーサーを新しく作成しました。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。