Mengumpulkan log Rubrik Security Cloud
Dokumen ini menjelaskan cara menyerap log Rubrik Security Cloud ke Google Security Operations menggunakan webhook. Rubrik Security Cloud (RSC) adalah platform keamanan data berbasis SaaS yang menyediakan kemampuan pencadangan, pemulihan, deteksi anomali, dan tata kelola data di seluruh lingkungan cloud dan lokal. RSC menghasilkan peristiwa keamanan, log audit, dan log aktivitas operasional dalam JSON PagerDuty Common Event Format (PD-CEF) yang dapat dikirim ke Google SecOps untuk pemantauan dan analisis terpusat.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Akses istimewa ke konsol Rubrik Security Cloud dengan izin untuk mengelola webhook
- Konektivitas jaringan dari Rubrik Security Cloud ke endpoint webhook Google SecOps
- Akses ke konsol Google Cloud untuk pembuatan kunci API
Membuat feed webhook di Google SecOps
Buat feed
- Buka Setelan SIEM > Feed.
- Klik Tambahkan Feed Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Nama feed, masukkan nama untuk feed (misalnya,
Rubrik Security Cloud Events). - Pilih Webhook sebagai Jenis sumber.
- Pilih Rubrik Security Cloud sebagai Jenis log.
- Klik Berikutnya.
- Tentukan nilai untuk parameter input berikut:
- Pemisah pemisahan (opsional): Biarkan kosong karena setiap permintaan webhook berisi satu peristiwa.
- Namespace aset: Namespace aset.
- Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini.
- Klik Berikutnya.
- Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.
Buat dan simpan kunci rahasia
Setelah membuat feed, Anda harus membuat kunci rahasia untuk autentikasi:
- Di halaman detail feed, klik Buat Kunci Rahasia.
- Dialog akan menampilkan kunci rahasia.
- Salin dan simpan kunci rahasia dengan aman.
Mendapatkan URL endpoint feed
- Buka tab Detail untuk feed tersebut.
- Di bagian Endpoint Information, salin Feed endpoint URL.
- Simpan URL ini untuk langkah berikutnya.
- Klik Done.
Membuat Google Cloud kunci API
Google SecOps memerlukan kunci API untuk autentikasi. Buat kunci API terbatas di konsol Google Cloud .
Buat kunci API
- Buka halaman Credentials konsolGoogle Cloud .
- Pilih project Anda (project yang terkait dengan instance Google SecOps Anda).
- Klik Create credentials > API key.
- Kunci API dibuat dan ditampilkan dalam dialog.
- Klik Edit API key untuk membatasi kunci.
Membatasi kunci API
- Di halaman setelan API key:
- Name: Masukkan nama deskriptif (misalnya,
Google SecOps Webhook API Key).
- Name: Masukkan nama deskriptif (misalnya,
- Di bagian API restrictions:
- Pilih Restrict key.
- Di drop-down Select APIs, telusuri dan pilih Google SecOps API (atau Chronicle API).
- Klik Simpan.
- Salin nilai kunci API dari kolom API key di bagian atas halaman.
Simpan kunci API dengan aman.
Mengonfigurasi webhook Rubrik Security Cloud
Buat URL webhook
Gabungkan URL endpoint Google SecOps, kunci API, dan kunci rahasia feed. Kedua kredensial diteruskan sebagai parameter kueri:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET>Contoh:
https://<REGION>-chronicle.googleapis.com/v1alpha/projects/<PROJECT_NUMBER>/locations/<REGION>/instances/<INSTANCE_ID>/feeds/<FEED_ID>:importPushLogs?key=AIzaSyD...&secret=a1b2c3d4...
Membuat webhook di Rubrik Security Cloud
- Login ke Rubrik Security Cloud di
https://<account>.my.rubrik.com. - Klik ikon roda gigi di sudut kanan atas, lalu pilih Setelan.
- Klik Notifikasi, lalu pilih Webhook.
- Klik Tambahkan Webhook.
- Wizard Tambahkan Webhook akan muncul.
Di Provider, pilih Generic.
Di Webhook name, masukkan nama deskriptif (misalnya,
Google SecOps Integration).Di Endpoint, tempel URL webhook lengkap dari atas, termasuk parameter kueri
keydansecret. Autentikasi dilakukan oleh URL, sehingga tombol Autentikasi dapat tetap dinonaktifkan.Klik Berikutnya.
Klik Uji Webhook untuk memverifikasi bahwa konfigurasi webhook yang ditentukan berfungsi dan klik Berikutnya.
Jendela Pilih peristiwa dan tingkat keparahan akan muncul.
Pilih peristiwa yang dikirim RSC ke endpoint webhook yang dikonfigurasi:
Di bagian Peristiwa, pilih jenis peristiwa yang akan diteruskan:
- Cadangan
- Pemulihan
- Anomali
- Perburuan Ancaman
- Pemantauan Ancaman
- Konfigurasi
- Diagnostik
- Sinkronkan
- Pemeliharaan
- Sistem
Di bagian Audit, pilih jenis audit yang akan diteruskan. Jenis audit autentikasi mengisi pemetaan login parser.
Di bagian Tingkat Keseriusan, pilih tingkat keseriusan untuk memicu pemberitahuan:
- Kritis
- Peringatan
- Informasional
Klik Berikutnya.
Tinjau detail konfigurasi di jendela Konfirmasi, lalu klik Simpan.
Memverifikasi bahwa webhook berfungsi
Memeriksa status webhook Rubrik Security Cloud
- Login ke Rubrik Security Cloud.
- Buka Setelan > Notifikasi > Webhook.
- Periksa kolom Status untuk webhook Anda (seharusnya menampilkan Diaktifkan).
- Pantau apakah ada pesan error dalam detail webhook.
Memeriksa status feed Google SecOps
- Buka SIEM Settings > Feeds di Google SecOps.
- Periksa kolom Status untuk feed webhook Anda (seharusnya Aktif).
Periksa jumlah Peristiwa yang diterima (harus bertambah).
Memverifikasi log di Google SecOps
- Buka Penelusuran > Penelusuran UDM.
Gunakan kueri berikut:
metadata.vendor_name = "RUBRIK" nocase AND metadata.product_name = "RUBRIK SECURITY CLOUD" nocaseSesuaikan rentang waktu ke 1 jam terakhir.
Pastikan peristiwa muncul di hasil.
Referensi payload webhook
Rubrik Security Cloud mengirimkan peristiwa dalam PagerDuty Common Event Format (PD-CEF) secara default. Berikut adalah contoh payload peristiwa:
{ "summary": "Failed backup of vSphere VM 'example-vm'.", "source": "Rubrik Security Cloud", "severity": "critical", "timestamp": "2024-07-18T06:39:40.46Z", "class": "Backup", "custom_details": { "seriesId": "ccd7a8a5-4c58-4c88-bff9-7bdffddb6099", "id": "c2b47274-6323-4025-b307-afed1cfb7574", "type": "Event", "objectId": "83c4a80a-4a57-5699-b399-651089135586", "objectName": "example-vm", "objectType": "VmwareVm", "status": "Failure", "clusterId": "6a271636-9392-4cba-90c5-bdbe227854ab", "clusterName": "production-cluster", "eventName": "Snapshot.BackupFailed", "errorId": "Snapshot.VmwareSnapshotError", "errorCode": "", "errorRemedy": "", "errorReason": "", "auditUserName": "", "auditUserId": "", "location": "vcenter.example.com", "url": "", "customerID": "rubrik-customer", "logicalSizeInBytes": "", "dataTransferredInBytes": "", "effectiveThroughput": "" } }
Batasan dan praktik terbaik webhook
Batas permintaan
| Batas | Nilai |
|---|---|
| Baris log tunggal maksimum | 1 MB |
| QPS Maks (kueri per detik) | 15.000 |
| Waktu tunggu permintaan | 90 detik |
| Perilaku percobaan ulang | Dikelola pengirim. Google SecOps menampilkan HTTP 429 saat batas burst terlampaui; sistem pengirim harus melakukan buffering dan mencoba lagi. |
Tabel pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
audit_info_label |
additional.fields |
Digabung |
effectiveThroughput_label |
additional.fields |
Digabung |
group_label |
additional.fields |
Digabung |
isPolarisAudit_label |
additional.fields |
Digabung |
label_name_label |
additional.fields |
Digabung |
node_label |
additional.fields |
Digabung |
orgID_label |
additional.fields |
Digabung |
snappable_name_label |
additional.fields |
Digabung |
snappable_type_label |
additional.fields |
Digabung |
snapshot_date_label |
additional.fields |
Digabung |
type_label |
additional.fields |
Digabung |
userNote_label |
additional.fields |
Digabung |
has_target |
extensions.auth.type |
Dipetakan: true → AUTHTYPE_UNSPECIFIED |
hunt_date |
metadata.event_timestamp |
Diuraikan sebagai ISO8601 |
timestamp |
metadata.event_timestamp |
Diuraikan sebagai ISO8601 |
has_principal |
metadata.event_type |
Dipetakan: true → SCAN_HOST, true → STATUS_UPDATE |
has_target |
metadata.event_type |
Dipetakan: true → USER_LOGIN |
custom_details.eventName |
metadata.product_event_type |
Dipetakan secara langsung |
custom_details.id |
metadata.product_log_id |
Dipetakan secara langsung |
source |
metadata.product_name |
Dipetakan secara langsung |
custom_details.url |
metadata.url_back_to_product |
Dipetakan secara langsung |
custom_details.dataTransferredInBytes |
network.sent_bytes |
Dipetakan secara langsung |
custom_details.customerID |
principal.administrative_domain |
Dipetakan secara langsung |
domain |
principal.domain.name |
Dipetakan secara langsung |
custom_details.ipAddress |
principal.ip |
Digabung |
ip_address |
principal.ip |
Digabung |
is_ip_assigned |
principal.ip |
Dipetakan: false → ip_address |
custom_details.clusterName |
principal.resource.name |
Dipetakan secara langsung |
custom_details.clusterId |
principal.resource.product_object_id |
Dipetakan secara langsung |
user_email |
principal.user.email_addresses |
Digabung |
custom_details.auditUserName |
principal.user.user_display_name |
Dipetakan secara langsung |
user_name |
principal.user.user_display_name |
Dipetakan secara langsung |
action_name |
security_result.action |
Digabung |
custom_details.status |
security_result.action_details |
Dipetakan secara langsung |
category_temp |
security_result.category |
Digabung |
class |
security_result.category_details |
Digabung |
confidence |
security_result.confidence_details |
Dipetakan secara langsung |
custom_details.errorMessage |
security_result.description |
Dipetakan secara langsung |
access_type_label |
security_result.detection_fields |
Digabung |
action_date_label |
security_result.detection_fields |
Digabung |
detection_time_label |
security_result.detection_fields |
Digabung |
directories_snoozed_label |
security_result.detection_fields |
Digabung |
directories_unsnoozed_label |
security_result.detection_fields |
Digabung |
document_count_label |
security_result.detection_fields |
Digabung |
encryption_level_label |
security_result.detection_fields |
Digabung |
errorCode_label |
security_result.detection_fields |
Digabung |
errorId_label |
security_result.detection_fields |
Digabung |
errorReason_label |
security_result.detection_fields |
Digabung |
errorRemedy_label |
security_result.detection_fields |
Digabung |
event_info_label |
security_result.detection_fields |
Digabung |
failed_document_count_label |
security_result.detection_fields |
Digabung |
file_matches_label |
security_result.detection_fields |
Digabung |
files_created_count_label |
security_result.detection_fields |
Digabung |
files_modified_count_label |
security_result.detection_fields |
Digabung |
files_removed_count_label |
security_result.detection_fields |
Digabung |
files_suspicious_count_label |
security_result.detection_fields |
Digabung |
hash_tf_version_label |
security_result.detection_fields |
Digabung |
identity_name_label |
security_result.detection_fields |
Digabung |
num_files_with_matches_label |
security_result.detection_fields |
Digabung |
num_hash_matches_label |
security_result.detection_fields |
Digabung |
num_of_violating_identities_label |
security_result.detection_fields |
Digabung |
num_yara_rule_matches_label |
security_result.detection_fields |
Digabung |
obj_failed_label |
security_result.detection_fields |
Digabung |
obj_partially_succeeded_label |
security_result.detection_fields |
Digabung |
obj_succeeded_label |
security_result.detection_fields |
Digabung |
object_matches_label |
security_result.detection_fields |
Digabung |
policy_name_label |
security_result.detection_fields |
Digabung |
reason_label |
security_result.detection_fields |
Digabung |
remediation_type_label |
security_result.detection_fields |
Digabung |
remedy_label |
security_result.detection_fields |
Digabung |
risk_name_label |
security_result.detection_fields |
Digabung |
seriesID_label |
security_result.detection_fields |
Digabung |
seriesId_label |
security_result.detection_fields |
Digabung |
skipped_document_count_label |
security_result.detection_fields |
Digabung |
strain_name_label |
security_result.detection_fields |
Digabung |
successful_document_count_label |
security_result.detection_fields |
Digabung |
total_accessible_files_at_risk_count_label |
security_result.detection_fields |
Digabung |
vm_count_label |
security_result.detection_fields |
Digabung |
yara_tf_version_label |
security_result.detection_fields |
Digabung |
hunt_name |
security_result.rule_name |
Dipetakan secara langsung |
hunt_type |
security_result.rule_type |
Dipetakan secara langsung |
is_severity_assigned |
security_result.severity |
Dipetakan: false → INFORMATIONAL, false → MEDIUM |
severity |
security_result.severity |
Dipetakan: INFO → INFORMATIONAL, WARNING → MEDIUM |
severity_name |
security_result.severity |
Dipetakan: INFO → INFORMATIONAL, WARNING → MEDIUM |
severity |
security_result.severity_details |
Dipetakan secara langsung |
severity_name |
security_result.severity_details |
Dipetakan secara langsung |
summary |
security_result.summary |
Dipetakan secara langsung |
threat_feed_type |
security_result.threat_feed_name |
Dipetakan secara langsung |
custom_details.logicalSizeInBytes |
target.file.size |
Dipetakan secara langsung |
client_id_label |
target.labels |
Digabung |
client_name_label |
target.labels |
Digabung |
custom_details.location |
target.location.name |
Dipetakan secara langsung |
custom_details.objectName |
target.resource.name |
Dipetakan secara langsung |
object_name |
target.resource.name |
Dipetakan secara langsung |
resource_name |
target.resource.name |
Dipetakan secara langsung |
custom_details.objectId |
target.resource.product_object_id |
Dipetakan secara langsung |
component |
target.resource.resource_subtype |
Dipetakan secara langsung |
custom_details.objectType |
target.resource.resource_subtype |
Dipetakan secara langsung |
is_object_type_assigned |
target.resource.resource_type |
Dipetakan: false → UNSPECIFIED |
class |
target.user.email_addresses |
Dipetakan: Login → user_email |
user_email |
target.user.email_addresses |
Digabung |
each_group |
target.user.group_identifiers |
Digabung |
custom_details.auditUserName |
target.user.user_display_name |
Dipetakan secara langsung |
user_name |
target.user.user_display_name |
Dipetakan secara langsung |
custom_details.auditUserId |
target.user.userid |
Dipetakan secara langsung |
| T/A | extensions.auth.type |
Konstanta: AUTHTYPE_UNSPECIFIED |
| T/A | metadata.event_type |
Konstanta: USER_LOGIN |
| T/A | metadata.product_name |
Konstanta: RUBRIK SECURITY CLOUD |
| T/A | metadata.vendor_name |
Konstanta: RUBRIK |
| T/A | principal.resource.resource_type |
Konstanta: CLUSTER |
| T/A | security_result.severity |
Konstanta: INFORMATIONAL |
| T/A | target.resource.resource_type |
Konstanta: UNSPECIFIED |
Log Perubahan
Melihat Log Perubahan untuk parser ini
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.