Mengumpulkan log Qualys Vulnerability Management
Parser ini menangani log Qualys Vulnerability Management dalam format key-value (KV) atau JSON. Tindakan ini mengekstrak detail kerentanan, informasi host, dan metadata pemindaian, lalu memetakannya ke UDM. Parser juga menangani struktur log yang berbeda, memprioritaskan penguraian KV dan melakukan penggantian ke JSON jika perlu, serta membagi array DetectionList
menjadi peristiwa kerentanan individual.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google Security Operations.
- Akses istimewa ke konsol Qualys VMDR.
Opsional: Buat Pengguna API khusus di Qualys
- Login ke konsol Qualys.
- Buka Pengguna.
- Klik Baru > Pengguna.
- Masukkan Informasi Umum yang diperlukan untuk pengguna.
- Pilih tab Peran Pengguna.
- Pastikan peran memiliki kotak Akses API yang dicentang.
- Klik Simpan.
Mengidentifikasi URL Qualys API spesifik Anda
Opsi 1
Identifikasi URL Anda seperti yang disebutkan dalam identifikasi platform.
Opsi 2
- Login ke konsol Qualys.
- Buka Bantuan > Tentang.
- Scroll untuk melihat informasi ini di bagian Security Operations Center (SOC).
- Salin URL Qualys API.
Menyiapkan 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 untuk feed; misalnya, Qualys VM Logs.
- Pilih Third Party API sebagai Source type.
- Pilih Qualys VM sebagai jenis log.
- Klik Berikutnya.
- Tentukan nilai untuk parameter input berikut:
- Nama pengguna: masukkan nama pengguna.
- Secret: masukkan sandi.
- API Full Path: berikan URL server Qualys API (misalnya,
https://<qualys_base_url>/api/2.0/fo/asset/host/?action=list
) dengan<qualys_base_url>
adalah URL dasar ke server Qualys API tempat akun Anda berada.
- Klik Berikutnya.
- Tinjau konfigurasi feed di layar Selesaikan, lalu klik Kirim.
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
DETECTION.FIRST_FOUND_DATETIME |
extensions.vulns.vulnerabilities.first_found |
Diuraikan dari kolom DETECTION.FIRST_FOUND_DATETIME , mengonversi nilai string menjadi stempel waktu. |
DETECTION.LAST_FOUND_DATETIME |
extensions.vulns.vulnerabilities.last_found |
Diuraikan dari kolom DETECTION.LAST_FOUND_DATETIME , mengonversi nilai string menjadi stempel waktu. |
DETECTION.QID |
extensions.vulns.vulnerabilities.name |
Menggabungkan "QID: " dengan nilai DETECTION.QID . |
DETECTION.RESULTS |
extensions.vulns.vulnerabilities.description |
Dipetakan langsung ke kolom deskripsi. Juga digunakan untuk mengekstrak network.ip_protocol dan principal.port menggunakan grok. |
DETECTION.SEVERITY |
extensions.vulns.vulnerabilities.severity |
Dipetakan dari DETECTION.SEVERITY . Nilai 0, 1, 2 menjadi "RENDAH"; 3, 4 menjadi "SEDANG"; 5, 6, 7 menjadi "TINGGI". |
DETECTION.STATUS |
extensions.vulns.vulnerabilities.about.labels |
Ditambahkan sebagai label dengan kunci "Status deteksi". |
DETECTION.TYPE |
extensions.vulns.vulnerabilities.about.labels |
Ditambahkan sebagai label dengan kunci "Jenis deteksi". |
DNS |
principal.hostname |
Dipetakan langsung ke principal.hostname . |
DNSData.DOMAIN |
principal.domain.name |
Dipetakan langsung ke principal.domain.name . |
HOST.ASSET_ID |
principal.asset_id |
Menggabungkan "QUALYS:" dengan nilai HOST.ASSET_ID . |
HOST.DNS |
principal.hostname |
Memetakan langsung ke principal.hostname jika DNS kosong. |
HOST.DNS_DATA.DOMAIN |
principal.domain.name |
Memetakan langsung ke principal.domain.name jika DNSData.DOMAIN kosong. |
HOST.ID |
metadata.product_log_id |
Dipetakan langsung ke metadata.product_log_id . |
HOST.IP |
principal.ip |
Memetakan langsung ke principal.ip jika IP kosong. |
HOST.LAST_SCAN_DATETIME |
extensions.vulns.vulnerabilities.scan_start_time |
Diuraikan dari kolom HOST.LAST_SCAN_DATETIME , mengonversi nilai string menjadi stempel waktu. |
HOST.LAST_VM_SCANNED_DATE |
extensions.vulns.vulnerabilities.scan_end_time |
Diuraikan dari kolom HOST.LAST_VM_SCANNED_DATE , mengonversi nilai string menjadi stempel waktu. |
HOST.NETBIOS |
additional.fields |
Ditambahkan sebagai label dengan kunci "HOST NETBIOS". |
HOST.OS |
principal.platform_version |
Memetakan langsung ke principal.platform_version jika OS kosong. |
HOST.QG_HOSTID |
additional.fields |
Ditambahkan sebagai label dengan kunci "HOST QG_HOSTID". |
HOST.TRACKING_METHOD |
additional.fields |
Ditambahkan sebagai label dengan kunci "HOST TRACKING_METHOD". |
HOST_ID |
principal.asset_id |
Menggabungkan "QUALYS:" dengan nilai HOST_ID . |
ID |
metadata.product_log_id |
Dipetakan langsung ke metadata.product_log_id . |
IP |
principal.ip |
Dipetakan langsung ke principal.ip . |
LastScanDateTime |
extensions.vulns.vulnerabilities.scan_start_time |
Diuraikan dari kolom LastScanDateTime , mengonversi nilai string menjadi stempel waktu. |
LastVMAuthScanDuration |
additional.fields |
Ditambahkan sebagai label dengan kunci "LastVMAuthScanDuration". |
LastVMScanDate |
extensions.vulns.vulnerabilities.scan_end_time |
Diuraikan dari kolom LastVMScanDate , mengonversi nilai string menjadi stempel waktu. |
LastVMScanDuration |
additional.fields |
Ditambahkan sebagai label dengan kunci "LastVMScanDuration". |
LAST_FOUND_DATETIME |
extensions.vulns.vulnerabilities.last_found |
Diuraikan dari kolom LAST_FOUND_DATETIME , mengonversi nilai string menjadi stempel waktu. |
LAST_SCAN_DATETIME |
extensions.vulns.vulnerabilities.scan_start_time |
Diuraikan dari kolom LAST_SCAN_DATETIME , mengonversi nilai string menjadi stempel waktu. |
LAST_VM_SCANNED_DATE |
extensions.vulns.vulnerabilities.scan_end_time |
Diuraikan dari kolom LAST_VM_SCANNED_DATE , mengonversi nilai string menjadi stempel waktu. |
NETBIOS |
additional.fields |
Ditambahkan sebagai label dengan kunci "NETBIOS". |
NetworkID |
additional.fields |
Ditambahkan sebagai label dengan kunci "NetworkID". |
NETWORK_ID |
additional.fields |
Ditambahkan sebagai label dengan kunci "NetworkID". |
OS |
principal.platform_version |
Dipetakan langsung ke principal.platform_version . |
Os |
principal.platform_version |
Memetakan langsung ke principal.platform_version jika OS kosong. |
QID |
extensions.vulns.vulnerabilities.name |
Menggabungkan "QID: " dengan nilai QID . |
QgHostID |
principal.asset_id |
Menetapkan principal.asset_id ke "Host Id:%{QgHostID}". |
SEVERITY |
extensions.vulns.vulnerabilities.severity |
Dipetakan dari SEVERITY . Nilai 0, 1, 2 menjadi "RENDAH"; 3, 4 menjadi "SEDANG"; 5, 6, 7 menjadi "TINGGI". |
TRACKING_METHOD |
additional.fields |
Ditambahkan sebagai label dengan kunci "TRACKING_METHOD". |
TrackingMethod |
additional.fields |
Ditambahkan sebagai label dengan kunci "TRACKING_METHOD". |
T/A | metadata.vendor_name |
Dikodekan secara permanen menjadi "Qualys". |
T/A | metadata.product_name |
Dikodekan secara permanen menjadi "Pengelolaan Kerentanan". |
T/A | metadata.event_type |
Ditetapkan ke "SCAN_VULN_HOST" jika _vulns tidak kosong, "STATUS_UPDATE" jika prin_host atau IP tidak kosong, dan "GENERIC_EVENT" jika tidak ada yang kosong. |
T/A | metadata.log_type |
Diambil dari kolom log_type log mentah. |
T/A | principal.platform |
Ditentukan dari OS , Os , atau HOST.OS . Jika salah satunya berisi "Linux", platform akan ditetapkan ke "LINUX". Jika ada yang berisi "Windows", platform ditetapkan ke "WINDOWS". Jika ada yang berisi "mac" atau "IOS", platform akan ditetapkan ke "MAC". |
detection.DType |
extensions.vulns.vulnerabilities.about.resource.attribute.labels |
Ditambahkan sebagai label dengan kunci "Detection Type" dalam array kerentanan untuk peristiwa yang diuraikan dari kolom DetectionList . |
detection.FirstFoundTime |
extensions.vulns.vulnerabilities.first_found |
Diuraikan dari kolom detection.FirstFoundTime , mengonversi nilai string menjadi stempel waktu dalam array kerentanan untuk peristiwa yang diuraikan dari kolom DetectionList . |
detection.LastFoundTime |
extensions.vulns.vulnerabilities.last_found |
Diuraikan dari kolom detection.LastFoundTime , mengonversi nilai string menjadi stempel waktu dalam array kerentanan untuk peristiwa yang diuraikan dari kolom DetectionList . |
detection.LastProcessedDatetime |
extensions.vulns.vulnerabilities.about.resource.attribute.labels |
Ditambahkan sebagai label dengan kunci "LastProcessedDatetime" dalam array kerentanan untuk peristiwa yang diuraikan dari kolom DetectionList . |
detection.LastTestDateTime |
extensions.vulns.vulnerabilities.about.resource.attribute.labels |
Ditambahkan sebagai label dengan kunci "LastTestDateTime" dalam array kerentanan untuk peristiwa yang diuraikan dari kolom DetectionList . |
detection.LastUpdateDateTime |
extensions.vulns.vulnerabilities.about.resource.attribute.labels |
Ditambahkan sebagai label dengan kunci "LastUpdateDateTime" dalam array kerentanan untuk peristiwa yang diuraikan dari kolom DetectionList . |
detection.Qid |
extensions.vulns.vulnerabilities.name |
Menggabungkan "QID: " dengan nilai detection.Qid dalam array kerentanan untuk peristiwa yang diuraikan dari kolom DetectionList . |
detection.Results |
extensions.vulns.vulnerabilities.description |
Dipetakan langsung ke kolom deskripsi dalam array kerentanan untuk peristiwa yang diuraikan dari kolom DetectionList . Tab dan baris baru diganti dengan spasi. |
detection.Severity |
extensions.vulns.vulnerabilities.severity |
Dipetakan dari detection.Severity . Nilai 0, 1, 2 menjadi "RENDAH"; 3, 4 menjadi "SEDANG"; 5, 6, 7 menjadi "TINGGI" dalam array kerentanan untuk peristiwa yang diuraikan dari kolom DetectionList . |
detection.Status |
extensions.vulns.vulnerabilities.about.resource.attribute.labels |
Ditambahkan sebagai label dengan kunci "Status deteksi" dalam array kerentanan untuk peristiwa yang diuraikan dari kolom DetectionList . |
detection.TimesFound |
extensions.vulns.vulnerabilities.about.resource.attribute.labels |
Ditambahkan sebagai label dengan kunci "TimesFound" dalam array kerentanan untuk peristiwa yang diuraikan dari kolom DetectionList . |
timestamp |
metadata.event_timestamp , timestamp |
Kolom timestamp log mentah digunakan untuk stempel waktu peristiwa dan stempel waktu tingkat teratas. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.