Mengumpulkan log AWS Redshift

Didukung di:

Dokumen ini menjelaskan cara menyerap log AWS Redshift ke Google Security Operations menggunakan Amazon S3.

Amazon Redshift adalah layanan data warehouse cloud skala petabyte yang terkelola sepenuhnya dari Amazon Web Services. Layanan ini memungkinkan kueri dan analisis cepat di seluruh set data besar menggunakan alat berbasis SQL dan aplikasi business intelligence. Amazon Redshift mencatat aktivitas database log, termasuk upaya autentikasi, koneksi, pemutusan koneksi, perubahan definisi pengguna, dan kueri yang dijalankan terhadap database. Integrasi ini menggunakan fitur logging audit native Amazon Redshift untuk mengirimkan file log ke bucket S3, yang kemudian diserap oleh Google SecOps menggunakan feed Amazon S3 V2.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Akses istimewa ke AWS Management Console dengan izin untuk mengelola:
    • Amazon Redshift (cluster, grup parameter)
    • Amazon S3 (bucket, kebijakan bucket)
    • AWS IAM (pengguna, kebijakan)

Mengonfigurasi bucket S3 untuk logging audit Amazon Redshift

Amazon Redshift mengupload file log audit ke bucket S3. Anda harus mengonfigurasi kebijakan bucket S3 untuk mengizinkan layanan Amazon Redshift menulis file log.

Membuat dan mengonfigurasi bucket S3

  1. Buat bucket Amazon S3 dengan mengikuti panduan pengguna ini: Membuat bucket.
  2. Simpan Nama dan Region bucket untuk referensi di masa mendatang (misalnya, redshift-audit-logs-to-secops).

  3. Pilih bucket yang dibuat di konsol Amazon S3 di https://console.aws.amazon.com/s3.

  4. Pilih tab Permissions.

  5. Di bagian Bucket policy, klik Edit.

  6. Tambahkan kebijakan bucket berikut (ganti redshift-audit-logs-to-secops dengan nama bucket Anda):

    {
        "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. Klik Save changes.

Mengaktifkan parameter log aktivitas pengguna

Log koneksi dan log pengguna akan otomatis direkam saat logging audit diaktifkan. Untuk juga merekam log aktivitas pengguna (yang mencatat setiap kueri sebelum dijalankan di database), Anda harus mengaktifkan parameter database enable_user_activity_logging.

  1. Login ke konsol Amazon Redshift di https://console.aws.amazon.com/redshiftv2/.
  2. Di menu navigasi, buka Configurations > Workload management.
  3. Pilih grup parameter yang terkait dengan cluster Anda.
  4. Pilih tab Parameters.
  5. Klik Edit parameters.
  6. Tetapkan nilai parameter enable_user_activity_logging ke true.
  7. Klik Save.

Mengaktifkan logging audit Amazon Redshift ke S3

  1. Login ke konsol Amazon Redshift di https://console.aws.amazon.com/redshiftv2/.
  2. Di menu navigasi, pilih Clusters, lalu pilih cluster yang ingin Anda konfigurasi.
  3. Pilih tab Properties.
  4. Di panel Database configurations, klik Edit, lalu pilih Edit audit logging.
  5. Di halaman Edit audit logging, pilih Turn on.
  6. Untuk Log destination, pilih S3 bucket.
  7. Untuk S3 bucket, pilih bucket yang Anda konfigurasi (misalnya, redshift-audit-logs-to-secops).
  8. Opsional: Masukkan S3 key prefix untuk mengatur file log dalam bucket (misalnya, audit-logs/).
  9. Pilih log yang akan diekspor:
    • Connection log - upaya autentikasi, koneksi, dan pemutusan koneksi
    • User log - perubahan pada definisi pengguna database
    • Log aktivitas pengguna - setiap kueri sebelum dijalankan di database
  10. Klik Save changes.

Untuk mengetahui informasi selengkapnya, lihat Logging audit database di Panduan Pengelolaan Amazon Redshift.

Mengonfigurasi pengguna IAM untuk Google SecOps

Google SecOps memerlukan pengguna IAM dengan akses baca ke bucket S3 untuk menyerap log audit yang diekspor.

  1. Buat Pengguna dengan mengikuti panduan pengguna ini: Membuat pengguna IAM.
  2. Pilih Pengguna yang dibuat.
  3. Pilih tab Security credentials.
  4. Klik Create Access Key di bagian Access Keys.
  5. Pilih Third-party service sebagai Use case.
  6. Klik Next.
    • Opsional: Tambahkan tag deskripsi.
  7. Klik Create access key.
  8. Klik Download .csv file untuk menyimpan Access Key dan Secret Access Key sebagai referensi di masa mendatang.
  9. Klik Done.
  10. Pilih tab Permissions.
  11. Klik Add permissions di bagian Permissions policies.
  12. Pilih Add permissions.
  13. Pilih Attach policies directly.
  14. Telusuri kebijakan AmazonS3FullAccess.
  15. Pilih kebijakan.
  16. Klik Next.
  17. Klik Add permissions.

Mengonfigurasi feed di Google SecOps untuk menyerap log AWS Redshift

  1. Buka SIEM Settings > Feeds.
  2. Klik Add New Feed.
  3. Di halaman berikutnya, klik Configure a single feed.
  4. Masukkan nama unik untuk Feed name.
  5. Pilih Amazon S3 V2 sebagai Source type.
  6. Pilih AWS Redshift sebagai Log type.
  7. Klik Next , lalu klik Submit.
  8. Tentukan nilai untuk kolom berikut:

    • S3 URI: s3://redshift-audit-logs-to-secops/audit-logs/
    • Opsi penghapusan sumber: Pilih opsi penghapusan sesuai preferensi Anda
    • Usia File Maksimum: Sertakan file yang diubah dalam jumlah hari terakhir (default adalah 180 hari)
    • Access Key ID: Kunci akses pengguna dengan akses ke bucket S3
    • Secret Access Key: Kunci rahasia pengguna dengan akses ke bucket S3
    • Asset namespace: Namespace aset
    • Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini
  9. Klik Next , lalu klik Submit.

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
func_label additional.fields Digabungkan
lpclagg_label additional.fields Digabungkan
lpcltype_label additional.fields Digabungkan
msg metadata.description Dipetakan secara langsung
has_principal metadata.event_type Dipetakan: trueSTATUS_UPDATE
has_target_resource metadata.event_type Dipetakan: trueUSER_RESOURCE_ACCESS
has_user metadata.event_type Dipetakan: trueUSER_UNCATEGORIZED
column1 metadata.product_event_type Dipetakan secara langsung
requestID metadata.product_log_id Dipetakan secara langsung
column20 network.application_protocol_version Dipetakan secara langsung
column9 network.session_duration.seconds Diganti nama/dipetakan
column21 network.session_id Dipetakan secara langsung
xid network.session_id Dipetakan secara langsung
column11 network.tls.cipher Dipetakan secara langsung
column10 network.tls.version Dipetakan secara langsung
column16 principal.application Dipetakan secara langsung
column3 principal.asset.ip Digabungkan
log_event.src_ip principal.asset.ip Digabungkan
column3 principal.hostname Dipetakan secara langsung
column3 principal.ip Digabungkan
log_event.src_ip principal.ip Digabungkan
region principal.location.name Dipetakan secara langsung
column17 principal.platform_version Dipetakan secara langsung
column4 principal.port Dipetakan secara langsung
column5 principal.process.pid Dipetakan secara langsung
pid principal.process.pid Dipetakan secara langsung
accountID principal.user.userid Dipetakan secara langsung
user_id principal.user.userid Dipetakan secara langsung
authmethod_label security_result.detection_fields Digabungkan
compression_label security_result.detection_fields Digabungkan
driver_version_label security_result.detection_fields Digabungkan
iamauthguid_label security_result.detection_fields Digabungkan
mtu_label security_result.detection_fields Digabungkan
plugin_name_label security_result.detection_fields Digabungkan
ssl_compression_label security_result.detection_fields Digabungkan
ssl_expansion_label security_result.detection_fields Digabungkan
level security_result.severity Dipetakan: (?i)InfoINFORMATIONAL, (?i)ErrorERROR, (?i)WarningMEDIUM
file target.file.full_path Dipetakan secara langsung
expected_bucket_label target.resource.attribute.labels Digabungkan
expected_s3_prefix_label target.resource.attribute.labels Digabungkan
sql_query_label target.resource.attribute.labels Digabungkan
time_zone_label target.resource.attribute.labels Digabungkan
ClusterIdentifier target.resource.name Dipetakan secara langsung
column6 target.resource.name Dipetakan secara langsung
db target.resource.name Dipetakan secara langsung
column7 target.user.user_display_name Dipetakan secara langsung
user target.user.user_display_name Dipetakan secara langsung
T/A metadata.event_type Konstanta: USER_RESOURCE_ACCESS
T/A security_result.severity Konstanta: INFORMATIONAL
T/A target.resource.type Konstanta: DATABASE

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.