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 penyerapan 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.
- Klik Aktif untuk mengaktifkan logging.
- Di kolom Bucket for logs, tentukan nama bucket Amazon S3.
- Di kolom Awalan log, tentukan awalan opsional.
- Setelah file log disimpan di bucket Amazon S3, buat antrean SQS, lalu lampirkan dengan bucket Amazon S3.
Mengidentifikasi endpoint untuk konektivitas
Periksa kebijakan pengguna Identity and Access Management dan kunci KMS yang diperlukan untuk S3, SQS, dan KMS.
Berdasarkan layanan dan region, identifikasi endpoint untuk konektivitas dengan melihat 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 Endpoint dan kuota Amazon Simple Queue Service.
Menyiapkan feed
Ada dua titik entri berbeda untuk menyiapkan feed di platform Google SecOps:
- Setelan SIEM > Feed > Tambahkan Baru
- Hub Konten > Paket Konten > Mulai
Cara menyiapkan feed AWS CloudFront
- Klik paket Amazon Cloud Platform.
- Temukan jenis log AWS CloudFront.
Tentukan nilai di kolom berikut.
- Jenis Sumber: Amazon SQS V2
- Nama Antrean: Nama antrean SQS yang akan dibaca
- URI S3: URI bucket.
s3://your-log-bucket-name/
- Ganti
your-log-bucket-name
dengan nama sebenarnya bucket S3 Anda.
- Ganti
Opsi penghapusan sumber: Pilih opsi penghapusan sesuai dengan preferensi penyerapan Anda.
Usia File Maksimum: Menyertakan file yang diubah dalam beberapa hari terakhir. Defaultnya adalah 180 hari.
ID Kunci Akses Antrean SQS: Kunci akses akun yang berupa string alfanumerik 20 karakter.
Kunci Akses Rahasia Antrean SQS: Kunci akses akun yang berupa string alfanumerik 40 karakter.
Opsi lanjutan
- Nama Feed: Nilai yang telah diisi otomatis yang mengidentifikasi feed.
- Namespace Aset: Namespace yang terkait dengan feed.
- Label Penyerapan: Label yang diterapkan ke semua peristiwa dari feed ini.
Klik Buat feed.
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi beberapa feed untuk berbagai jenis log dalam keluarga produk ini, lihat Mengonfigurasi feed menurut produk.
Referensi pemetaan kolom
Parser ini mengekstrak kolom dari log AWS CloudFront dalam format SYSLOG atau JSON, lalu menormalisasinya ke dalam UDM. Logstash 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 ke dalam komponennya jika tidak berisi "://". |
cs-bytes |
network.sent_bytes |
Dipetakan secara langsung. Dikonversi menjadi bilangan bulat yang tidak bertanda tangan. |
cs-method |
network.http.method |
Dipetakan secara langsung. |
cs-protocol |
network.application_protocol |
Dipetakan setelah dikonversi menjadi huruf besar. Jika nilai tidak dikenali sebagai protokol aplikasi standar dan cs-protocol-version berisi "HTTP", maka network.application_protocol disetel 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 yang tidak bertanda 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 |
Diuraikan dan dipetakan jika tersedia. Format yang berbeda didukung. |
ts |
metadata.event_timestamp |
Diuraikan 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 dengan koma), IP tersebut akan dibagi dan digabungkan ke dalam 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". Dikodekan secara permanen ke "AWS_CLOUDFRONT". Dikodekan secara permanen ke "AWS CloudFront". Dikodekan secara permanen ke "AMAZON". Waktu penyerapan entri log ke Google Security Operations. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.