Raccogliere i log di Rapid7 InsightIDR

Supportato in:

Questo analizzatore gestisce i log in formato JSON e SYSLOG di Rapid7 InsightIDR. Estrae i campi, li normalizza in base al modello UDM ed esegue una logica specifica per i dati sulle vulnerabilità, inclusi i punteggi CVSS e le informazioni sugli exploit, gestendo separatamente i formati JSON e syslog. Inoltre, mappa i tentativi di autenticazione e gli eventi di sessione ai tipi di eventi UDM appropriati.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Istanza Google SecOps.
  • Accesso con privilegi alla console di gestione InsightIDR.

Configurazione di una chiave API in Rapid7 InsightIDR

  1. Accedi alla piattaforma di comando InsightIDR.
  2. Fai clic su Amministrazione.
  3. Fai clic su Chiavi API.
  4. Vai alla scheda Chiavi dell'organizzazione.
  5. Fai clic su Nuova chiave dell'organizzazione.
  6. Seleziona un'organizzazione e fornisci un nome per la chiave (ad esempio, Google SecOps).
  7. Genera la chiave.
  8. Copia la chiave da una nuova finestra che la mostra.

Configurare i feed

Esistono due diversi punti di accesso per configurare i feed nella piattaforma Google SecOps:

  • Impostazioni SIEM > Feed
  • Hub dei contenuti > Pacchetti di contenuti

Configura i feed da Impostazioni SIEM > Feed

Per configurare un feed:

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  3. Nella pagina successiva, fai clic su Configura un singolo feed.
  4. Nel campo Nome feed, inserisci un nome per il feed, ad esempio Log di Rapid7 InsightIDR.
  5. Seleziona API di terze parti come Tipo di origine.
  6. Seleziona Rapid7 Insight come Tipo di log.
  7. Fai clic su Avanti.
  8. Specifica i valori per i seguenti parametri di input:
    • Intestazione HTTP di autenticazione: token generato in precedenza nel formato X-Api-Key:<value> (ad esempio, X-Api-Key:AAAABBBBCCCC111122223333).
    • Endpoint API: inserisci vulnerabilities o assets.
    • Nome host API: il nome di dominio completo (FQDN) dell'endpoint API Rapid7 nel formato [region].api.insight.rapid7.com.
  9. Fai clic su Avanti.
  10. Controlla la configurazione del feed nella schermata Finalizza e poi fai clic su Invia.

Configurare i feed dall'hub dei contenuti

Specifica i valori per i seguenti campi:

  • Intestazione HTTP di autenticazione: token generato in precedenza nel formato X-Api-Key:<value> (ad esempio, X-Api-Key:AAAABBBBCCCC111122223333).
  • Endpoint API: inserisci vulnerabilities o assets.
  • Nome host API: il nome di dominio completo (FQDN) dell'endpoint API Rapid7 nel formato [region].api.insight.rapid7.com.

Opzioni avanzate

  • Nome feed: un valore precompilato che identifica il feed.
  • Tipo di origine: metodo utilizzato per raccogliere i log in Google SecOps.
  • Spazio dei nomi dell'asset: lo spazio dei nomi associato al feed.
  • Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
added vulnerabilities.first_found Il campo added viene convertito in un timestamp e mappato a vulnerabilities.first_found.
Authentication security_result.detection_fields.value Il valore di Authentication del log non elaborato viene mappato al campo value all'interno di security_result.detection_fields. Il key corrispondente è impostato su "Autenticazione".
critical_vulnerabilities asset.attribute.labels.value Il valore di critical_vulnerabilities viene mappato al campo value all'interno di asset.attribute.labels. Il key corrispondente è impostato su "Vulnerabilità critiche".
cves vulnerabilities.cve_id Il valore di cves è mappato a vulnerabilities.cve_id.
cvss_v2_access_complexity asset.attribute.labels.value Il valore di cvss_v2_access_complexity viene mappato al campo value all'interno di asset.attribute.labels. Il key corrispondente è impostato su "Access Complexity(Ac)".
cvss_v2_availability_impact asset.attribute.labels.value Il valore di cvss_v2_availability_impact viene mappato al campo value all'interno di asset.attribute.labels. Il key corrispondente è impostato su "Impatto sulla disponibilità (A)".
cvss_v2_confidentiality_impact asset.attribute.labels.value Il valore di cvss_v2_confidentiality_impact viene mappato al campo value all'interno di asset.attribute.labels. Il valore key corrispondente è impostato su "Impatto sulla riservatezza (C)".
cvss_v2_integrity_impact asset.attribute.labels.value Il valore di cvss_v2_integrity_impact viene mappato al campo value all'interno di asset.attribute.labels. Il key corrispondente è impostato su "Impatto sull'integrità (I)".
cvss_v2_score vulnerabilities.cvss_base_score Il valore di cvss_v2_score viene convertito in una stringa, poi in un numero in virgola mobile e mappato a vulnerabilities.cvss_base_score.
cvss_v2_vector vulnerabilities.cvss_vector Il valore di cvss_v2_vector è mappato a vulnerabilities.cvss_vector.
cvss_v3_availability_impact asset.attribute.labels.value Il valore di cvss_v3_availability_impact viene mappato al campo value all'interno di asset.attribute.labels. Il key corrispondente è impostato su "Impatto sulla disponibilità (A)".
cvss_v3_score vulnerabilities.cvss_base_score Il valore di cvss_v3_score viene convertito in una stringa, poi in un numero in virgola mobile e mappato a vulnerabilities.cvss_base_score.
cvss_v3_vector vulnerabilities.cvss_vector Il valore di cvss_v3_vector è mappato a vulnerabilities.cvss_vector.
description vulnerabilities.description Il valore di description del log non elaborato viene mappato a vulnerabilities.description.
exploits asset.attribute.labels.value Il valore di exploits viene convertito in una stringa e mappato al campo value all'interno di asset.attribute.labels. Il key corrispondente è "Numero di exploit" o "Classifica dell'exploit" in base alla presenza del campo "rank" all'interno dell'oggetto exploits.
host_name asset.hostname Il valore di host_name è mappato a asset.hostname. Se host_name è vuoto e anche ip e mac sono vuoti, viene utilizzato il valore di id.
id asset.product_object_id Il valore di id è mappato a asset.product_object_id. Se host_name è vuoto e anche ip e mac sono vuoti, viene utilizzato il valore di id per asset.hostname.
ip asset.ip, entity.asset.ip Il valore di ip è mappato sia su asset.ip che su entity.asset.ip.
last_assessed_for_vulnerabilities vulnerabilities.scan_end_time Il campo last_assessed_for_vulnerabilities viene convertito in un timestamp e mappato a vulnerabilities.scan_end_time.
last_scan_end vulnerabilities.last_found Il campo last_scan_end viene convertito in un timestamp e mappato a vulnerabilities.last_found.
last_scan_start vulnerabilities.first_found Il campo last_scan_start viene convertito in un timestamp e mappato a vulnerabilities.first_found.
links vulnerabilities.cve_id, vulnerabilities.vendor_knowledge_base_article_id Il campo id all'interno di links è mappato a vulnerabilities.cve_id e il campo href all'interno di links è mappato a vulnerabilities.vendor_knowledge_base_article_id.
mac asset.mac, entity.asset.mac Il valore di mac viene convertito in minuscolo e mappato sia su asset.mac che su entity.asset.mac.
MessageSourceAddress principal.ip, principal.asset.ip L'indirizzo IP estratto da MessageSourceAddress è mappato a principal.ip e principal.asset.ip.
Method network.http.method Il valore di Method è mappato a network.http.method.
moderate_vulnerabilities asset.attribute.labels.value Il valore di moderate_vulnerabilities viene convertito in una stringa e mappato al campo value all'interno di asset.attribute.labels. Il key corrispondente è impostato su "Vulnerabilità moderate".
os_architecture asset.hardware.cpu_platform Il valore di os_architecture è mappato a asset.hardware.cpu_platform.
os_description asset.platform_software.platform_version Il valore di os_description è mappato a asset.platform_software.platform_version.
os_family asset.platform_software.platform Il valore di os_family viene convertito in maiuscolo e mappato a asset.platform_software.platform. La gestione speciale viene eseguita per "MAC OS X", "IOS", "WINDOWS", "MAC" e "LINUX". Se non corrisponde a nessuna di queste, viene impostato su "UNKNOWN_PLATFORM".
Port principal.port Il valore di Port viene mappato su principal.port e convertito in un numero intero.
Principal principal.user.email_addresses Se Principal è un indirizzo email, viene mappato su principal.user.email_addresses.
product_event_type metadata.product_event_type Il valore di product_event_type è mappato a metadata.product_event_type.
Protocol network.application_protocol Se Protocol è "HTTP" o "HTTPS", viene mappato a network.application_protocol.
published vulnerabilities.last_found Il campo published viene convertito in un timestamp e mappato a vulnerabilities.last_found.
Referer network.http.referral_url Il valore di Referer è mappato a network.http.referral_url.
risk_score asset.attribute.labels.value Il valore di risk_score viene convertito in una stringa e mappato al campo value all'interno di asset.attribute.labels. Il key corrispondente è impostato su "Punteggio di rischio".
security_result_summary security_result.summary Il valore di security_result_summary è mappato a security_result.summary. Se corrisponde al pattern "Total sessions for principal: ", il numero viene estratto e mappato a un'etichetta separata con la chiave "Session Count" (Conteggio sessioni) all'interno di security_result.detection_fields.
Session network.session_id Il valore di Session è mappato a network.session_id.
severe_vulnerabilities asset.attribute.labels.value Il valore di severe_vulnerabilities viene convertito in una stringa e mappato al campo value all'interno di asset.attribute.labels. Il key corrispondente è impostato su "Vulnerabilità gravi".
severity vulnerabilities.severity, security_result.severity Il valore di severity viene convertito in maiuscolo. Se è "HIGH", "LOW", "CRITICAL" o "MEDIUM", viene mappato su vulnerabilities.severity. Per i messaggi syslog, se è "Info", viene mappato su "INFORMATIONAL" in security_result.severity. Se è "Error", viene mappato su "ERROR" in security_result.severity.
severity_score asset.attribute.labels.value Il valore di severity_score viene convertito in una stringa e mappato al campo value all'interno di asset.attribute.labels. Il campo key corrispondente è impostato su "Punteggio di gravità".
SiloID security_result.detection_fields.value Il valore di SiloID viene mappato al campo value all'interno di security_result.detection_fields. Il key corrispondente è impostato su "ID silo".
SourceModuleName target.resource.name Il valore di SourceModuleName senza virgolette è mappato su target.resource.name.
SourceModuleType observer.application Il valore di SourceModuleType con virgolette e parentesi chiuse rimosse viene mappato a observer.application.
Status network.http.response_code Il valore di Status viene mappato su network.http.response_code e convertito in un numero intero.
tags asset.attribute.labels Per ogni elemento dell'array tags, il campo type viene mappato a key e il campo name viene mappato a value all'interno di asset.attribute.labels.
Thread security_result.detection_fields.value Il valore di Thread viene mappato al campo value all'interno di security_result.detection_fields. Il key corrispondente è impostato su "Thread".
timestamp event.timestamp, metadata.collected_timestamp, read_only_udm.metadata.event_timestamp Il campo timestamp viene convertito in un timestamp e mappato a event.timestamp per i log JSON e a metadata.collected_timestamp per gli eventi delle entità. Per i messaggi syslog, viene mappato a read_only_udm.metadata.event_timestamp.
title vulnerabilities.description Il valore di title è mappato a vulnerabilities.description.
total_vulnerabilities asset.attribute.labels.value Il valore di total_vulnerabilities viene convertito in una stringa e mappato al campo value all'interno di asset.attribute.labels. Il key corrispondente è impostato su "Vulnerabilità totali".
URI security_result.detection_fields.value Il valore di URI viene mappato al campo value all'interno di security_result.detection_fields. Il key corrispondente è impostato su "URI".
User-Agent network.http.user_agent, network.http.parsed_user_agent Il valore di User-Agent è mappato a network.http.user_agent. Viene anche mappato a network.http.parsed_user_agent e convertito in un oggetto user agent analizzato. Codificato in modo permanente su "Rapid7 Insight". Codificato in modo permanente su "Rapid7 Insight". Codificato come "ASSET" per i log JSON. Impostato inizialmente su "GENERIC_EVENT", poi potenzialmente modificato in "PROCESS_UNCATEGORIZED", "STATUS_UPDATE" o "USER_LOGIN" in base ad altri campi. Imposta "AUTHTYPE_UNSPECIFIED" per gli eventi "USER_LOGIN". Imposta "ALLOW" (CONSENTI) o "BLOCK" (BLOCCA) in base a product_event_type. Codificato come "RAPID7_INSIGHT" per i messaggi syslog.
username principal.user.user_display_name Il valore di username, con le virgolette rimosse e potenzialmente analizzato per l'indirizzo email, viene mappato a principal.user.user_display_name. L'indirizzo email estratto, se presente, viene mappato a principal.user.email_addresses.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.