Mengumpulkan log Qualys Vulnerability Management

Didukung di:

Parser ini menangani log Qualys Vulnerability Management dalam format nilai kunci (KV) atau JSON. Alat ini mengekstrak detail kerentanan, informasi host, dan metadata pemindaian, serta memetakan semuanya ke UDM. Parser juga menangani struktur log yang berbeda, memprioritaskan penguraian KV dan kembali ke JSON jika diperlukan, serta membagi array DetectionList menjadi peristiwa kerentanan individual.

Sebelum memulai

  • Pastikan Anda memiliki instance Google Security Operations.
  • Pastikan Anda memiliki akses dengan hak istimewa ke konsol Qualys VMDR.

Opsional: Buat Pengguna API khusus di Qualys

  1. Login ke konsol Qualys.
  2. Buka Pengguna.
  3. Klik Baru > Pengguna.
  4. Masukkan Informasi Umum yang diperlukan untuk pengguna.
  5. Pilih tab Peran Pengguna.
  6. Pastikan peran memiliki kotak centang Akses API yang dicentang.
  7. Klik Simpan.

Identifikasi URL Qualys API spesifik Anda

Opsi 1

Identifikasi URL Anda seperti yang disebutkan dalam identifikasi platform.

Opsi 2

  1. Login ke konsol Qualys.
  2. Buka Help > About.
  3. Scroll untuk melihat informasi ini di bagian Pusat Operasi Keamanan (SOC).
  4. Salin URL Qualys API.

Mengonfigurasi feed di Google SecOps untuk menyerap log VM Qulays

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan baru.
  3. Di kolom Nama feed, masukkan nama untuk feed (misalnya, Qualys VM Logs).
  4. Pilih Third Party API sebagai Source type.
  5. Pilih Qualys VM sebagai jenis log.
  6. Klik Berikutnya.
  7. 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.
    • Namespace aset: namespace aset.
    • Label penyerapan: label yang diterapkan ke peristiwa dari feed ini.
  8. Klik Berikutnya.
  9. Tinjau konfigurasi feed di layar Finalize, lalu klik Submit.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
DETECTION.FIRST_FOUND_DATETIME extensions.vulns.vulnerabilities.first_found Diurai dari kolom DETECTION.FIRST_FOUND_DATETIME, mengonversi nilai string menjadi stempel waktu.
DETECTION.LAST_FOUND_DATETIME extensions.vulns.vulnerabilities.last_found Diurai 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 Langsung dipetakan 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 Langsung dipetakan ke principal.hostname.
DNSData.DOMAIN principal.domain.name Langsung dipetakan ke principal.domain.name.
HOST.ASSET_ID principal.asset_id Menggabungkan "QUALYS:" dengan nilai HOST.ASSET_ID.
HOST.DNS principal.hostname Langsung dipetakan ke principal.hostname jika DNS kosong.
HOST.DNS_DATA.DOMAIN principal.domain.name Langsung dipetakan ke principal.domain.name jika DNSData.DOMAIN kosong.
HOST.ID metadata.product_log_id Langsung dipetakan ke metadata.product_log_id.
HOST.IP principal.ip Langsung dipetakan ke principal.ip jika IP kosong.
HOST.LAST_SCAN_DATETIME extensions.vulns.vulnerabilities.scan_start_time Diurai dari kolom HOST.LAST_SCAN_DATETIME, mengonversi nilai string menjadi stempel waktu.
HOST.LAST_VM_SCANNED_DATE extensions.vulns.vulnerabilities.scan_end_time Diurai 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 Langsung dipetakan 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 Langsung dipetakan ke metadata.product_log_id.
IP principal.ip Langsung dipetakan ke principal.ip.
LastScanDateTime extensions.vulns.vulnerabilities.scan_start_time Diurai 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 Diurai 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 Diurai dari kolom LAST_FOUND_DATETIME, mengonversi nilai string menjadi stempel waktu.
LAST_SCAN_DATETIME extensions.vulns.vulnerabilities.scan_start_time Diurai dari kolom LAST_SCAN_DATETIME, yang mengonversi nilai string menjadi stempel waktu.
LAST_VM_SCANNED_DATE extensions.vulns.vulnerabilities.scan_end_time Diurai 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 Langsung dipetakan ke principal.platform_version.
Os principal.platform_version Langsung dipetakan 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 "ID Host:%{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 Di-hardcode ke "Qualys".
T/A metadata.product_name Di-hardcode ke "Pengelolaan Kerentanan".
T/A metadata.event_type Tetapkan ke "SCAN_VULN_HOST" jika _vulns tidak kosong, "STATUS_UPDATE" jika prin_host atau IP tidak kosong, dan "GENERIC_EVENT" jika tidak.
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 satu dari platform tersebut berisi "Linux", platform akan ditetapkan ke "LINUX". Jika ada yang berisi "Windows", platform akan 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 Diurai dari kolom detection.FirstFoundTime, yang mengonversi nilai string menjadi stempel waktu dalam array kerentanan untuk peristiwa yang diuraikan dari kolom DetectionList.
detection.LastFoundTime extensions.vulns.vulnerabilities.last_found Diurai dari kolom detection.LastFoundTime, yang 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 Secara langsung dipetakan 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 "LOW"; 3, 4 menjadi "MEDIUM"; 5, 6, 7 menjadi "HIGH" 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 level teratas.

Perubahan

2023-10-27

  • Menambahkan loop "for" untuk memisahkan peristiwa jika ada beberapa "QID".

2023-04-25

  • Memetakan "DetectionList.FirstFoundTime" ke "extensions.vulns.vulnerabilities.first_found".
  • Memetakan "DetectionList.LastFoundTime" ke "extensions.vulns.vulnerabilities.last_found".
  • Memetakan "DetectionList.TimesFound" ke "extensions.vulns.vulnerabilities.about.resource.attribute.labels".
  • Memetakan "DetectionList.LastTestDateTime" ke "extensions.vulns.vulnerabilities.about.resource.attribute.labels".
  • Memetakan "DetectionList.LastUpdateDateTime" ke "extensions.vulns.vulnerabilities.about.resource.attribute.labels".
  • Memetakan "DetectionList.LastProcessedDatetime" ke "extensions.vulns.vulnerabilities.about.resource.attribute.labels".

2023-01-23

  • Memetakan detail array "DetectionList" ke "extensions.vulns.vulnerabilities".
  • Memetakan "DetectionList.Qid" ke "extensions.vulns.vulnerabilities.name".
  • Memetakan "DetectionList.Severity" ke "extensions.vulns.vulnerabilities.severity".
  • Memetakan "DetectionList.Results" ke "extensions.vulns.vulnerabilities.description".
  • Memetakan "DetectionList.Status", "DetectionList.DType" ke "extensions.vulns.vulnerabilities.about.resource.attribute.labels".

29-09-2022

  • Memetakan "ID" ke "metadata.product_log_id".
  • Memetakan "Netbios","TrackingMethod","NetworkID" ke "additional.fields".
  • Memetakan "QgHostID" ke "principal.asset_id".
  • Memetakan "Os" ke "principal.platform_version".
  • Menambahkan pemeriksaan bersyarat untuk "vulns".

2022-07-20

  • menambahkan pemetaan untuk kolom berikut:
  • "DETECTION.FIRST_FOUND_DATETIME" dipetakan ke "event.idm.read_only_udm.extensions.vulns.vulnerabilities.first_found".
  • "DETECTION.LAST_FOUND_DATETIME" dipetakan ke "event.idm.read_only_udm.extensions.vulns.vulnerabilities.last_found".
  • "HOST.LAST_VM_SCANNED_DATE" dipetakan ke "event.idm.read_only_udm.extensions.vulns.vulnerabilities.scan_end_time".
  • "HOST.LAST_SCAN_DATETIME" dipetakan ke "event.idm.read_only_udm.extensions.vulns.vulnerabilities.scan_start_time".
  • "DETECTION.QID" dipetakan ke "event.idm.read_only_udm.extensions.vulns.vulnerabilities.name".
  • "DETECTION.SEVERITY" dipetakan ke "event.idm.read_only_udm.extensions.vulns.vulnerabilities.severity".
  • "DETECTION.TYPE" dipetakan ke "event.idm.read_only_udm.extensions.vulns.vulnerabilities.about.labels".
  • "DETECTION.STATUS" dipetakan ke "event.idm.read_only_udm.extensions.vulns.vulnerabilities.labels".
  • "DETECTION.RESULTS" dipetakan ke "event.idm.read_only_udm.extensions.vulns.vulnerabilities.description".
  • "HOST.DNS_DATA.DOMAIN" dipetakan ke "event.idm.read_only_udm.principal.domain.name".
  • "HOST.ASSET_ID" dipetakan ke "event.idm.read_only_udm.principal.asset_id".
  • "HOST.IP" dipetakan ke "event.idm.read_only_udm.principal.ip".
  • "HOST.OS" dipetakan ke "event.idm.read_only_udm.principal.platform_version".
  • "HOST.DNS" dipetakan ke "event.idm.read_only_udm.principal.hostname".
  • "HOST.QG_HOSTID" dipetakan ke "event.idm.read_only_udm.additional.fields".
  • "HOST.NETBIOS" dipetakan ke "event.idm.read_only_udm.additional.fields".
  • "HOST.TRACKING_METHOD" dipetakan ke "event.idm.read_only_udm.additional.fields".

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.