Mengumpulkan log AWS Redshift
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
- Buat bucket Amazon S3 dengan mengikuti panduan pengguna ini: Membuat bucket.
Simpan Nama 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 Permissions.
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 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.
- 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 parameters.
- Tetapkan nilai parameter enable_user_activity_logging ke true.
Klik Save.
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 Properties.
- 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 S3 key prefix untuk mengatur file log dalam bucket (misalnya,
audit-logs/). - 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
- 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.
- Buat Pengguna dengan mengikuti panduan pengguna ini: Membuat pengguna IAM.
- Pilih Pengguna yang dibuat.
- Pilih tab Security credentials.
- Klik Create Access Key di bagian Access Keys.
- Pilih Third-party service sebagai Use case.
- Klik Next.
- Opsional: Tambahkan tag deskripsi.
- Klik Create access key.
- Klik Download .csv file untuk menyimpan Access Key dan Secret Access Key sebagai referensi di masa mendatang.
- Klik Done.
- Pilih tab Permissions.
- Klik Add permissions di bagian Permissions policies.
- Pilih Add permissions.
- Pilih Attach policies directly.
- Telusuri kebijakan AmazonS3FullAccess.
- Pilih kebijakan.
- Klik Next.
- Klik Add permissions.
Mengonfigurasi feed di Google SecOps untuk menyerap log AWS Redshift
- Buka SIEM Settings > Feeds.
- Klik Add New Feed.
- Di halaman berikutnya, klik Configure a single feed.
- Masukkan nama unik untuk Feed name.
- Pilih Amazon S3 V2 sebagai Source type.
- Pilih AWS Redshift sebagai Log type.
- Klik Next , lalu klik Submit.
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
- S3 URI:
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: 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 |
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)Info → INFORMATIONAL, (?i)Error → ERROR, (?i)Warning → MEDIUM |
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.