Mengumpulkan log AWS Redshift
Versi Parser: 1.0
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
- Buat bucket Amazon S3 dengan mengikuti panduan pengguna ini: Membuat bucket.
Simpan Name dan Region bucket untuk referensi di masa mendatang (misalnya,
redshift-audit-logs-to-secops).Pilih bucket yang dibuat di konsol Amazon S3 di https://console.aws.amazon.com/s3.
Pilih tab Izin.
Di bagian Bucket policy, klik Edit.
Tambahkan kebijakan bucket berikut (ganti
redshift-audit-logs-to-secopsdengan 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/*" ] } ] }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.
- Login ke konsol Amazon Redshift di https://console.aws.amazon.com/redshiftv2/.
- Di menu navigasi, buka Configurations > Workload management.
- Pilih grup parameter yang terkait dengan cluster Anda.
- Pilih tab Parameter.
- Klik Edit parameter.
- Tetapkan nilai parameter enable_user_activity_logging ke true.
Klik Simpan.
Mengaktifkan logging audit Amazon Redshift ke S3
- Login ke konsol Amazon Redshift di https://console.aws.amazon.com/redshiftv2/.
- Di menu navigasi, pilih Cluster, lalu pilih cluster yang ingin Anda konfigurasi.
- Pilih tab Properti.
- Di panel Database configurations, klik Edit, lalu pilih Edit audit logging.
- Di halaman Edit audit logging, pilih Turn on.
- Untuk Log destination, pilih S3 bucket.
- Untuk S3 bucket, pilih bucket yang Anda konfigurasi (misalnya,
redshift-audit-logs-to-secops). - Opsional: Masukkan awalan kunci S3 untuk mengatur file log dalam bucket (misalnya,
audit-logs/). - 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
- 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.
- Buat Pengguna dengan mengikuti panduan pengguna ini: Membuat pengguna IAM.
- Pilih Pengguna yang dibuat.
- Pilih tab Kredensial keamanan.
- Klik Create Access Key di bagian Access Keys.
- Pilih Layanan pihak ketiga sebagai Kasus penggunaan.
- Klik Berikutnya.
- Opsional: Tambahkan tag deskripsi.
- Klik Create access key.
- Klik Download file .csv untuk menyimpan Kunci Akses dan Kunci Akses Rahasia untuk referensi di masa mendatang.
- Klik Done.
- Pilih tab Permissions.
- Klik Tambahkan izin di bagian Kebijakan izin.
- Pilih Tambahkan izin.
- Pilih Lampirkan kebijakan secara langsung.
- Cari kebijakan AmazonS3FullAccess.
- Pilih kebijakan.
- Klik Berikutnya.
- Klik Add permissions.
Mengonfigurasi feed di Google SecOps untuk menyerap log AWS Redshift
- Buka Setelan SIEM > Feed.
- Klik Tambahkan Feed Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Masukkan nama unik untuk Nama feed.
- Pilih Amazon S3 V2 sebagai Jenis sumber.
- Pilih AWS Redshift sebagai Jenis log.
- Klik Berikutnya, lalu klik Kirim.
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
- URI S3:
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: true → STATUS_UPDATE |
has_target_resource |
metadata.event_type |
Dipetakan: true → USER_RESOURCE_ACCESS |
has_user |
metadata.event_type |
Dipetakan: true → USER_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)Info → INFORMATIONAL, (?i)Error → ERROR, (?i)Warning → MEDIUM |
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.