Mengumpulkan log Amazon CloudFront
Dokumen ini menjelaskan cara mengumpulkan log Amazon CloudFront dengan menyiapkan feed Google Security Operations.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan penyerapan data ke Google Security Operations.
Label penyerapan mengidentifikasi parser yang menormalisasi data log mentah
ke format UDM terstruktur. Informasi dalam dokumen ini berlaku untuk parser
dengan label transfer AWS_CLOUDFRONT
.
Sebelum memulai
Pastikan bucket Amazon S3 dibuat. Untuk mengetahui informasi selengkapnya, lihat Membuat bucket S3 pertama Anda.
Mengonfigurasi Amazon CloudFront
- Login ke konsol AWS Management.
- Akses konsol Amazon S3, lalu buat bucket Amazon S3.
- Untuk mengaktifkan logging, pilih Aktif.
- Di kolom Bucket for logs, tentukan nama bucket Amazon S3.
- Di kolom Log prefix, tentukan awalan opsional.
- Setelah file log disimpan di bucket Amazon S3, buat antrean SQS dan lampirkan dengan bucket Amazon S3.
Mengidentifikasi endpoint untuk konektivitas
Periksa kebijakan kunci KMS dan pengguna IAM yang diperlukan untuk S3, SQS, dan KMS.
Berdasarkan layanan dan region, identifikasi endpoint untuk konektivitas dengan merujuk ke dokumentasi AWS berikut:
- Untuk mengetahui informasi tentang sumber logging, lihat Endpoint dan kuota AWS Identity and Access Management.
- Untuk mengetahui 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 Security Operations untuk menyerap log Amazon CloudFront
- Pilih Setelan SIEM > Feed.
- Klik Tambahkan baru.
- Masukkan nama unik untuk Nama feed.
- Pilih Amazon S3 atau Amazon SQS sebagai Source type.
- Pilih AWS CloudFront sebagai Jenis log.
- Klik Berikutnya.
- Google Security Operations 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 Amazon CloudFront yang Anda buat, tentukan nilai untuk
kolom berikut.
- Jika Anda menggunakan Amazon S3, tentukan nilai untuk kolom berikut:
- Region
- URI S3
- URI adalah
- Opsi penghapusan sumber
- Jika Anda 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 Anda menggunakan Amazon S3, tentukan nilai untuk kolom berikut:
- Klik Berikutnya, lalu klik Kirim.
Untuk mengirim log Amazon CloudFront ke bucket Amazon S3, lihat Mengonfigurasi dan menggunakan log standar (log akses).
Untuk informasi selengkapnya tentang feed Google Security Operations, lihat dokumentasi feed Google Security Operations. Untuk mengetahui informasi tentang persyaratan untuk setiap jenis feed, lihat Konfigurasi feed menurut jenis. Jika Anda mengalami masalah saat membuat feed, hubungi dukungan Google Security Operations.
Referensi pemetaan kolom
Parser ini mengekstrak kolom dari log AWS CloudFront dalam format SYSLOG atau JSON, yang dinormalisasi ke dalam UDM. Fungsi ini menggunakan pola grok untuk mengurai string pesan, menangani berbagai transformasi data (misalnya, konversi jenis, penggantian nama), dan memperkaya data dengan konteks tambahan seperti penguraian agen pengguna dan identifikasi protokol aplikasi.
Tabel pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
c-ip |
principal.ip |
Dipetakan secara langsung. Juga dipetakan ke principal.asset.ip . |
c-port |
principal.port |
Dipetakan secara langsung. |
cs(Cookie) |
additional.fields[].key : "cookie"additional.fields[].value.string_value : Dipetakan secara langsung. |
Dipetakan secara kondisional jika cs(Cookie) ada dan agent tidak berisi "://". |
cs(Host) |
principal.hostname |
Dipetakan secara langsung. Juga dipetakan ke principal.asset.hostname . Digunakan dalam membuat target.url jika kolom URL lain tidak tersedia. |
cs(Referer) |
network.http.referral_url |
Dipetakan secara langsung. |
cs(User-Agent) |
network.http.user_agent |
Dipetakan secara langsung. Juga dipetakan ke network.http.parsed_user_agent dan diuraikan menjadi komponennya jika tidak berisi "://". |
cs-bytes |
network.sent_bytes |
Dipetakan secara langsung. Dikonversi menjadi bilangan bulat tanpa tanda tangan. |
cs-method |
network.http.method |
Dipetakan secara langsung. |
cs-protocol |
network.application_protocol |
Dipetakan setelah dikonversi ke huruf besar. Jika nilai tidak dikenali sebagai protokol aplikasi standar dan cs-protocol-version berisi "HTTP", network.application_protocol akan ditetapkan ke "HTTP". |
dport |
target.port |
Dipetakan secara langsung. Dikonversi ke bilangan bulat. |
edge_location |
principal.location.name |
Dipetakan secara langsung. |
fle-encrypted-fields |
additional.fields[].key : "fle-encrypted-fields"additional.fields[].value.string_value : Dipetakan secara langsung. |
Dipetakan secara kondisional jika ada. |
fle-status |
additional.fields[].key : "fle-status"additional.fields[].value.string_value : Dipetakan secara langsung. |
Dipetakan secara kondisional jika ada. |
host |
principal.hostname , principal.asset.hostname |
Dipetakan secara langsung. |
id |
principal.asset_id |
Dipetakan langsung dengan awalan "id: ". |
ip |
target.ip , target.asset.ip |
Dipetakan secara langsung. |
log_id |
metadata.product_log_id |
Dipetakan secara langsung. |
resource |
additional.fields[].key : "resource"additional.fields[].value.string_value : Dipetakan secara langsung. |
Dipetakan secara kondisional jika ada. |
result_type |
additional.fields[].key : "result_type"additional.fields[].value.string_value : Dipetakan secara langsung. |
Dipetakan secara kondisional jika ada. |
sc-bytes |
network.received_bytes |
Dipetakan secara langsung. Dikonversi menjadi bilangan bulat tanpa tanda tangan. |
sc-content-len |
additional.fields[].key : "sc-content-len"additional.fields[].value.string_value : Dipetakan secara langsung. |
Dipetakan secara kondisional jika ada. |
sc-content-type |
additional.fields[].key : "sc-content-type"additional.fields[].value.string_value : Dipetakan secara langsung. |
Dipetakan secara kondisional jika ada. |
sc-status |
network.http.response_code |
Dipetakan secara langsung. Dikonversi ke bilangan bulat. |
ssl-cipher |
network.tls.cipher |
Dipetakan secara langsung. |
ssl-protocol |
network.tls.version |
Dipetakan secara langsung. |
timestamp |
metadata.event_timestamp |
Diurai dan dipetakan jika tersedia. Berbagai format didukung. |
ts |
metadata.event_timestamp |
Diurai dan dipetakan jika tersedia. Format ISO8601 diharapkan. |
url |
target.url |
Dipetakan secara langsung. |
url_back_to_product |
metadata.url_back_to_product |
Dipetakan secara langsung. |
x-edge-detailed-result-type |
additional.fields[].key : "x-edge-detailed-result-type"additional.fields[].value.string_value : Dipetakan secara langsung. |
Dipetakan secara kondisional jika ada. |
x-edge-location |
additional.fields[].key : "x-edge-location"additional.fields[].value.string_value : Dipetakan secara langsung. |
Dipetakan secara kondisional jika ada. |
x-edge-request-id |
additional.fields[].key : "x-edge-request-id"additional.fields[].value.string_value : Dipetakan secara langsung. |
Dipetakan secara kondisional jika ada. |
x-edge-response-result-type |
additional.fields[].key : "x-edge-response-result-type"additional.fields[].value.string_value : Dipetakan secara langsung. |
Dipetakan secara kondisional jika ada. |
x-edge-result-type |
additional.fields[].key : "x-edge-result-type"additional.fields[].value.string_value : Dipetakan secara langsung. |
Dipetakan secara kondisional jika ada. |
x-forwarded-for |
target.ip , target.asset.ip |
Dipetakan secara langsung. Jika ada beberapa IP (dipisahkan koma), IP tersebut akan dibagi dan digabungkan ke kolom UDM masing-masing. |
x-host-header |
target.hostname , target.asset.hostname |
Dipetakan secara langsung. Tetapkan ke "NETWORK_HTTP" jika ip atau x-forwarded-for dan http_verb ada. Jika tidak, tetapkan ke "GENERIC_EVENT". Di-hardcode ke "AWS_CLOUDFRONT". Di-hardcode ke "AWS CloudFront". Di-hardcode ke "AMAZON". Waktu penyerapan entri log ke Google Security Operations. |