Mengumpulkan log AWS Elastic Load Balancer
Dokumen ini menjelaskan cara mengumpulkan log AWS Elastic Load Balancer dengan menyiapkan feed Google Security Operations. Parser mengonversi log ke format UDM. Proses ini menggunakan pola grok untuk mengekstrak kolom dari pesan berformat CEF dan non-CEF, memetakannya ke kolom UDM, dan menangani berbagai transformasi data, termasuk logika khusus untuk kolom HTTP, TLS, dan yang terkait dengan keamanan. Proses ini juga melakukan pemrosesan bersyarat berdasarkan keberadaan atau format kolom tertentu untuk memastikan representasi UDM yang akurat.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Akses istimewa ke AWS
Mengonfigurasi AWS Elastic Load Balancer
- Mengaktifkan logging akses untuk mengirim Log Akses ke bucket penyimpanan S3
- Buat Amazon Simple Queue Service (SQS) dan lampirkan ke bucket penyimpanan S3.
Mengonfigurasi bucket Amazon S3
- Login ke konsol AWS.
- Buat bucket Amazon S3 dengan mengikuti panduan pengguna ini: Membuat bucket
- Simpan Name (misalnya,
elb-logs
) dan Region bucket untuk digunakan nanti. - Buat pengguna dengan mengikuti panduan pengguna ini: Membuat pengguna IAM.
- Pilih Pengguna yang dibuat.
- Pilih tab Kredensial keamanan.
- Klik Create Access Key di bagian Access Keys.
- Pilih Layanan pihak ketiga sebagai Kasus penggunaan.
- Klik Berikutnya.
- Opsional: tambahkan tag deskripsi.
- Klik Create access key.
- Klik Download CSV file untuk menyimpan Access Key dan Secret Access Key untuk digunakan nanti.
- Klik Selesai.
- Pilih tab Izin.
- Klik Tambahkan izin di bagian Kebijakan izin.
- Pilih Tambahkan izin.
- Pilih Lampirkan kebijakan secara langsung.
- Telusuri dan pilih kebijakan AmazonS3FullAccess.
- Klik Berikutnya.
- Klik Add permissions.
Cara mengonfigurasi AWS Elastic Load Balancer untuk Mengaktifkan Log Akses
- Login ke AWS Management Console.
- Telusuri dan pilih EC2.
- Pilih Load balancer di menu navigasi.
- Pilih load balancer yang ingin Anda aktifkan pencatatannya.
- Di tab Deskripsi, scroll ke Atribut.
- Klik Edit atribut.
- Aktifkan Log akses dengan memilih Aktifkan.
- Pilih bucket S3 yang dibuat sebelumnya (misalnya,
elb-logs
). - Opsional: tetapkan Awalan Log untuk memudahkan identifikasi log (misalnya,
elb/access-logs/
). - Klik Simpan.
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 Elastic Load Balancer
- Klik paket Amazon Cloud Platform.
- Temukan jenis log AWS Elastic Load Balancer.
Tentukan nilai di kolom berikut.
- 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.
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
actions_executed |
security_result.action |
Jika actions_executed adalah "waf,forward" atau "waf,redirect", tetapkan ke "ALLOW". Jika actions_executed adalah "waf", tetapkan ke "BLOCK". |
chosen_cert_arn |
principal.user.attribute.labels |
Jika chosen_cert_arn berisi "session", petakan nilainya ke security_result.description . Jika tidak, buat label dengan kunci "ARN" dan nilai sebagai chosen_cert_arn , lalu tambahkan ke array principal.user.attribute.labels . |
chosen_cert_arn |
security_result.description |
Jika chosen_cert_arn berisi "session", petakan nilainya ke kolom ini. |
client_ip |
principal.asset.ip |
Dipetakan secara langsung. |
client_ip |
principal.ip |
Dipetakan secara langsung. |
client_port |
principal.port |
Dipetakan secara langsung. |
classification |
security_result.rule_name |
Dipetakan secara langsung jika tidak kosong atau "-". |
classification_reason |
security_result.summary |
Dipetakan secara langsung jika tidak kosong atau "-". |
Customer (CEF) |
principal.user.user_display_name |
Dipetakan langsung dari kolom CEF. |
data |
Bervariasi | Diuraikan menggunakan pola grok untuk mengekstrak beberapa kolom. Lihat baris lainnya untuk pemetaan tertentu. |
data.act (CEF) |
security_result.action_details |
Dipetakan langsung dari kolom CEF. |
data.app (CEF) |
principal.application |
Dipetakan langsung dari kolom CEF. |
data.ccode (CEF) |
principal.location.country |
Dipetakan langsung dari kolom CEF. |
data.cicode (CEF) |
principal.location.city |
Dipetakan langsung dari kolom CEF. |
data.cn1 (CEF) |
network.http.response_code |
Dipetakan langsung dari kolom CEF. |
data.cpt (CEF) |
principal.port |
Dipetakan langsung dari kolom CEF. |
data.cs1Label (CEF) |
additional.fields |
Membuat pasangan nilai kunci dengan kunci "Cap Support" dan nilai dari cs1Label . |
data.cs2Label (CEF) |
additional.fields |
Membuat pasangan nilai kunci dengan kunci "Dukungan JavaScript" dan nilai dari cs2Label . |
data.cs3Label (CEF) |
additional.fields |
Membuat pasangan nilai kunci dengan kunci "CO Support" dan nilai dari cs3Label . |
data.cs4Label (CEF) |
additional.fields |
Membuat pasangan nilai kunci dengan kunci "VID" dan nilai dari cs4Label . |
data.cs5Label (CEF) |
additional.fields |
Membuat pasangan nilai kunci dengan kunci "clappsig" dan nilai dari cs5Label . |
data.cs6Label (CEF) |
additional.fields |
Membuat pasangan nilai kunci dengan kunci "clapp" dan nilai dari cs6Label . |
data.cs7Label (CEF) |
additional.fields |
Membuat pasangan nilai kunci dengan kunci "latitude" dan nilai dari cs7Label . |
data.deviceExternalId (CEF) |
about.asset.asset_id |
Digunakan sebagai bagian dari ID aset: Incapsula.SIEMintegration:deviceExternalId . |
data.deviceFacility (CEF) |
principal.location.region |
Dipetakan langsung dari kolom CEF. |
data.dproc (CEF) |
target.process.command_line |
Dipetakan langsung dari kolom CEF. |
data.dst_ip |
target.asset.ip |
Dipetakan secara langsung. |
data.dst_ip |
target.ip |
Dipetakan secara langsung. |
data.dst_port |
target.port |
Dipetakan secara langsung. |
data.elb |
target.resource.id |
Dipetakan secara langsung. |
data.fileId (CEF) |
security_result.detection_fields |
Membuat pasangan nilai kunci dengan kunci "fileId" dan nilai dari fileId . |
data.in (CEF) |
network.received_bytes |
Dipetakan langsung dari kolom CEF. |
data.request (CEF) |
target.url |
Dipetakan langsung dari kolom CEF. |
data.requestClientApplication (CEF) |
network.http.user_agent |
Dipetakan langsung dari kolom CEF. |
data.requestMethod (CEF) |
network.http.method |
Dipetakan langsung dari kolom CEF. |
data.severity (CEF) |
security_result.severity |
Dipetakan ke RENDAH jika tingkat keparahan adalah 0. |
data.sip (CEF) |
principal.asset.ip |
Dipetakan langsung dari kolom CEF. |
data.sip (CEF) |
principal.ip |
Dipetakan langsung dari kolom CEF. |
data.siteid (CEF) |
security_result.detection_fields |
Membuat pasangan nilai kunci dengan kunci "siteid" dan nilai dari siteid . |
data.sourceServiceName (CEF) |
principal.application |
Dipetakan langsung dari kolom CEF. |
data.spt (CEF) |
principal.port |
Dipetakan langsung dari kolom CEF. |
data.src (CEF) |
principal.ip |
Dipetakan langsung dari kolom CEF. |
data.suid (CEF) |
principal.user.userid |
Dipetakan langsung dari kolom CEF. |
data.ver (CEF) |
network.tls.version |
Bagian versi diekstrak menggunakan grok dan dipetakan. |
data.ver (CEF) |
network.tls.cipher |
Bagian sandi diekstrak menggunakan grok dan dipetakan. |
data.xff (CEF) |
principal.ip |
Dipetakan langsung dari kolom CEF. |
domain_name |
principal.administrative_domain |
Dipetakan secara langsung. |
http_method |
network.http.method |
Dipetakan secara langsung. |
log_type |
metadata.log_type |
Dipetakan secara langsung. |
message |
Bervariasi | Diuraikan menggunakan pola grok untuk mengekstrak beberapa kolom. Lihat baris lainnya untuk pemetaan tertentu. |
received_bytes |
network.received_bytes |
Dipetakan secara langsung. |
redirect_url |
network.application_protocol |
Jika redirect_url dimulai dengan "http", protokol akan diekstrak dan dipetakan. |
redirect_url |
target.asset.hostname |
Jika redirect_url dimulai dengan "http", nama host akan diekstrak dan dipetakan. |
redirect_url |
target.hostname |
Jika redirect_url dimulai dengan "http", nama host akan diekstrak dan dipetakan. |
redirect_url |
target.port |
Jika redirect_url dimulai dengan "http", port akan diekstrak dan dipetakan. |
request_creation_time |
metadata.collected_timestamp |
Dipetakan langsung setelah parsing tanggal. |
request_processing_time |
security_result.detection_fields |
Membuat pasangan nilai kunci dengan kunci "request_processing_time" dan nilai dari kolom ini. |
response_processing_time |
security_result.detection_fields |
Membuat pasangan nilai kunci dengan kunci "response_processing_time" dan nilai dari kolom ini. |
sent_bytes |
network.sent_bytes |
Dipetakan secara langsung. |
ssl_cipher |
network.tls.cipher |
Dipetakan secara langsung. |
ssl_protocol |
network.tls.version |
Dipetakan secara langsung. |
target_group_arn |
target.group.group_display_name |
Dipetakan secara langsung. |
target_processing_time |
security_result.detection_fields |
Membuat pasangan nilai kunci dengan kunci "target_processing_time" dan nilai dari kolom ini. |
target_status_code |
target.labels |
Membuat label dengan kunci "target_status_code" dan nilai dari kolom ini, lalu menambahkannya ke array target.labels . |
time |
metadata.event_timestamp |
Dipetakan langsung setelah parsing tanggal. |
trace_id |
metadata.product_log_id |
Dipetakan secara langsung setelah menghapus "Root=". |
url |
network.http.referral_url |
Dipetakan secara langsung. |
user_agent |
network.http.user_agent |
Dipetakan secara langsung. |
(Parser) | metadata.event_type |
Disetel ke "NETWORK_HTTP" jika ID mesin utama dan target ada, "STATUS_UPDATE" jika hanya ID mesin utama yang ada, "GENERIC_EVENT" jika tidak ada IP target, nama host, atau IP tujuan, dan "NETWORK_HTTP" jika tidak. |
(Parser) | metadata.product_name |
Setel ke "AWS Elastic Load Balancer". |
(Parser) | metadata.vendor_name |
Tetapkan ke "AMAZON". |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.