Mengumpulkan log Forseti Open Source
Versi Parser: 2.0
Dokumen ini menjelaskan cara menyerap log Forseti Open Source ke Google Security Operations menggunakan Google Cloud Storage V2.
Forseti Security adalah kumpulan alat open source yang didorong oleh komunitas dan dirancang untuk meningkatkan keamanan lingkungan Google Cloud Platform. Forseti mengambil snapshot inventaris resource GCP, memindai kepatuhan kontrol akses, dan memberikan visibilitas ke dalam kebijakan Cloud IAM.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps.
- Project GCP dengan Cloud Storage API diaktifkan.
- Izin untuk membuat dan mengelola bucket GCS dan kebijakan IAM.
- Deployment Forseti Security yang ada.
- Akses ke file konfigurasi server Forseti (
forseti_conf_server.yaml).
Buat bucket Google Cloud Storage
Menggunakan Konsol Google Cloud
- Buka Konsol Google Cloud.
- Pilih project Anda atau buat project baru.
- Di menu navigasi, buka Cloud Storage > Buckets.
- Klik Create bucket.
Berikan detail konfigurasi berikut:
Setelan Nilai Beri nama bucket Anda Masukkan nama yang unik secara global (misalnya, forseti-violations-export)Location type Pilih berdasarkan kebutuhan Anda (Region, Dual-region, Multi-region) Location Pilih lokasi (misalnya, us-central1)Kelas penyimpanan Standar (direkomendasikan untuk log yang sering diakses) Kontrol akses Seragam (direkomendasikan) Alat perlindungan Opsional: Aktifkan pembuatan versi objek atau kebijakan retensi Klik Create.
Menggunakan alat command line gcloud
Atau, buat bucket menggunakan perintah
gcloud:gcloud storage buckets create gs://forseti-violations-export \ --location=us-central1 \ --default-storage-class=STANDARDGanti
forseti-violations-exportdengan nama bucket unik yang diperlukan secara global.Ganti
us-central1dengan wilayah pilihan Anda.
Mengonfigurasi Forseti Security untuk mengekspor pelanggaran ke GCS
Forseti Security menggunakan konfigurasi notifikasi dalam file forseti_conf_server.yaml untuk mengekspor pelanggaran pemindai ke GCS.
- Hubungkan ke VM server Forseti menggunakan SSH:
bash gcloud compute ssh forseti-server-vm --project=YOUR_PROJECT_ID --zone=YOUR_ZONE - Buka file konfigurasi untuk mengedit:
bash sudo nano /home/ubuntu/forseti-security/configs/forseti_conf_server.yamlJika menggunakan konfigurasi berbasis GCS, download terlebih dahulu:bash gsutil cp gs://YOUR_FORSETI_SERVER_BUCKET/configs/forseti_conf_server.yaml ~/forseti_conf_server.yaml - Buka bagian
notifierdan temukan subbagianresources. Untuk setiap jenis resource pelanggaran yang ingin Anda ekspor, konfigurasi notifikasi
gcs_violations:notifier: resources: - resource: iam_policy_violations should_notify: true notifiers: - name: gcs_violations configuration: data_format: csv gcs_path: gs://forseti-violations-export/violations/ - resource: firewall_rule_violations should_notify: true notifiers: - name: gcs_violations configuration: data_format: csv gcs_path: gs://forseti-violations-export/violations/ - resource: cloudsql_acl_violations should_notify: true notifiers: - name: gcs_violations configuration: data_format: csv gcs_path: gs://forseti-violations-export/violations/ - resource: bucket_acl_violations should_notify: true notifiers: - name: gcs_violations configuration: data_format: csv gcs_path: gs://forseti-violations-export/violations/ - resource: config_validator_violations should_notify: true notifiers: - name: gcs_violations configuration: data_format: csv gcs_path: gs://forseti-violations-export/violations/Parameter Utama:
resource: Jenis pelanggaran (misalnya,iam_policy_violations).data_format: Tetapkan kecsvataujson.gcs_path: Jalur Cloud Storage (harus menyertakan garis miring di akhir).
Simpan file dan, jika perlu, upload kembali ke GCS.
Muat ulang konfigurasi:
bash forseti server configuration reloadVerifikasi:
bash forseti server configuration get | grep gcs_violations
Mengambil akun layanan Google SecOps
Mengonfigurasi feed di Google SecOps
- Buka SIEM Settings > Feeds.
- Klik Tambahkan Feed Baru, lalu pilih Konfigurasi satu feed.
- Nama feed: Masukkan nama (misalnya,
Forseti Violations). - Jenis sumber: Pilih Google Cloud Storage V2.
- Jenis log: Pilih Forseti Open Source.
- Klik Get Service Account.
- Salin email akun layanan unik (misalnya,
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com). - Klik Berikutnya.
- Tentukan parameter input:
- URL bucket penyimpanan:
gs://forseti-violations-export/violations/ - Opsi penghapusan sumber: Pilih sesuai preferensi Anda (misalnya, Jangan pernah untuk pengujian).
- URL bucket penyimpanan:
- Klik Berikutnya, tinjau konfigurasi, lalu klik Kirim.
Memberikan izin IAM ke akun layanan Google SecOps
Menggunakan Konsol Google Cloud
- Buka Cloud Storage > Buckets.
- Klik nama bucket Anda, lalu buka tab Permissions.
- Klik Grant access.
- Add principals: Tempel email akun layanan Google SecOps.
- Tetapkan peran: Pilih Storage Object Viewer. (Gunakan Storage Object Admin jika Anda memilih opsi penghapusan di feed).
- Klik Simpan.
Menggunakan alat command line gcloud
gcloud storage buckets add-iam-policy-binding gs://forseti-violations-export \ --member="serviceAccount:CHRONICLE_SERVICE_ACCOUNT_EMAIL" \ --role="roles/storage.objectViewer"
Tabel pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
data.resource_data.instanceGroupUrls |
about |
Digabungkan dari array instanceGroupUrls. |
data.resource_data.nodePools.*.statusMessage |
metadata.description |
Nilai dari nodePool.statusMessage. |
data.resource_type |
metadata.event_type |
Jenis tertentu untuk KMS/FW; jika tidak, GENERIC_EVENT. |
data.scanner_index_id |
metadata.product_log_id |
Nilai disalin langsung sebagai string. |
| T/A | metadata.product_name |
Setel ke FORSETI SECURITY. |
| T/A | metadata.vendor_name |
Setel ke FORSETI. |
data.resource_data.direction |
network.direction |
Tetapkan ke INBOUND jika arahnya adalah INGRESS. |
data.resource_data.endpoint |
principal.ip |
Nilai disalin secara langsung. |
data.full_name, serviceAccount |
principal.user.userid |
Diekstrak dari full_name atau serviceAccount. |
data.violation_type |
security_result.category |
Dipetakan ke POLICY_VIOLATION atau ACL_VIOLATION. |
data.rule_name |
security_result.rule_name |
Nilai disalin secara langsung. |
data.full_name |
target.asset.attribute.cloud.project.id |
Diekstrak dari full_name menggunakan grok. |
data.resource_type |
target.resource.resource_type |
Dipetakan ke jenis tertentu berdasarkan resource_type. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.