Mengumpulkan log Rapid7 InsightIDR

Didukung di:

Parser ini menangani log berformat JSON dan SYSLOG dari Rapid7 InsightIDR. Fungsi ini mengekstrak kolom, menormalisasinya ke UDM, dan menjalankan logika tertentu untuk data kerentanan, termasuk skor CVSS dan informasi eksploit, yang menangani format JSON dan syslog secara terpisah. Alat ini juga memetakan upaya autentikasi dan peristiwa sesi ke jenis peristiwa UDM yang sesuai.

Sebelum memulai

  • Pastikan Anda memiliki instance Google Chronicle.
  • Pastikan Anda memiliki akses dengan hak istimewa ke konsol pengelolaan InsightIDR.

Mengonfigurasi kunci API di Rapid7 InsightIDR

  1. Login ke InsightIDR Command Platform.
  2. Klik Administrasi.
  3. Klik API Keys.
  4. Buka tab Organization Keys.
  5. Klik New Organization Key.
  6. Pilih organisasi dan berikan nama untuk kunci (misalnya, Google SecOps).
  7. Buat kunci.
  8. Salin kunci dari jendela baru yang menampilkan kunci yang dibuat.

Mengonfigurasi feed di Google SecOps untuk menyerap log Rapid7 InsightIDR

  1. Klik Tambahkan baru.
  2. Di kolom Nama feed, masukkan nama untuk feed (misalnya, InsightIDR Logs).
  3. Pilih Third party API sebagai Source type.
  4. Pilih Rapid7 Insight sebagai Jenis log.
  5. Klik Berikutnya.
  6. Tentukan nilai untuk parameter input berikut:
    • Header HTTP Autentikasi: token yang sebelumnya dibuat dalam format X-Api-Key:<value> (misalnya, X-Api-Key:AAAABBBBCCCC111122223333).
    • Endpoint API: masukkan kerentanan atau aset.
    • Nama Host API: FQDN (nama domain yang sepenuhnya memenuhi syarat) endpoint Rapid7 API dalam format [region].api.insight.rapid7.com.
    • Namespace aset: namespace aset.
    • Label penyerapan: label yang diterapkan ke peristiwa dari feed ini.
  7. Klik Berikutnya.
  8. Tinjau konfigurasi feed di layar Finalize, lalu klik Submit.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
added vulnerabilities.first_found Kolom added dikonversi menjadi stempel waktu dan dipetakan ke vulnerabilities.first_found.
Authentication security_result.detection_fields.value Nilai Authentication dari log mentah dipetakan ke kolom value dalam security_result.detection_fields. key yang sesuai ditetapkan ke "Autentikasi".
critical_vulnerabilities asset.attribute.labels.value Nilai critical_vulnerabilities dipetakan ke kolom value dalam asset.attribute.labels. key yang sesuai ditetapkan ke "Kerentanan Kritis".
cves vulnerabilities.cve_id Nilai cves dipetakan ke vulnerabilities.cve_id.
cvss_v2_access_complexity asset.attribute.labels.value Nilai cvss_v2_access_complexity dipetakan ke kolom value dalam asset.attribute.labels. key yang sesuai ditetapkan ke "Kompleksitas Akses(Ac)".
cvss_v2_availability_impact asset.attribute.labels.value Nilai cvss_v2_availability_impact dipetakan ke kolom value dalam asset.attribute.labels. key yang sesuai ditetapkan ke "Dampak Ketersediaan (A)".
cvss_v2_confidentiality_impact asset.attribute.labels.value Nilai cvss_v2_confidentiality_impact dipetakan ke kolom value dalam asset.attribute.labels. key yang sesuai ditetapkan ke "Dampak Kerahasiaan (C)".
cvss_v2_integrity_impact asset.attribute.labels.value Nilai cvss_v2_integrity_impact dipetakan ke kolom value dalam asset.attribute.labels. key yang sesuai ditetapkan ke "Dampak Integritas (I)".
cvss_v2_score vulnerabilities.cvss_base_score Nilai cvss_v2_score dikonversi menjadi string, lalu menjadi float, dan dipetakan ke vulnerabilities.cvss_base_score.
cvss_v2_vector vulnerabilities.cvss_vector Nilai cvss_v2_vector dipetakan ke vulnerabilities.cvss_vector.
cvss_v3_availability_impact asset.attribute.labels.value Nilai cvss_v3_availability_impact dipetakan ke kolom value dalam asset.attribute.labels. key yang sesuai ditetapkan ke "Dampak Ketersediaan (A)".
cvss_v3_score vulnerabilities.cvss_base_score Nilai cvss_v3_score dikonversi menjadi string, lalu menjadi float, dan dipetakan ke vulnerabilities.cvss_base_score.
cvss_v3_vector vulnerabilities.cvss_vector Nilai cvss_v3_vector dipetakan ke vulnerabilities.cvss_vector.
description vulnerabilities.description Nilai description dari log mentah dipetakan ke vulnerabilities.description.
exploits asset.attribute.labels.value Nilai exploits dikonversi menjadi string dan dipetakan ke kolom value dalam asset.attribute.labels. key yang sesuai adalah "Number of Exploits" atau "Rank of Exploit" berdasarkan keberadaan kolom "rank" dalam objek exploits.
host_name asset.hostname Nilai host_name dipetakan ke asset.hostname. Jika host_name kosong dan ip serta mac kosong, nilai id akan digunakan.
id asset.product_object_id Nilai id dipetakan ke asset.product_object_id. Jika host_name kosong dan ip serta mac kosong, nilai id akan digunakan untuk asset.hostname.
ip asset.ip, entity.asset.ip Nilai ip dipetakan ke asset.ip dan entity.asset.ip.
last_assessed_for_vulnerabilities vulnerabilities.scan_end_time Kolom last_assessed_for_vulnerabilities dikonversi menjadi stempel waktu dan dipetakan ke vulnerabilities.scan_end_time.
last_scan_end vulnerabilities.last_found Kolom last_scan_end dikonversi menjadi stempel waktu dan dipetakan ke vulnerabilities.last_found.
last_scan_start vulnerabilities.first_found Kolom last_scan_start dikonversi menjadi stempel waktu dan dipetakan ke vulnerabilities.first_found.
links vulnerabilities.cve_id, vulnerabilities.vendor_knowledge_base_article_id Kolom id dalam links dipetakan ke vulnerabilities.cve_id, dan kolom href dalam links dipetakan ke vulnerabilities.vendor_knowledge_base_article_id.
mac asset.mac, entity.asset.mac Nilai mac dikonversi menjadi huruf kecil dan dipetakan ke asset.mac dan entity.asset.mac.
MessageSourceAddress principal.ip, principal.asset.ip Alamat IP yang diekstrak dari MessageSourceAddress dipetakan ke principal.ip dan principal.asset.ip.
Method network.http.method Nilai Method dipetakan ke network.http.method.
moderate_vulnerabilities asset.attribute.labels.value Nilai moderate_vulnerabilities dikonversi menjadi string dan dipetakan ke kolom value dalam asset.attribute.labels. key yang sesuai ditetapkan ke "Kerentanan Sedang".
os_architecture asset.hardware.cpu_platform Nilai os_architecture dipetakan ke asset.hardware.cpu_platform.
os_description asset.platform_software.platform_version Nilai os_description dipetakan ke asset.platform_software.platform_version.
os_family asset.platform_software.platform Nilai os_family dikonversi ke huruf besar dan dipetakan ke asset.platform_software.platform. Penanganan khusus dilakukan untuk "MAC OS X", "IOS", "WINDOWS", "MAC", dan "LINUX". Jika tidak cocok dengan salah satu platform tersebut, platform akan ditetapkan ke "UNKNOWN_PLATFORM".
Port principal.port Nilai Port dipetakan ke principal.port dan dikonversi menjadi bilangan bulat.
Principal principal.user.email_addresses Jika Principal adalah alamat email, alamat tersebut akan dipetakan ke principal.user.email_addresses.
product_event_type metadata.product_event_type Nilai product_event_type dipetakan ke metadata.product_event_type.
Protocol network.application_protocol Jika Protocol adalah "HTTP" atau "HTTPS", Protocol akan dipetakan ke network.application_protocol.
published vulnerabilities.last_found Kolom published dikonversi menjadi stempel waktu dan dipetakan ke vulnerabilities.last_found.
Referer network.http.referral_url Nilai Referer dipetakan ke network.http.referral_url.
risk_score asset.attribute.labels.value Nilai risk_score dikonversi menjadi string dan dipetakan ke kolom value dalam asset.attribute.labels. key yang sesuai ditetapkan ke "Risk Score".
security_result_summary security_result.summary Nilai security_result_summary dipetakan ke security_result.summary. Jika cocok dengan pola "Total sesi untuk akun utama: ", angka tersebut akan diekstrak dan dipetakan ke label terpisah dengan kunci "Jumlah Sesi" dalam security_result.detection_fields.
Session network.session_id Nilai Session dipetakan ke network.session_id.
severe_vulnerabilities asset.attribute.labels.value Nilai severe_vulnerabilities dikonversi menjadi string dan dipetakan ke kolom value dalam asset.attribute.labels. key yang sesuai ditetapkan ke "Kerentanan Berat".
severity vulnerabilities.severity, security_result.severity Nilai severity dikonversi ke huruf besar. Jika "TINGGI", "RENDAH", "KRITIS", atau "SEDANG", nilai ini akan dipetakan ke vulnerabilities.severity. Untuk pesan syslog, jika "Info", pesan akan dipetakan ke "INFORMATIONAL" di security_result.severity. Jika "Error", nilai ini akan dipetakan ke "ERROR" di security_result.severity.
severity_score asset.attribute.labels.value Nilai severity_score dikonversi menjadi string dan dipetakan ke kolom value dalam asset.attribute.labels. key yang sesuai ditetapkan ke "Skor Keparahan".
SiloID security_result.detection_fields.value Nilai SiloID dipetakan ke kolom value dalam security_result.detection_fields. key yang sesuai ditetapkan ke "ID Silo".
SourceModuleName target.resource.name Nilai SourceModuleName dengan tanda kutip dihapus dipetakan ke target.resource.name.
SourceModuleType observer.application Nilai SourceModuleType dengan tanda kutip dan tanda kurung tutup yang dihapus dipetakan ke observer.application.
Status network.http.response_code Nilai Status dipetakan ke network.http.response_code dan dikonversi menjadi bilangan bulat.
tags asset.attribute.labels Untuk setiap elemen dalam array tags, kolom type dipetakan ke key dan kolom name dipetakan ke value dalam asset.attribute.labels.
Thread security_result.detection_fields.value Nilai Thread dipetakan ke kolom value dalam security_result.detection_fields. key yang sesuai ditetapkan ke "Thread".
timestamp event.timestamp, metadata.collected_timestamp, read_only_udm.metadata.event_timestamp Kolom timestamp dikonversi menjadi stempel waktu dan dipetakan ke event.timestamp untuk log JSON dan metadata.collected_timestamp untuk peristiwa entitas. Untuk pesan syslog, pesan tersebut dipetakan ke read_only_udm.metadata.event_timestamp.
title vulnerabilities.description Nilai title dipetakan ke vulnerabilities.description.
total_vulnerabilities asset.attribute.labels.value Nilai total_vulnerabilities dikonversi menjadi string dan dipetakan ke kolom value dalam asset.attribute.labels. key yang sesuai ditetapkan ke "Total Kerentanan".
URI security_result.detection_fields.value Nilai URI dipetakan ke kolom value dalam security_result.detection_fields. key yang sesuai ditetapkan ke "URI".
User-Agent network.http.user_agent, network.http.parsed_user_agent Nilai User-Agent dipetakan ke network.http.user_agent. Objek ini juga dipetakan ke network.http.parsed_user_agent dan dikonversi menjadi objek agen pengguna yang diuraikan. Di-hardcode ke "Rapid7 Insight". Di-hardcode ke "Rapid7 Insight". Di-hardcode ke "ASSET" untuk log JSON. Awalnya ditetapkan ke "GENERIC_EVENT", lalu berpotensi diubah menjadi "PROCESS_UNCATEGORIZED", "STATUS_UPDATE", atau "USER_LOGIN" berdasarkan kolom lain. Tetapkan ke "AUTHTYPE_UNSPECIFIED" untuk peristiwa "USER_LOGIN". Tetapkan ke "ALLOW" atau "BLOCK" berdasarkan product_event_type. Di-hardcode ke "RAPID7_INSIGHT" untuk pesan syslog.
username principal.user.user_display_name Nilai username, dengan tanda kutip dihapus dan berpotensi diuraikan untuk alamat email, dipetakan ke principal.user.user_display_name. Alamat email yang diekstrak, jika ada, akan dipetakan ke principal.user.email_addresses.

Perubahan

2024-05-13

  • Menambahkan dukungan untuk format log SYSLOG+KV yang baru.

2023-05-05

  • Penyempurnaan
  • Memetakan "tags.type" ke "asset.attribute.labels.key".
  • Memetakan "tags.name" ke "asset.attribute.labels.value".

2022-12-15

  • Penyempurnaan
  • Pengurai yang ditingkatkan untuk mengurai log aplikasi yang memiliki format Syslog.
  • Menambahkan pola Grok untuk log dengan jenis "Session created", "Session destroyed", "Authentication attempt succeeded", dan "Authentication attempt failed".