Mengumpulkan log akses server AWS S3
Dokumen ini menjelaskan cara mengumpulkan log akses server AWS S3 dengan menyiapkan feed Google Security Operations. Parser mengekstrak kolom menggunakan pola grok, menangani potensi input JSON, dan memetakan kolom yang diekstrak ke UDM. Fungsi ini melakukan transformasi data, konversi jenis, dan logika kondisional berdasarkan keberadaan dan nilai kolom tertentu untuk memastikan representasi UDM yang akurat.
Sebelum memulai
- Pastikan Anda memiliki instance Google Chronicle.
- Pastikan Anda memiliki akses dengan hak istimewa ke AWS.
Mengonfigurasi logging akses server AWS S3
Google SecOps mendukung pengumpulan log menggunakan Amazon S3 melalui Amazon SQS.
- Login ke konsol AWS Management.
- Akses konsol Amazon S3.
- Buka Amazon S3 > Bucket.
- Pilih bucket yang ada atau buat bucket baru.
- Klik Properties.
- Di bagian Logging akses server, klik Edit.
- Pilih Aktifkan.
- Di kolom Target bucket, masukkan nama untuk bucket baru yang akan menerima objek data log atau pilih bucket yang ada sebagai target.
- Klik Simpan perubahan.
- Untuk membuat antrean SQS untuk bucket S3, konfigurasikan instance Amazon SQS dengan penyimpanan S3. Untuk informasi selengkapnya, lihat Mengonfigurasi bucket untuk notifikasi (topik SNS atau antrean SQS).
Berdasarkan layanan dan region, identifikasi endpoint untuk konektivitas dengan melihat dokumentasi AWS berikut: * Untuk informasi tentang sumber logging, lihat Kuota dan endpoint AWS Identity and Access Management. * Untuk informasi tentang sumber logging S3, lihat Endpoint dan kuota Amazon Simple Storage Service. * Untuk mengetahui informasi tentang sumber logging SQS, lihat Kuota dan endpoint Amazon Simple Queue Service.
Mengonfigurasi feed di Google SecOps untuk menyerap log akses server AWS S3
- Di menu Google SecOps, buka Setelan > Feed > Tambahkan baru.
- Dalam daftar Source type, pilih Amazon S3 atau Amazon SQS.
- Dalam daftar Jenis log, pilih Akses server AWS S3.
- Klik Berikutnya.
- Google SecOps mendukung pengumpulan log menggunakan ID kunci akses dan metode rahasia. Untuk membuat ID kunci akses dan secret, lihat Mengonfigurasi autentikasi alat dengan AWS.
- Berdasarkan konfigurasi akses server AWS S3 yang Anda buat, tentukan nilai untuk parameter input:
- Jika menggunakan Amazon S3, tentukan nilai untuk kolom berikut:
- Region
- URI S3
- URI adalah
- Opsi penghapusan sumber
- ID kunci akses
- Kunci akses rahasia
- Jika menggunakan Amazon SQS, tentukan nilai untuk kolom berikut:
- Region
- Nama antrean
- Nomor akun
- ID kunci akses antrean
- Antrean kunci akses rahasia
- Opsi penghapusan sumber
- Jika menggunakan Amazon S3, tentukan nilai untuk kolom berikut:
- Klik Berikutnya, lalu klik Kirim.
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
aclRequired |
target.resource.attribute.labels.key : "aclRequired"target.resource.attribute.labels.value : Nilai aclRequired |
Dipetakan langsung dari kolom log mentah aclRequired . |
authenticationtype |
extensions.auth.auth_details |
Dipetakan langsung dari kolom log mentah authenticationtype . |
bucket |
target.resource.name |
Dipetakan langsung dari kolom log mentah bucket . |
bucket |
target.resource.resource_type : "STORAGE_BUCKET" |
Parser menetapkan resource_type ke "STORAGE_BUCKET" jika kolom bucket ada. |
bucketowner |
target.resource.product_object_id |
Dipetakan langsung dari kolom log mentah bucketowner . |
bytes_sent |
network.sent_bytes |
Dipetakan langsung dari kolom log mentah bytes_sent setelah mengonversinya menjadi bilangan bulat tanpa tanda tangan dan mengganti "-" dengan "0". |
ciphersuite |
network.application_protocol : "HTTPS" |
Parser menetapkan application_protocol ke "HTTPS" jika kolom ciphersuite ada. |
ciphersuite |
network.tls.cipher |
Dipetakan langsung dari kolom log mentah ciphersuite . |
errorcode |
security_result.action_details |
Dipetakan langsung dari kolom log mentah errorcode . |
errorcode |
security_result.action : "BLOCK" |
Parser menetapkan action ke "BLOCK" jika kolom errorcode berisi "AccessDenied" (tidak peka huruf besar/kecil). |
hostheader |
target.hostname |
Diekstrak dari kolom log mentah hostheader , yang berpotensi menghapus nomor port. |
hostheader |
target.port |
Diekstrak dari kolom log mentah hostheader jika ada nomor port. |
hostid |
target.resource.attribute.labels.key : "S3 Extended Request ID"target.resource.attribute.labels.value : Nilai hostid |
Dipetakan langsung dari kolom log mentah hostid . |
http_capture |
network.http.method |
Metode HTTP diekstrak dari kolom http_capture . |
http_capture |
network.http.version |
Versi HTTP diekstrak dari kolom http_capture . |
http_capture |
target.url |
URL target dibuat menggunakan hostheader dan http_request_uri (diekstrak dari http_capture ), diawali dengan "http://" atau "https://" berdasarkan keberadaan ciphersuite . |
httpstatus |
network.http.response_code |
Dipetakan langsung dari kolom log mentah httpstatus setelah mengonversinya menjadi bilangan bulat. |
object_version_id |
target.resource.product_object_id |
Dipetakan langsung dari kolom log mentah object_version_id . |
objectsize |
target.file.size |
Dipetakan langsung dari kolom log mentah objectsize setelah mengonversinya menjadi bilangan bulat tanpa tanda tangan dan mengganti "-" dengan "0". |
operation |
metadata.product_event_type |
Dipetakan langsung dari kolom log mentah operation . |
referrer |
network.http.referral_url |
Dipetakan langsung dari kolom log mentah referrer setelah menghapus tanda kutip. |
remoteip |
metadata.event_type : "USER_RESOURCE_ACCESS" |
Parser menetapkan event_type ke "USER_RESOURCE_ACCESS" jika kolom remoteip kosong. |
remoteip |
principal.ip |
Dipetakan langsung dari kolom log mentah remoteip . |
requester |
target.resource.attribute.labels.key : "Access Point ARN"target.resource.attribute.labels.value : Nilai requester |
Dipetakan langsung dari kolom log mentah requester . |
requester_user |
principal.user.userid |
Dipetakan langsung dari kolom log mentah requester_user . |
requestid |
network.session_id |
Dipetakan langsung dari kolom log mentah requestid . |
request_time_ms |
network.session_duration.nanos |
Dipetakan langsung dari kolom log mentah request_time_ms setelah mengonversinya menjadi bilangan bulat, mengganti "-" dengan "0", dan menambahkan padding dengan nol untuk mewakili nanodetik. |
signatureversion |
target.resource.attribute.labels.key : "Signature Version"target.resource.attribute.labels.value : Nilai signatureversion |
Dipetakan langsung dari kolom log mentah signatureversion . |
time |
metadata.event_timestamp |
Diurai dari kolom log mentah time dan dikonversi menjadi stempel waktu. |
tlsVersion |
network.tls.version |
Dipetakan langsung dari kolom log mentah tlsVersion . |
useragent |
network.http.user_agent |
Dipetakan langsung dari kolom log mentah useragent setelah menghapus tanda kutip. |
(Logika Parser) | metadata.event_type : "NETWORK_HTTP" |
Parser menetapkan event_type default ke "NETWORK_HTTP". |
(Logika Parser) | metadata.log_type : "AWS_S3_SERVER_ACCESS" |
Parser menetapkan log_type ke "AWS_S3_SERVER_ACCESS". |
(Logika Parser) | metadata.product_name : "AWS S3 Server Access" |
Parser menetapkan product_name ke "AWS S3 Server Access". |
(Logika Parser) | metadata.product_version : "HTTP/http_version " |
Parser menetapkan product_version menggunakan http_version yang diekstrak. |
(Logika Parser) | metadata.vendor_name : "AMAZON" |
Parser menetapkan vendor_name ke "AMAZON". |
(Logika Parser) | network.application_protocol : "HTTP" |
Parser menetapkan application_protocol ke "HTTP" jika kolom ciphersuite tidak ada. |
(Logika Parser) | timestamp |
Parser menetapkan timestamp peristiwa ke waktu saat ini saat peristiwa diproses. |
Perubahan
2023-07-19
- Perbaikan Bug -
- Mengubah pola Grok untuk menangani tanda hubung (-) saat data tidak ada.
- Memetakan "aclRequired" ke "target.resource.attribute.labels".
2023-05-04
- Peningkatan-
- Menambahkan dukungan untuk log format JSON.
2022-07-21
- Parser yang Baru Dibuat.
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.