Mengumpulkan log AWS Redshift

Versi Parser: 1.0

Didukung di:

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

Amazon Redshift adalah layanan data warehouse cloud berskala 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 termasuk upaya autentikasi, koneksi, pemutusan koneksi, perubahan definisi pengguna, dan kueri yang dijalankan terhadap database. Integrasi ini menggunakan fitur audit logging native Amazon Redshift untuk mengirimkan file log ke bucket S3, yang kemudian di-ingest 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.

Buat dan konfigurasi bucket S3

  1. Buat bucket Amazon S3 dengan mengikuti panduan pengguna ini: Membuat bucket.
  2. Simpan Name 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 Izin.

  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 Simpan perubahan.

Mengaktifkan parameter log aktivitas pengguna

Log koneksi dan log pengguna dicatat secara otomatis saat audit logging 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 Parameter.
  5. Klik Edit parameter.
  6. Tetapkan nilai parameter enable_user_activity_logging ke true.
  7. Klik Simpan.

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 Cluster, lalu pilih cluster yang ingin Anda konfigurasi.
  3. Pilih tab Properti.
  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 awalan kunci S3 untuk mengatur file log dalam bucket (misalnya, audit-logs/).
  9. Pilih log yang akan diekspor:
    • Log koneksi - upaya autentikasi, koneksi, dan pemutusan koneksi
    • Log pengguna - perubahan pada definisi pengguna database
    • Log aktivitas pengguna - setiap kueri sebelum dijalankan di database
  10. Klik Simpan perubahan.

Untuk mengetahui informasi selengkapnya, lihat Database audit logging 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 Kredensial keamanan.
  4. Klik Create Access Key di bagian Access Keys.
  5. Pilih Layanan pihak ketiga sebagai Kasus penggunaan.
  6. Klik Berikutnya.
    • Opsional: Tambahkan tag deskripsi.
  7. Klik Create access key.
  8. Klik Download file .csv untuk menyimpan Kunci Akses dan Kunci Akses Rahasia untuk referensi di masa mendatang.
  9. Klik Done.
  10. Pilih tab Permissions.
  11. Klik Tambahkan izin di bagian Kebijakan izin.
  12. Pilih Tambahkan izin.
  13. Pilih Lampirkan kebijakan secara langsung.
  14. Cari kebijakan AmazonS3FullAccess.
  15. Pilih kebijakan.
  16. Klik Berikutnya.
  17. Klik Add permissions.

Mengonfigurasi feed di Google SecOps untuk menyerap log AWS Redshift

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan Feed Baru.
  3. Di halaman berikutnya, klik Konfigurasi satu feed.
  4. Masukkan nama unik untuk Nama feed.
  5. Pilih Amazon S3 V2 sebagai Jenis sumber.
  6. Pilih AWS Redshift sebagai Jenis log.
  7. Klik Berikutnya, lalu klik Kirim.
  8. Tentukan nilai untuk kolom berikut:

    • URI S3: s3://redshift-audit-logs-to-secops/audit-logs/
    • Opsi penghapusan sumber: Pilih opsi penghapusan sesuai preferensi Anda
    • Usia File Maksimum: Menyertakan file yang diubah dalam beberapa hari terakhir (defaultnya adalah 180 hari)
    • ID Kunci Akses: Kunci akses pengguna dengan akses ke bucket S3
    • Kunci Akses Rahasia: Kunci rahasia pengguna dengan akses ke bucket S3
    • Namespace aset: Namespace aset
    • Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini
  9. Klik Berikutnya, lalu klik Kirim.

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
func_label additional.fields Digabung
lpclagg_label additional.fields Digabung
lpcltype_label additional.fields Digabung
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 Digabung
log_event.src_ip principal.asset.ip Digabung
column3 principal.hostname Dipetakan secara langsung
column3 principal.ip Digabung
log_event.src_ip principal.ip Digabung
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 Digabung
compression_label security_result.detection_fields Digabung
driver_version_label security_result.detection_fields Digabung
iamauthguid_label security_result.detection_fields Digabung
mtu_label security_result.detection_fields Digabung
plugin_name_label security_result.detection_fields Digabung
ssl_compression_label security_result.detection_fields Digabung
ssl_expansion_label security_result.detection_fields Digabung
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 Digabung
expected_s3_prefix_label target.resource.attribute.labels Digabung
sql_query_label target.resource.attribute.labels Digabung
time_zone_label target.resource.attribute.labels Digabung
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

Log Perubahan

Melihat Log Perubahan untuk parser ini

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