AWS Redshift のログを収集する

パーサーのバージョン: 1.0

以下でサポートされています。

このドキュメントでは、Amazon S3 を使用して AWS Redshift ログを Google Security Operations に取り込む方法について説明します。

Amazon Redshift は、Amazon Web Services が提供するフルマネージドのペタバイト規模のクラウド データ ウェアハウス サービスです。SQL ベースのツールとビジネス インテリジェンス アプリケーションを使用して、大規模なデータセットに対する高速なクエリと分析を実現します。Amazon Redshift は、認証試行、接続、切断、ユーザー定義の変更、データベースに対して実行されたクエリなど、データベース アクティビティをログに記録します。この統合では、Amazon Redshift のネイティブ監査ロギング機能を使用してログファイルを S3 バケットに配信します。Google SecOps は、Amazon S3 V2 フィードを使用してログファイルを取り込みます。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス
  • 次の管理権限を持つ AWS Management Console への特権アクセス権:
    • Amazon Redshift(クラスタ、パラメータ グループ)
    • Amazon S3(バケット、バケット ポリシー)
    • AWS IAM(ユーザー、ポリシー)

Amazon Redshift の監査ロギング用に S3 バケットを構成する

Amazon Redshift は、監査ログファイルを S3 バケットにアップロードします。Amazon Redshift サービスがログファイルを書き込めるように、S3 バケット ポリシーを構成する必要があります。

S3 バケットを作成して構成する

  1. バケットの作成のユーザーガイドに沿って、Amazon S3 バケットを作成します。
  2. バケットの名前リージョンを後で参照できるように保存します(例: redshift-audit-logs-to-secops)。

  3. https://console.aws.amazon.com/s3Amazon S3 コンソールで、作成したバケットを選択します。

  4. [権限] タブを選択します。

  5. [バケット ポリシー] セクションで、[編集] をクリックします。

  6. 次のバケット ポリシーを追加します(redshift-audit-logs-to-secops はバケット名に置き換えます)。

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "Put bucket policy needed for audit logging",
                "Effect": "Allow",
                "Principal": {
                    "Service": "redshift.amazonaws.com"
                },
                "Action": [
                    "s3:PutObject",
                    "s3:GetBucketAcl"
                ],
                "Resource": [
                    "arn:aws:s3:::redshift-audit-logs-to-secops",
                    "arn:aws:s3:::redshift-audit-logs-to-secops/*"
                ]
            }
        ]
    }
    
  7. [変更を保存] をクリックします。

ユーザー アクティビティ ログ パラメータを有効にする

監査ロギングが有効になっている場合、接続ログとユーザーログは自動的にキャプチャされます。ユーザー アクティビティ ログ(データベースで実行される前の各クエリを記録する)もキャプチャするには、enable_user_activity_logging データベース パラメータを有効にする必要があります。

  1. https://console.aws.amazon.com/redshiftv2/Amazon Redshift コンソールにログインします。
  2. ナビゲーション メニューで、[構成] > [ワークロード管理] に移動します。
  3. クラスタに関連付けられているパラメータ グループを選択します。
  4. [パラメータ] タブを選択します。
  5. [パラメータを編集] をクリックします。
  6. enable_user_activity_logging パラメータの値を true に設定します。
  7. [保存] をクリックします。

Amazon Redshift の監査ログを S3 に有効にする

  1. https://console.aws.amazon.com/redshiftv2/Amazon Redshift コンソールにログインします。
  2. ナビゲーション メニューで [クラスタ] を選択し、構成するクラスタを選択します。
  3. [Properties] タブをクリックします。
  4. [データベース構成] パネルで [編集] をクリックし、[監査ロギングを編集] を選択します。
  5. [監査ログの編集] ページで、[オンにする] を選択します。
  6. [ログの宛先] で、[S3 バケット] を選択します。
  7. [S3 バケット] で、構成したバケット(redshift-audit-logs-to-secops など)を選択します。
  8. 省略可: S3 キーの接頭辞を入力して、バケット内のログファイルを整理します(例: audit-logs/)。
  9. エクスポートするログを選択します。
    • 接続ログ - 認証の試行、接続、切断
    • ユーザーログ - データベース ユーザー定義の変更
    • ユーザー アクティビティ ログ - データベースで実行される前の各クエリ
  10. [変更を保存] をクリックします。

詳細については、Amazon Redshift 管理ガイドのデータベースの監査ロギングをご覧ください。

Google SecOps 用に IAM ユーザーを構成する

Google SecOps は、エクスポートされた監査ログを取り込むために、S3 バケットに対する読み取りアクセス権を持つ IAM ユーザーを必要とします。

  1. IAM ユーザーの作成のユーザーガイドに沿って、ユーザーを作成します。
  2. 作成したユーザーを選択します。
  3. [セキュリティ認証情報] タブを選択します。
  4. [アクセスキー] セクションで [アクセスキーを作成] をクリックします。
  5. [ユースケース] で [サードパーティ サービス] を選択します。
  6. [Next] をクリックします。
    • 省略可: 説明タグを追加します。
  7. [アクセスキーを作成] をクリックします。
  8. [.csv ファイルをダウンロード] をクリックして、[アクセスキー] と [シークレット アクセスキー] を保存し、今後の参照に備えます。
  9. [完了] をクリックします。
  10. [権限] タブを選択します。
  11. [権限ポリシー] セクションの [権限を追加] をクリックします。
  12. [権限を追加] を選択します。
  13. [ポリシーを直接アタッチする] を選択します。
  14. AmazonS3FullAccess ポリシーを検索します。
  15. ポリシーを選択します。
  16. [次へ] をクリックします。
  17. [権限を追加] をクリックします。

AWS Redshift のログを取り込むように Google SecOps でフィードを構成する

  1. [SIEM 設定] > [フィード] に移動します。
  2. [Add New Feed] をクリックします。
  3. 次のページで、[単一のフィードを設定] をクリックします。
  4. [Feed name] に一意の名前を入力します。
  5. [ソースタイプ] として [Amazon S3 V2] を選択します。
  6. [ログタイプ] として [AWS Redshift] を選択します。
  7. [次へ] をクリックしてから、[送信] をクリックします。
  8. 次のフィールドに値を指定します。

    • S3 URI: s3://redshift-audit-logs-to-secops/audit-logs/
    • Source deletion option: 必要に応じて削除オプションを選択します。
    • ファイルの最大経過日数: 指定した日数以内に変更されたファイルを含めます(デフォルトは 180 日)。
    • アクセスキー ID: S3 バケットにアクセスできるユーザー アクセスキー
    • シークレット アクセスキー: S3 バケットにアクセスできるユーザーのシークレット キー
    • アセットの名前空間: アセットの名前空間
    • Ingestion labels: このフィードのイベントに適用されるラベル
  9. [次へ] をクリックしてから、[送信] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
func_label additional.fields 統合済み
lpclagg_label additional.fields 統合済み
lpcltype_label additional.fields 統合済み
msg metadata.description 直接マッピングされます。
has_principal metadata.event_type マッピング: trueSTATUS_UPDATE
has_target_resource metadata.event_type マッピング: trueUSER_RESOURCE_ACCESS
has_user metadata.event_type マッピング: trueUSER_UNCATEGORIZED
column1 metadata.product_event_type 直接マッピングされます。
requestID metadata.product_log_id 直接マッピングされます。
column20 network.application_protocol_version 直接マッピングされます。
column9 network.session_duration.seconds 名前変更済み/マッピング済み
column21 network.session_id 直接マッピングされます。
xid network.session_id 直接マッピングされます。
column11 network.tls.cipher 直接マッピングされます。
column10 network.tls.version 直接マッピングされます。
column16 principal.application 直接マッピングされます。
column3 principal.asset.ip 統合済み
log_event.src_ip principal.asset.ip 統合済み
column3 principal.hostname 直接マッピングされます。
column3 principal.ip 統合済み
log_event.src_ip principal.ip 統合済み
region principal.location.name 直接マッピングされます。
column17 principal.platform_version 直接マッピングされます。
column4 principal.port 直接マッピングされます。
column5 principal.process.pid 直接マッピングされます。
pid principal.process.pid 直接マッピングされます。
accountID principal.user.userid 直接マッピングされます。
user_id principal.user.userid 直接マッピングされます。
authmethod_label security_result.detection_fields 統合済み
compression_label security_result.detection_fields 統合済み
driver_version_label security_result.detection_fields 統合済み
iamauthguid_label security_result.detection_fields 統合済み
mtu_label security_result.detection_fields 統合済み
plugin_name_label security_result.detection_fields 統合済み
ssl_compression_label security_result.detection_fields 統合済み
ssl_expansion_label security_result.detection_fields 統合済み
level security_result.severity マッピング: (?i)InfoINFORMATIONAL(?i)ErrorERROR(?i)WarningMEDIUM
file target.file.full_path 直接マッピングされます。
expected_bucket_label target.resource.attribute.labels 統合済み
expected_s3_prefix_label target.resource.attribute.labels 統合済み
sql_query_label target.resource.attribute.labels 統合済み
time_zone_label target.resource.attribute.labels 統合済み
ClusterIdentifier target.resource.name 直接マッピングされます。
column6 target.resource.name 直接マッピングされます。
db target.resource.name 直接マッピングされます。
column7 target.user.user_display_name 直接マッピングされます。
user target.user.user_display_name 直接マッピングされます。
該当なし metadata.event_type 定数: USER_RESOURCE_ACCESS
該当なし security_result.severity 定数: INFORMATIONAL
該当なし target.resource.type 定数: DATABASE

変更履歴

このパーサーの変更ログを表示する

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。