Mengumpulkan log akses server AWS S3

Didukung di:

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.

  1. Login ke konsol AWS Management.
  2. Akses konsol Amazon S3.
  3. Buka Amazon S3 > Bucket.
  4. Pilih bucket yang ada atau buat bucket baru.
  5. Klik Properties.
  6. Di bagian Logging akses server, klik Edit.
  7. Pilih Aktifkan.
  8. Di kolom Target bucket, masukkan nama untuk bucket baru yang akan menerima objek data log atau pilih bucket yang ada sebagai target.
  1. Klik Simpan perubahan.
  2. 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

  1. Di menu Google SecOps, buka Setelan > Feed > Tambahkan baru.
  2. Dalam daftar Source type, pilih Amazon S3 atau Amazon SQS.
  3. Dalam daftar Jenis log, pilih Akses server AWS S3.
  4. Klik Berikutnya.
  5. 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.
  6. 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
  7. 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.