Mengumpulkan Log Aliran Traffic VPC Cloud

Didukung di:

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

  1. Login ke konsol Google Cloud.
  2. Buka halaman Cloud Storage Buckets.

    Buka Buckets

  3. Klik Buat.

  4. Di halaman Buat bucket, masukkan informasi bucket Anda. Setelah menyelesaikan setiap langkah berikut, klik Lanjutkan untuk melanjutkan ke langkah berikutnya:

    1. Di bagian Mulai, lakukan tindakan berikut:

      1. Masukkan nama unik yang memenuhi persyaratan nama bucket; misalnya, vpcflow-logs.
      2. 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.

      3. Untuk menambahkan label bucket, klik panah peluas untuk meluaskan bagian Labels.

      4. Klik Tambahkan label, lalu tentukan kunci dan nilai untuk label Anda.

    2. Di bagian Pilih tempat untuk menyimpan data, lakukan hal berikut:

      1. Pilih Jenis lokasi.
      2. Gunakan menu jenis lokasi untuk memilih Location tempat data objek dalam bucket Anda akan disimpan secara permanen.

      3. Untuk menyiapkan replikasi lintas bucket, luaskan bagian Menyiapkan replikasi lintas bucket.

    3. 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.

    4. 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.

    5. Di bagian Pilih cara melindungi data objek, lakukan hal berikut:

      1. Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket.
      2. Untuk memilih cara enkripsi data objek, klik panah peluas berlabel Enkripsi data, lalu pilih Metode enkripsi data.
  5. Klik Buat.

Mengonfigurasi Ekspor Log di Google Cloud Aliran VPC

  1. Login ke akun Google Cloud menggunakan akun dengan hak istimewa Anda.
  2. Di halaman Welcome, klik VPC Networks.
  3. Klik Default dan halaman subnet akan muncul.
  4. Pilih semua log.
  5. Klik Log Aliran > Konfigurasi.
  6. Pilih Aggregation Interval; misalnya, 30 SEC.
  7. Berikan Sample Rate; misalnya, 50%.
  8. Klik Simpan
  9. Telusuri Logging di kotak penelusuran, lalu klik Enter.
  10. Di Log Explorer, filter log dengan memilih VPC_flows di Log Name, lalu klik Apply.
  11. Klik Tindakan Lainnya.
  12. Klik Create Sink.
  13. Berikan konfigurasi berikut:
    1. Sink Details: masukkan nama dan deskripsi.
    2. Klik Berikutnya.
    3. Sink Destination: pilih Cloud Storage Bucket.
    4. Cloud Storage Bucket: pilih bucket yang dibuat sebelumnya atau buat bucket baru.
    5. Klik Berikutnya.
    6. Choose Logs to include in Sink: log default diisi saat Anda memilih opsi di Bucket Cloud Storage.
    7. Klik Berikutnya.
    8. Opsional: Choose Logs to filter out of Sink: pilih log yang tidak ingin Anda sink.
  14. Klik Create Sink.

Mengonfigurasi feed di Google SecOps untuk menyerap Google Cloud Log Aliran VPC

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan baru.
  3. Di kolom Nama feed, masukkan nama untuk feed; misalnya, Google Cloud VPC Flow Logs.
  4. Pilih Google Cloud Storage sebagai Source type.
  5. Pilih Alur VPC GCP sebagai Jenis log.
  6. Klik Get Service Account sebagai Chronicle Service Account.
  7. Klik Berikutnya.
  8. 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.

  9. Klik Berikutnya.

  10. 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 dengan target.ip dan target.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 ke principal.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 ke target.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 ke GOOGLE_CLOUD_PLATFORM.
  • Tetapkan target.resource.name ke nilai nama resource lengkap.

2022-07-22

Peningkatan:

  • Memetakan resource.labels.location ke principal.location.name.
  • Memetakan resource.labels.subnetwork_id ke target.user.attribute.labels.
  • Memetakan logName ke security_result.category_details.

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.