Mengumpulkan log AWS Elastic Load Balancing
Dokumen ini menjelaskan cara mengumpulkan log AWS Elastic Load Balancing 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 {: #before-you-begin }
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Akses istimewa ke AWS
Mengonfigurasi AWS Elastic Load Balancing
- 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 Tambahkan izin.
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
- Hub Konten > Paket Konten
Menyiapkan feed dari Setelan SIEM > Feed
Untuk mengonfigurasi beberapa feed untuk berbagai jenis log dalam keluarga produk ini, lihat Mengonfigurasi feed menurut produk.
Untuk mengonfigurasi satu feed, ikuti langkah-langkah berikut:
- Buka Setelan SIEM > Feed.
- Klik Tambahkan Feed Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Feed name, masukkan nama feed (misalnya, AWS Elastic Load Balancer Logs).
- Pilih Amazon S3 sebagai Jenis sumber.
- Pilih AWS Elastic Load Balancer sebagai Log type.
- Klik Berikutnya.
Tentukan nilai untuk parameter input berikut:
- Region: Region tempat bucket Amazon S3 berada.
- URI S3: URI bucket.
s3:/BUCKET_NAME
- Ganti
BUCKET_NAME
dengan nama sebenarnya bucket S3 Anda.
- Ganti
- URI adalah: Pilih JENIS URI sesuai dengan konfigurasi aliran log (File tunggal | Direktori | Direktori yang menyertakan subdirektori).
- Opsi penghapusan sumber: Pilih opsi penghapusan sesuai dengan preferensi penyerapan Anda.
ID Kunci Akses: Kunci akses pengguna dengan izin untuk membaca dari bucket S3.
Kunci Akses Rahasia: Kunci rahasia pengguna dengan izin untuk membaca dari bucket S3.
Namespace aset: Namespace aset.
Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini.
Klik Berikutnya.
Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.
Menyiapkan feed dari Hub Konten
Tentukan nilai untuk kolom berikut:
- Region: Region tempat bucket Amazon S3 berada.
- URI S3: URI bucket.
s3:/BUCKET_NAME
- Ganti
BUCKET_NAME
dengan nama sebenarnya bucket S3 Anda.
- Ganti
- URI adalah: Pilih JENIS URI sesuai dengan konfigurasi aliran log (File tunggal | Direktori | Direktori yang menyertakan subdirektori).
- Opsi penghapusan sumber: Pilih opsi penghapusan sesuai dengan preferensi penyerapan Anda.
ID Kunci Akses: Kunci akses pengguna dengan izin untuk membaca dari bucket S3.
Kunci Akses Rahasia: Kunci rahasia pengguna dengan izin untuk membaca dari bucket S3.
Opsi Lanjutan
- Nama Feed: Nilai yang telah diisi otomatis yang mengidentifikasi feed.
- Jenis Sumber: Metode yang digunakan untuk mengumpulkan log ke Google SecOps.
- Namespace Aset: Namespace yang terkait dengan feed.
- Label Penyerapan: Label yang diterapkan ke semua peristiwa dari feed ini.
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.