Mengumpulkan Log Aliran Traffic VPC Cloud
Dokumen ini menjelaskan cara mengekspor Log Aliran VPC Cloud ke Google Security Operations menggunakan Google Cloud. Parser mengubah log dari format JSON bawaannya menjadi UDM Google Security Operations. Alat ini mengekstrak kolom yang relevan seperti IP sumber dan tujuan, port, protokol, dan byte yang dikirim, lalu memetakan kolom tersebut ke kolom UDM yang sesuai, dengan mempertimbangkan arah jaringan dan kasus khusus untuk representasi yang akurat di Google SecOps.
Sebelum Memulai
- Pastikan Anda memiliki instance Google Chronicle.
- Pastikan Flow VPC disiapkan dan aktif di lingkungan Google Cloud Anda.
- Pastikan Anda memiliki akses dengan hak istimewa ke Google Cloud.
Membuat Bucket Google Cloud Storage
- Login ke konsol Google Cloud.
Buka halaman Cloud Storage Buckets.
Klik Buat.
Di halaman Buat bucket, masukkan informasi bucket Anda. Setelah menyelesaikan setiap langkah berikut, klik Lanjutkan untuk melanjutkan ke langkah berikutnya:
Di bagian Mulai, lakukan tindakan berikut:
- Masukkan nama unik yang memenuhi persyaratan nama bucket; misalnya, vpcflow-logs.
Untuk mengaktifkan namespace hierarkis, klik panah peluas untuk meluaskan bagian Optimalkan untuk beban kerja yang berorientasi pada file dan intensif data, lalu pilih Aktifkan Namespace hierarkis di bucket ini.
Untuk menambahkan label bucket, klik panah peluas untuk meluaskan bagian Labels.
Klik Tambahkan label, lalu tentukan kunci dan nilai untuk label Anda.
Di bagian Pilih tempat untuk menyimpan data, lakukan hal berikut:
- Pilih Jenis lokasi.
Gunakan menu jenis lokasi untuk memilih Location tempat data objek dalam bucket Anda akan disimpan secara permanen.
Untuk menyiapkan replikasi lintas bucket, luaskan bagian Menyiapkan replikasi lintas bucket.
Di bagian Pilih kelas penyimpanan untuk data Anda, pilih kelas penyimpanan default untuk bucket, atau pilih Autoclass untuk pengelolaan kelas penyimpanan otomatis untuk data bucket Anda.
Di bagian Choose how to control access to objects, pilih not untuk menerapkan public access prevention, dan pilih access control model untuk objek bucket Anda.
Di bagian Pilih cara melindungi data objek, lakukan hal berikut:
- Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket.
- Untuk memilih cara enkripsi data objek, klik panah peluas berlabel Enkripsi data, lalu pilih Metode enkripsi data.
Klik Buat.
Mengonfigurasi Ekspor Log di Google Cloud Aliran VPC
- Login ke akun Google Cloud menggunakan akun dengan hak istimewa Anda.
- Di halaman Welcome, klik VPC Networks.
- Klik Default dan halaman subnet akan muncul.
- Pilih semua log.
- Klik Log Aliran > Konfigurasi.
- Pilih Aggregation Interval; misalnya, 30 SEC.
- Berikan Sample Rate; misalnya, 50%.
- Klik Simpan
- Telusuri Logging di kotak penelusuran, lalu klik Enter.
- Di Log Explorer, filter log dengan memilih VPC_flows di Log Name, lalu klik Apply.
- Klik Tindakan Lainnya.
- Klik Create Sink.
- Berikan konfigurasi berikut:
- Sink Details: masukkan nama dan deskripsi.
- Klik Berikutnya.
- Sink Destination: pilih Cloud Storage Bucket.
- Cloud Storage Bucket: pilih bucket yang dibuat sebelumnya atau buat bucket baru.
- Klik Berikutnya.
- Choose Logs to include in Sink: log default diisi saat Anda memilih opsi di Bucket Cloud Storage.
- Klik Berikutnya.
- Opsional: Choose Logs to filter out of Sink: pilih log yang tidak ingin Anda sink.
- Klik Create Sink.
Mengonfigurasi feed di Google SecOps untuk menyerap Google Cloud Log Aliran VPC
- Buka Setelan SIEM > Feed.
- Klik Tambahkan baru.
- Di kolom Nama feed, masukkan nama untuk feed; misalnya, Google Cloud VPC Flow Logs.
- Pilih Google Cloud Storage sebagai Source type.
- Pilih Alur VPC GCP sebagai Jenis log.
- Klik Get Service Account sebagai Chronicle Service Account.
- Klik Berikutnya.
Tentukan nilai untuk parameter input berikut:
- Storage Bucket URI: Google Cloud URL bucket penyimpanan dalam format
gs://my-bucket/<value>
. - URI Adalah: Pilih Direktori yang menyertakan subdirektori.
Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.
Namespace aset: namespace aset.
Label penyerapan: label yang diterapkan ke peristiwa dari feed ini.
- Storage Bucket URI: Google Cloud URL bucket penyimpanan dalam format
Klik Berikutnya.
Tinjau konfigurasi feed baru Anda di layar Finalize, lalu klik Submit.
Tabel Pemetaan UDM
Kolom log | Pemetaan UDM | Logika |
---|---|---|
connection.dest_ip | target.asset.ip target.ip |
Pemetaan langsung saat network.direction adalah OUTBOUND. Dipetakan dari principal.ip saat network.direction adalah INBOUND. |
connection.dest_port | target.port | Dikonversi menjadi bilangan bulat jika lebih besar dari -1. |
connection.protocol | network.ip_protocol | Dikonversi menjadi string, lalu dipetakan ke bilangan bulat. Berdasarkan nilai bilangan bulat, dipetakan ke nama protokol IP (misalnya, TCP, UDP, ICMP). |
connection.src_ip | principal.ip | Pemetaan langsung. |
connection.src_port | principal.port | Dikonversi ke bilangan bulat. |
dest_instance.region | target.location.name | Pemetaan langsung. |
dest_instance.vm_name | target.asset.hostname | Pemetaan langsung. |
dest_location.city | target.location.city | Pemetaan langsung. |
dest_location.country | target.location.country_or_region | Pemetaan langsung. |
dest_location.region | target.location.state | Pemetaan langsung. |
dest_vpc.project_id | target.namespace | Digunakan dengan dest_vpc.vpc_name untuk membentuk target.namespace. |
dest_vpc.vpc_name | target.namespace | Digunakan dengan dest_vpc.project_id untuk membentuk target.namespace. |
insertId | metadata.product_log_id | Pemetaan langsung. |
jsonPayload.bytes_sent | network.sent_bytes | Diganti namanya menjadi network.sent_bytes dan dikonversi menjadi uinteger. |
jsonPayload.packets_sent | network.sent_packets | Dikonversi ke bilangan bulat. |
labels.tunnel_id | additional.fields | Digabung ke additional.fields dengan kunci Tunnel Id dan jenis string_value . |
logName | security_result.category_details | Pemetaan langsung. |
resource.labels.project_id | target.resource.name | Digunakan untuk membuat target.resource.name dengan format //cloudresourcemanager.googleapis.com/projects/{resource.labels.project_id} . |
resource.labels.region | target.location.country_or_region | Pemetaan langsung. |
resource.labels.subnetwork_id | target.user.attribute.labels | Digabung ke target.user.attribute.labels dengan kunci subnetwork_id . |
resource.type | metadata.product_event_type | Pemetaan langsung. |
tingkat keseriusan, | security_result.severity | Dipetakan ke LOW jika nilainya adalah DEBUG . |
src_gke_details.cluster.cluster_location | principal.resource.attribute.labels | Digabung ke principal.resource.attribute.labels dengan kunci cluster_location . |
src_gke_details.cluster.cluster_name | principal.resource.attribute.labels | Digabung ke principal.resource.attribute.labels dengan kunci cluster_name . |
src_gke_details.pod.pod_name | principal.resource.attribute.labels | Digabung ke principal.resource.attribute.labels dengan kunci pod_name . |
src_gke_details.pod.pod_namespace | principal.resource.attribute.labels | Digabung ke principal.resource.attribute.labels dengan kunci pod_namespace . |
src_instance.region | principal.location.name | Pemetaan langsung. |
src_instance.vm_name | principal.asset.hostname | Pemetaan langsung. |
src_location.city | principal.location.city | Pemetaan langsung. |
src_location.country | principal.location.country_or_region | Pemetaan langsung. |
src_location.region | principal.location.state | Pemetaan langsung. |
src_vpc.project_id | principal.namespace | Digunakan dengan src_vpc.vpc_name untuk membentuk principal.namespace. |
src_vpc.vpc_name | principal.namespace | Digunakan dengan src_vpc.project_id untuk membentuk principal.namespace. |
textPayload | additional.fields | Digabung ke additional.fields dengan kunci Textpayload dan jenis string_value . |
timestamp | metadata.event_timestamp | Digunakan untuk mengisi event_timestamp jika jsonPayload.end_time kosong. |
metadata.description | Deskripsi alur jaringan, termasuk pelapor (SRC atau DEST) dan arah (INBOUND atau OUTBOUND), dibuat berdasarkan kolom 'reporter'. | |
metadata.event_type | Tetapkan ke NETWORK_CONNECTION untuk log alur VPC dan USER_RESOURCE_ACCESS untuk jenis log lainnya. |
|
metadata.log_type | Tetapkan ke GCP_VPC_FLOW . |
|
metadata.product_name | Tetapkan ke GCP VPC Flow Logs . |
|
metadata.product_version | Tetapkan ke 1.0 . |
|
metadata.vendor_name | Tetapkan ke Google Cloud . |
|
network.direction | Ditentukan berdasarkan target.port. Jika port adalah port yang umum atau dicadangkan, port tersebut dianggap INBOUND; jika tidak, port tersebut dianggap OUTBOUND. | |
security_result.severity | Setel ke LOW secara default. |
|
target.resource.attribute.cloud.environment | Tetapkan ke GOOGLE_CLOUD_PLATFORM . |
|
target.resource.resource_type | Tetapkan ke CLOUD_PROJECT . |
Perubahan
2024-10-24
Peningkatan:
- Pemetaan
principal.ip
,principal.port
yang dipertukarkan dengantarget.ip
dantarget.port
.
2024-03-15
Peningkatan:
- Memetakan
jsonPayload.src_gke_details.pod.pod_namespace
,jsonPayload.src_gke_details.pod.pod_name
,jsonPayload.src_gke_details.cluster.cluster_name
,jsonPayload.src_gke_details.cluster.cluster_location
keprincipal.resource.attribute.labels
. - Memetakan
jsonPayload.dest_gke_details.pod.pod_namespace
,jsonPayload.dest_gke_details.pod.pod_name
,jsonPayload.dest_gke_details.cluster.cluster_name
,jsonPayload.dest_gke_details.cluster.cluster_location
ketarget.resource.attribute.labels
.
2023-05-23
Peningkatan:
- Memetakan 'metadata.event_type' ke 'USER_RESOURCE_ACCESS' saat kolom 'logName' tidak berisi 'vpc_flows'.
- Memetakan 'stempel waktu' ke 'events.timestamp'.
- Memetakan 'textPayload', 'labels.tunnel_id' ke 'additional.fields'.
- Memetakan 'resource.labels.region' ke 'target.location.country_or_region'.
- Menambahkan pemeriksaan null untuk berbagai kolom jika diperlukan.
2023-04-10
Peningkatan:
- Tetapkan
target.resource.attribute.cloud.environment
keGOOGLE_CLOUD_PLATFORM
. - Tetapkan
target.resource.name
ke nilai nama resource lengkap.
2022-07-22
Peningkatan:
- Memetakan
resource.labels.location
keprincipal.location.name
. - Memetakan
resource.labels.subnetwork_id
ketarget.user.attribute.labels
. - Memetakan
logName
kesecurity_result.category_details
.
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.