Mengumpulkan log Cloud Next Generation Firewall
Dokumen ini menjelaskan cara mengekspor dan menyerap log Cloud NGFW ke Google Security Operations menggunakan Google Cloud. Parser mengekstrak kolom dari log Firewall Google Cloud , mentransformasi, dan memetakannya ke UDM. Proses ini menangani berbagai kolom log, termasuk detail koneksi, informasi ancaman, detail aturan, dan informasi jaringan, melakukan konversi jenis data, mengganti 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 konsolGoogle Cloud .
Buka halaman Cloud Storage Buckets.
Klik Buat.
Di halaman Buat bucket, masukkan informasi bucket Anda. Setelah 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, gcp-ngfw-logs.
Untuk mengaktifkan namespace hierarkis, klik panah peluas untuk meluaskan bagian Optimalkan untuk beban kerja berorientasi file dan intensif data, lalu pilih Aktifkan namespace Hierarkis di bucket ini.
Untuk menambahkan label bucket, klik panah peluas untuk meluaskan bagian Label.
Klik Tambahkan label, lalu tentukan kunci dan nilai untuk label Anda.
Di bagian Pilih lokasi untuk menyimpan data Anda, lakukan hal berikut:
- Pilih Jenis lokasi.
Gunakan menu jenis lokasi untuk memilih Lokasi tempat data objek dalam bucket Anda akan disimpan secara permanen.
Untuk menyiapkan replikasi lintas bucket, luaskan bagian Siapkan 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 Pilih cara mengontrol akses ke objek, pilih tidak untuk menerapkan pencegahan akses publik, dan pilih model kontrol akses untuk objek bucket Anda.
Di bagian Pilih cara melindungi data objek, lakukan tindakan berikut:
- Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket Anda.
- Untuk memilih cara mengenkripsi data objek Anda, klik panah peluas berlabel Enkripsi data, lalu pilih Metode enkripsi data.
Klik Buat.
Mengonfigurasi ekspor log Cloud NGFW
- Login ke konsolGoogle Cloud .
- Buka Logging > Log Router.
- Klik Create Sink.
Berikan parameter konfigurasi berikut:
- Sink Name: masukkan nama yang bermakna; misalnya,
NGFW-Export-Sink
. - Tujuan Sink: pilih Google Cloud Storage dan masukkan URI untuk bucket Anda; misalnya,
gs://gcp-ngfw-logs
. Filter Log:
logName="projects/<your-project-id>/logs/gcp-firewall"
- Sink Name: masukkan nama yang bermakna; misalnya,
Klik Buat.
Mengonfigurasi izin untuk Cloud Storage
- Buka IAM & Admin > IAM.
- Temukan akun layanan Cloud Logging.
- Berikan roles/storage.admin pada bucket.
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 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, GCP NGFW Enterprise Logs.
- Pilih Google Cloud Storage sebagai Jenis sumber.
- Pilih GCP NGFW Enterprise sebagai Jenis log.
- Klik Dapatkan Akun Layanan di samping kolom Akun Layanan Chronicle.
- Klik Berikutnya.
Tentukan nilai untuk parameter input berikut:
- URI Bucket Penyimpanan: Google Cloud URL bucket penyimpanan; misalnya,
gs://gcp-ngfw-logs
. - URI Adalah: Pilih Direktori yang menyertakan subdirektori.
Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.
- URI Bucket Penyimpanan: Google Cloud URL bucket penyimpanan; misalnya,
Klik Berikutnya.
Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.
Menyiapkan feed dari Hub Konten
Tentukan nilai untuk kolom berikut:
- URI Bucket Penyimpanan: Google Cloud URL bucket penyimpanan; misalnya,
gs://gcp-ngfw-logs
. - URI Adalah: Pilih Direktori yang menyertakan subdirektori.
- Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.
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 |
---|---|---|
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 menjadi 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 menjadi 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. Disetel ke STATUS_UNCATEGORIZED jika hanya principal_ip yang ada. Jika tidak, setel ke GENERIC_EVENT . |
metadata.product_name |
metadata.product_name |
Hardcode ke GCP Firewall . |
metadata.vendor_name |
metadata.vendor_name |
Hardcode ke Google Cloud Platform . |
receiveTimestamp |
metadata.collected_timestamp |
Dipetakan langsung dari kolom receiveTimestamp . |
security_result.action |
security_result.action |
Diperoleh 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 . |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.