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. Platform ini memungkinkan pembuatan kueri dan analisis yang cepat di seluruh set data besar menggunakan alat berbasis SQL dan aplikasi business intelligence. Amazon Redshift mencatat aktivitas database ke dalam 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
- 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 Amazon S3 console 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 logging audit diaktifkan. Untuk juga mencatat 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 Parameters.
- 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 Clusters, lalu pilih cluster yang ingin Anda konfigurasi.
- Pilih tab Properti.
- Di panel Konfigurasi database, klik Edit, lalu pilih Edit log audit.
- Di halaman Edit log audit, 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 S3 key prefix 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 Pencatatan log audit database di Amazon Redshift Management Guide.
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 User 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 .csv file untuk menyimpan Access Key dan Secret Access Key untuk referensi di masa mendatang.
- Klik Done.
- Pilih tab Permissions.
- Klik Add permissions di bagian Kebijakan Izin.
- Pilih Add permissions.
- Pilih Attach policies directly.
- Telusuri kebijakan AmazonS3FullAccess.
- Pilih kebijakan.
- Klik Berikutnya.
- Klik Add permissions.
Mengonfigurasi feed di Google SecOps untuk menyerap log AWS Redshift
- Buka Setelan > Pengelolaan Data > Feed. Jika Anda menggunakan platform khusus SIEM, buka Settings > Feeds.
- Klik Tambahkan Feed Berita 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 Log type.
- Klik Berikutnya, lalu klik Kirim.
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 (defaultnya 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
- Namespace aset: Namespace aset
- Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini
- S3 URI:
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 namanya/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.