Mengumpulkan log Qualys Scan
Parser ini mengekstrak kolom dari log JSON Qualys Scan, menormalisasi stempel waktu, dan memetakannya ke UDM. Parser ini menangani berbagai jenis peristiwa Qualys, termasuk peristiwa umum dan login pengguna, serta mengisi kolom UDM dengan informasi keamanan dan metadata yang relevan.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google Security Operations.
- Akses istimewa ke konsol Qualys VMDR.
Opsional: Membuat 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 tersebut memiliki kotak centang API Access yang dipilih.
- Klik Simpan.
Mengidentifikasi URL API Qualys 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 Pusat Operasi Keamanan (SOC).
- Salin URL API Qualys.
Menyiapkan feed
Untuk mengonfigurasi feed, ikuti langkah-langkah berikut:
- Buka Setelan > Pengelolaan Data > Feed. Jika Anda menggunakan platform khusus SIEM, buka Settings > Feeds.
- Klik Tambahkan Feed Berita Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Feed name, masukkan nama untuk feed; misalnya, Qualys Scan Logs.
- Pilih API Pihak Ketiga sebagai Jenis sumber.
- Pilih Qualys Scan sebagai jenis log.
- Klik Berikutnya.
- Tentukan nilai untuk parameter input berikut:
- Nama pengguna: masukkan nama pengguna untuk pengguna khusus.
- Secret: masukkan sandi untuk pengguna khusus.
- API Full Path: berikan URL Server API Qualys biasa (misalnya,
qualysapi.qg2.apps.qualys.eu). - API Type: pilih jenis pemindaian yang ingin Anda serap.
- Klik Berikutnya.
- Tinjau konfigurasi feed di layar Finalisasi, lalu klik Kirim.
Tabel Pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
Category |
security_result.category_details |
Dipetakan langsung dari kolom Category. |
ID |
metadata.product_log_id |
Dipetakan langsung dari kolom ID. Dikonversi ke string. |
LaunchDatetime |
metadata.event_timestamp |
Digunakan sebagai stempel waktu peristiwa jika ScanInput.ScanDatetime dan UpdateDate tidak ada. Diurai dalam format "ISO8601". |
Ref |
additional.fields[1].key additional.fields[1].value.string_value |
Dipetakan ke additional.fields dengan kunci "ScanReference" jika ScanReference tidak ada. |
ScanDetails.Status |
security_result.detection_fields[0].key security_result.detection_fields[0].value |
Dipetakan ke security_result.detection_fields dengan kunci "ScanDetails Status". |
ScanInput.Network.ID |
additional.fields[0].key additional.fields[0].value.string_value |
Dipetakan ke additional.fields dengan kunci "ScanInput Network ID". |
ScanInput.Network.Name |
additional.fields[1].key additional.fields[1].value.string_value |
Dipetakan ke additional.fields dengan kunci "ScanInput Network Name". |
ScanInput.OptionProfile.ID |
additional.fields[2].key additional.fields[2].value.string_value |
Dipetakan ke additional.fields dengan kunci "ScanInput Option Profile ID". |
ScanInput.OptionProfile.Name |
additional.fields[3].key additional.fields[3].value.string_value |
Dipetakan ke additional.fields dengan kunci "ScanInput Option Profile Name". |
ScanInput.ScanDatetime |
metadata.event_timestamp |
Digunakan sebagai stempel waktu peristiwa jika ada. Diurai dalam format "ISO8601". |
ScanInput.Title |
metadata.description |
Dipetakan langsung dari kolom ScanInput.Title. |
ScanInput.Username |
principal.user.userid |
Dipetakan langsung dari kolom ScanInput.Username. |
ScanReference |
additional.fields[4].key additional.fields[4].value.string_value |
Dipetakan ke additional.fields dengan kunci "ScanReference". |
Statement |
metadata.description |
Dipetakan langsung dari kolom Statement jika ScanInput.Title dan Title tidak ada. |
Status |
security_result.detection_fields[0].key security_result.detection_fields[0].value |
Dipetakan ke security_result.detection_fields dengan kunci "Status". |
SubCategory |
security_result.description |
Dipetakan langsung dari kolom SubCategory. |
Technologies[].ID |
security_result.detection_fields[0].value |
Dipetakan langsung dari kolom Technologies[].ID. Dikonversi ke string. Bagian dari objek security_result berulang. |
Technologies[].Name |
security_result.detection_fields[1].value |
Dipetakan langsung dari kolom Technologies[].Name. Bagian dari objek security_result berulang. |
Technologies[].Rationale |
security_result.detection_fields[2].value |
Dipetakan langsung dari kolom Technologies[].Rationale. Bagian dari objek security_result berulang. |
Title |
metadata.description |
Dipetakan langsung dari kolom Title jika ScanInput.Title dan Statement tidak ada. |
Type |
additional.fields[2].key additional.fields[2].value.string_value |
Dipetakan ke additional.fields dengan kunci "Type". |
UpdateDate |
metadata.event_timestamp |
Digunakan sebagai stempel waktu peristiwa jika ScanInput.ScanDatetime tidak ada. Diurai dalam format "ISO8601". |
Userlogin |
target.user.userid |
Dipetakan langsung dari kolom Userlogin. Tetapkan ke "AUTHTYPE_UNSPECIFIED" jika Userlogin ada. Tetapkan ke "GENERIC_EVENT". Diubah menjadi "USER_LOGIN" jika Userlogin ada. Diubah menjadi "USER_UNCATEGORIZED" jika metadata_event_type adalah "GENERIC_EVENT" dan ScanInput.Username ada. Tetapkan ke "QUALYS_SCAN". Tetapkan ke "QUALYS_SCAN". Setel ke "ID" untuk setiap teknologi. Bagian dari objek security_result berulang. Tetapkan ke "Nama" untuk setiap teknologi. Bagian dari objek security_result berulang. Tetapkan ke "Rationale" untuk setiap teknologi. Bagian dari objek security_result berulang. |
Log Perubahan
Melihat Log Perubahan untuk parser ini
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.