Mengumpulkan log Cohesity
Ringkasan
Parser ini mengekstrak kolom dari pesan syslog software pencadangan Cohesity menggunakan pola grok. Fungsi ini menangani pesan syslog standar dan log berformat JSON, memetakan kolom yang diekstrak ke UDM, dan menetapkan event_type secara dinamis berdasarkan keberadaan ID utama dan target.
Sebelum memulai
- Pastikan Anda memiliki instance Google Chronicle.
- Pastikan Anda memiliki akses dengan hak istimewa ke pengelolaan Cohesity.
Mengonfigurasi feed di Google SecOps untuk menyerap log Cohesity
- Buka SIEM Settings > Feeds.
- Klik Tambahkan baru.
- Di kolom Nama feed, masukkan nama untuk feed (misalnya, Log Cohesity).
- Pilih Webhook sebagai Jenis sumber.
- Pilih Cohesity sebagai Log type.
- Klik Berikutnya.
- Opsional: Tentukan nilai untuk parameter input berikut:
- Pemisah pemisahan: pembatas yang digunakan untuk memisahkan baris log, seperti
\n
. - Namespace aset: namespace aset.
- Label penyerapan: label yang diterapkan ke peristiwa dari feed ini.
- Pemisah pemisahan: pembatas yang digunakan untuk memisahkan baris log, seperti
- Klik Berikutnya.
- Tinjau konfigurasi feed di layar Finalize, lalu klik Submit.
- Klik Buat Kunci Rahasia untuk membuat kunci rahasia guna mengautentikasi feed ini.
- Salin dan simpan kunci rahasia. Anda tidak dapat melihat kunci rahasia ini lagi. Jika perlu, Anda dapat membuat ulang kunci rahasia baru, tetapi tindakan ini akan membuat kunci rahasia sebelumnya tidak berlaku lagi.
- Dari tab Detail, salin URL endpoint feed dari kolom Endpoint Information. Anda perlu menentukan URL endpoint ini di aplikasi klien.
- Klik Done.
Membuat kunci API untuk feed webhook
Buka Konsol Google Cloud > Kredensial.
Klik Create credentials, lalu pilih API key.
Batasi akses kunci API ke Chronicle API.
Menentukan URL endpoint
- Di aplikasi klien, tentukan URL endpoint HTTPS yang diberikan di feed webhook.
Aktifkan autentikasi dengan menentukan kunci API dan kunci secret sebagai bagian dari header kustom dalam format berikut:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
Rekomendasi: Tentukan kunci API sebagai header, bukan menentukannya di URL.
Jika klien webhook Anda tidak mendukung header kustom, Anda dapat menentukan kunci API dan kunci rahasia menggunakan parameter kueri dalam format berikut:
ENDPOINT_URL?key=API_KEY&secret=SECRET
Ganti kode berikut:
ENDPOINT_URL
: URL endpoint feed.API_KEY
: kunci API untuk mengautentikasi ke Google SecOps.SECRET
: kunci rahasia yang Anda buat untuk mengautentikasi feed.
Mengonfigurasi Webhook di Cohesity untuk Google SecOps
- Login ke pengelolaan cluster Cohesity.
- Buka bagian Tugas Perlindungan.
- Pilih tugas perlindungan yang webhook-nya ingin Anda konfigurasi.
- Klik menu Tindakan (tiga titik vertikal) di samping tugas perlindungan > Edit.
- Pilih tab Pemberitahuan.
- Klik + Tambahkan Webhook.
- Tentukan nilai untuk parameter berikut:
- Nama: Berikan nama deskriptif untuk webhook (misalnya, Google SecOps).
- URL: Masukkan
<ENDPOINT_URL>
Google SecOps. - Method: Pilih POST.
- Jenis Konten: Pilih application/json.
- Payload: Kolom ini bergantung pada data spesifik yang ingin Anda kirim.
- Enable Webhook: Centang kotak untuk mengaktifkan webhook.
- Simpan Konfigurasi: Klik Simpan untuk menerapkan konfigurasi webhook ke tugas perlindungan.
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
ClientIP |
principal.asset.ip |
Dipetakan langsung dari kolom ClientIP . |
ClientIP |
principal.ip |
Dipetakan langsung dari kolom ClientIP . |
description |
security_result.description |
Dipetakan langsung dari kolom description . |
DomainName |
target.asset.hostname |
Dipetakan langsung dari kolom DomainName . |
DomainName |
target.hostname |
Dipetakan langsung dari kolom DomainName . |
EntityPath |
target.url |
Dipetakan langsung dari kolom EntityPath . |
host |
principal.asset.hostname |
Dipetakan langsung dari kolom host . |
host |
principal.hostname |
Dipetakan langsung dari kolom host . Disalin dari kolom ts setelah diuraikan menjadi stempel waktu. Ditentukan oleh logika parser berdasarkan keberadaan principal_mid_present , target_mid_present , dan principal_user_present . Nilai yang mungkin: NETWORK_CONNECTION , USER_UNCATEGORIZED , STATUS_UPDATE , GENERIC_EVENT . Di-hardcode ke "Cohesity". |
product_event_type |
metadata.product_event_type |
Dipetakan langsung dari kolom product_event_type . Di-hardcode ke "COHESITY". |
pid |
principal.process.pid |
Dipetakan langsung dari kolom pid . |
Protocol |
network.application_protocol |
Dipetakan langsung dari kolom Protocol , dikonversi ke huruf besar. |
RecordID |
additional.fields (kunci: "RecordID", nilai: RecordID ) |
Dipetakan langsung dari kolom RecordID , bertingkat di bawah additional.fields . |
RequestType |
security_result.detection_fields (kunci: "RequestType", nilai: RequestType ) |
Dipetakan langsung dari kolom RequestType , bertingkat di bawah security_result.detection_fields . |
Result |
security_result.summary |
Dipetakan langsung dari kolom Result . |
sha_value |
additional.fields (kunci: "SHA256", nilai: sha_value ) |
Dipetakan langsung dari kolom sha_value , bertingkat di bawah additional.fields . |
target_ip |
target.asset.ip |
Dipetakan langsung dari kolom target_ip . |
target_ip |
target.ip |
Dipetakan langsung dari kolom target_ip . |
target_port |
target.port |
Dipetakan langsung dari kolom target_port , dikonversi menjadi bilangan bulat. |
Timestamp |
metadata.collected_timestamp |
Dipetakan langsung dari kolom Timestamp setelah diuraikan ke stempel waktu. |
ts |
events.timestamp |
Dipetakan langsung dari kolom ts setelah diuraikan ke stempel waktu. |
UserID |
principal.user.userid |
Dipetakan langsung dari kolom UserID , dikonversi menjadi string. |
UserName |
principal.user.user_display_name |
Dipetakan langsung dari kolom UserName . |
UserSID |
principal.user.windows_sid |
Dipetakan langsung dari kolom UserSID . |
Perubahan
2024-09-24
- Menghapus "gsub" untuk memformat log JSON.
2024-09-10
- Menambahkan "gsub" untuk menghapus karakter yang tidak diinginkan dari log.
- Memetakan "prin_ip" ke "principal.ip".
2024-07-28
- Memetakan "EntityId" dan "RegisteredSource.EntityId" ke "principal.user.userid".
- Memetakan "Description" dan "EventMessage" ke "metadata.description".
- Memetakan "IP" ke "principal.ip" dan "principal.asset.ip".
- Memetakan "Pengguna" ke "principal.user.user_display_name".
- Memetakan "Action, "Domain, "ServiceContext, "AttributeMap.AttemptNum, "cluster_id, "cluster_name, "ClusterInfo.ClusterId, "ClusterInfo.ClusterName, "TaskId, "EntityName, "EntityType, "BackupJobId, "BackupJobName, "EnvironmentType, "RegisteredSource.EntityName, "RegisteredSource.EntityType, "AttributeMap.BridgeConstituent, "ReplicationTarget.ClusterName, dan "ReplicationTarget.ClusterId ke "additional.fields".
2024-05-16
- Parser yang baru dibuat.