Mengumpulkan log Cloud Next Generation Firewall
Versi Parser: 2.0
Dokumen ini menjelaskan cara mengekspor dan menyerap log Cloud NGFW ke Google Security Operations menggunakan Google Cloud. Parser mengekstrak kolom dari Google Cloud log Firewall, mengubah, dan memetakannya ke UDM. Parser ini menangani berbagai kolom log, termasuk detail koneksi, informasi ancaman, detail aturan, dan informasi jaringan, melakukan konversi jenis data, penggantian nama, dan logika bersyarat berdasarkan kolom action dan direction untuk mengisi model UDM dengan benar.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps.
- Cloud NGFW aktif dan dikonfigurasi di lingkungan Google Cloud Anda.
- Akses istimewa ke Google Cloud dan izin yang sesuai untuk mengakses log Cloud NGFW.
Membuat bucket Cloud Storage
- Login ke Google Cloud konsol.
Buka halaman Cloud Storage Buckets.
Klik Buat.
Di halaman Create a bucket, masukkan informasi bucket Anda. Setelah setiap langkah berikut, klik Continue untuk melanjutkan ke langkah berikutnya:
Di bagian Get started, lakukan hal berikut:
- Masukkan nama unik yang memenuhi persyaratan nama bucket; misalnya, gcp-ngfw-logs.
Untuk mengaktifkan namespace hierarkis, klik panah peluas untuk meluaskan bagian Optimize for file oriented and data-intensive workloads, lalu pilih Enable Hierarchical namespace on this bucket.
Untuk menambahkan label bucket, klik panah peluas untuk meluaskan bagian Labels.
Klik Add label, lalu tentukan kunci dan nilai untuk label Anda.
Di bagian Choose where to store your data, lakukan hal berikut:
- Pilih Location type.
Gunakan menu jenis lokasi untuk memilih Location tempat data objek dalam bucket Anda akan disimpan secara permanen.
Untuk menyiapkan replikasi lintas bucket, luaskan bagian Set up cross-bucket replication.
Di bagian Choose a storage class for your data, pilih default storage class 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, lalu pilih access control model untuk objek bucket Anda.
Di bagian Choose how to protect object data, lakukan hal berikut:
- Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket Anda.
- Untuk memilih cara data objek Anda akan dienkripsi, klik panah peluas berlabel Data encryption, lalu pilih Data encryption method.
Klik Create.
Mengonfigurasi ekspor log Cloud NGFW
- Login ke Google Cloud konsol.
- Buka Logging > Log Router.
- Klik Create Sink.
Berikan parameter konfigurasi berikut:
- Nama Sink: masukkan nama yang bermakna; misalnya,
NGFW-Export-Sink. - Sink Destination: pilih Google Cloud Storage dan masukkan URI untuk bucket Anda; misalnya,
gs://gcp-ngfw-logs/. Log Filter:
logName="projects/<your-project-id>/logs/gcp-firewall"
- Nama Sink: masukkan nama yang bermakna; misalnya,
Klik Create.
Mengonfigurasi izin untuk Cloud Storage
- Buka IAM & Admin > IAM.
- Temukan akun layanan Cloud Logging.
- Berikan roles/storage.admin di bucket.
Menyiapkan feed
Ada dua titik entri yang berbeda untuk menyiapkan feed di platform Google SecOps:
- SIEM Settings > Feeds > Add New Feed
- Content Hub > Content Packs > Get Started
Cara menyiapkan feed Google Cloud NGFW Enterprise
- Klik paket Google Cloud Compute platform.
- Temukan jenis log GCP NGFW Enterprise.
- Klik Next.
Tentukan nilai untuk kolom berikut:
- Source Type: Google Cloud Storage V2
- Storage Bucket URI: Google Cloud URL bucket penyimpanan; misalnya,
gs://gcp-ngfw-logs/. URL ini harus diakhiri dengan garis miring (/). Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.
Usia file maksimum: Sertakan file yang diubah dalam jumlah hari terakhir. Defaultnya adalah 180 hari.
Klik Get a Service Account di samping kolom Chronicle Service Account.
Opsi lanjutan
- Nama Feed: Nilai yang telah diisi sebelumnya yang mengidentifikasi feed.
- Asset Namespace: Namespace yang terkait dengan feed.
- Label Penyerapan: Label yang diterapkan ke semua peristiwa dari feed ini.
Klik Create 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 |
|---|---|---|
insertId |
metadata.product_log_id |
Dipetakan langsung dari kolom insertId. |
jsonPayload.action |
security_result.action_details |
Dipetakan langsung dari kolom jsonPayload.action. |
jsonPayload.connection.clientIp |
principal.asset.ip |
Dipetakan langsung dari kolom jsonPayload.connection.clientIp. |
jsonPayload.connection.clientIp |
principal.ip |
Dipetakan langsung dari kolom jsonPayload.connection.clientIp. |
jsonPayload.connection.clientPort |
principal.port |
Dipetakan langsung dari kolom jsonPayload.connection.clientPort dan dikonversi ke bilangan bulat. |
jsonPayload.connection.protocol |
network.ip_protocol |
Dipetakan dari jsonPayload.connection.protocol. Jika nilainya adalah tcp, kolom UDM akan ditetapkan ke TCP. Logika serupa berlaku untuk udp, icmp, dan igmp. |
jsonPayload.connection.serverIp |
target.asset.ip |
Dipetakan langsung dari kolom jsonPayload.connection.serverIp. |
jsonPayload.connection.serverIp |
target.ip |
Dipetakan langsung dari kolom jsonPayload.connection.serverIp. |
jsonPayload.connection.serverPort |
target.port |
Dipetakan langsung dari kolom jsonPayload.connection.serverPort dan dikonversi ke bilangan bulat. |
jsonPayload.interceptVpc.projectId |
security_result.rule_labels |
Dipetakan dari jsonPayload.interceptVpc.projectId dengan kunci rule_details_projectId. |
jsonPayload.interceptVpc.vpc |
security_result.rule_labels |
Dipetakan dari jsonPayload.interceptVpc.vpc dengan kunci rule_details_vpc_network. |
jsonPayload.securityProfileGroupDetails.securityProfileGroupId |
security_result.rule_labels |
Dipetakan dari jsonPayload.securityProfileGroupDetails.securityProfileGroupId dengan kunci rule_details_security_profile_group. |
jsonPayload.securityProfileGroupDetails.securityProfileGroupId |
security_result.rule_labels |
Dipetakan dari jsonPayload.securityProfileGroupDetails.securityProfileGroupId dengan kunci rule_details_securityProfileGroupDetails_id. |
jsonPayload.threatDetails.category |
security_result.rule_labels |
Dipetakan dari jsonPayload.threatDetails.category dengan kunci rule_details_category. |
jsonPayload.threatDetails.direction |
security_result.rule_labels |
Dipetakan dari jsonPayload.threatDetails.direction dengan kunci rule_details_direction. |
jsonPayload.threatDetails.id |
security_result.threat_id |
Dipetakan langsung dari kolom jsonPayload.threatDetails.id. |
jsonPayload.threatDetails.severity |
security_result.severity |
Dipetakan dari jsonPayload.threatDetails.severity. Jika nilainya adalah CRITICAL, kolom UDM akan ditetapkan ke CRITICAL. Logika serupa berlaku untuk HIGH, MEDIUM, LOW, dan INFO. |
jsonPayload.threatDetails.threat |
security_result.threat_name |
Dipetakan langsung dari kolom jsonPayload.threatDetails.threat. |
jsonPayload.threatDetails.type |
security_result.rule_labels |
Dipetakan dari jsonPayload.threatDetails.type dengan kunci rule_details_threat_type. |
jsonPayload.threatDetails.uriOrFilename |
security_result.rule_labels |
Dipetakan dari jsonPayload.threatDetails.uriOrFilename dengan kunci rule_details_uriOrFilename. |
logName |
metadata.product_event_type |
Dipetakan langsung dari kolom logName. |
metadata.collected_timestamp |
metadata.collected_timestamp |
Dipetakan langsung dari kolom receiveTimestamp dan diuraikan menggunakan format tanggal yang ditentukan. |
metadata.event_type |
metadata.event_type |
Ditetapkan ke NETWORK_CONNECTION jika principal_ip dan target_ip ada. Ditetapkan ke STATUS_UNCATEGORIZED jika hanya principal_ip yang ada. Jika tidak, tetapkan ke GENERIC_EVENT. |
metadata.product_name |
metadata.product_name |
Dikodekan secara permanen ke GCP Firewall. |
metadata.vendor_name |
metadata.vendor_name |
Dikodekan secara permanen ke Google Cloud Platform. |
receiveTimestamp |
metadata.collected_timestamp |
Dipetakan langsung dari kolom receiveTimestamp. |
security_result.action |
security_result.action |
Diturunkan dari kolom jsonPayload.action. Dipetakan ke ALLOW, BLOCK, atau UNKNOWN_ACTION berdasarkan nilai jsonPayload.action. |
timestamp |
metadata.event_timestamp |
Dipetakan langsung dari kolom timestamp. |
timestamp |
timestamp |
Dipetakan langsung dari kolom timestamp. |
Log Perubahan
Lihat Log Perubahan untuk parser ini
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.