Raccogli 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 all'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 avere un'istanza Google SecOps.
  • Assicurati di disporre dell'accesso privilegiato alla console di gestione di 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.

Configura un feed in Google SecOps per importare i log di Rapid7 InsightIDR

  1. Fai clic su Aggiungi nuova.
  2. Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log InsightIDR).
  3. Seleziona API di terze parti come Tipo di origine.
  4. Seleziona Rapid7 Insight come Tipo di log.
  5. Fai clic su Avanti.
  6. Specifica i valori per i seguenti parametri di input:
    • Intestazione HTTP di autenticazione: token generato in precedenza in formato X-Api-Key:<value> (ad esempio X-Api-Key:AAAABBBBCCCC111122223333).
    • Endpoint API: inserisci vulnerabilities o assets.
    • Nome host dell'API: il FQDN (nome di dominio completo) dell'endpoint dell'API Rapid7 nel formato [region].api.insight.rapid7.com.
    • Spazio dei nomi degli asset: lo spazio dei nomi degli asset.
    • Etichette di importazione: l'etichetta applicata agli eventi di questo feed.
  7. Fai clic su Avanti.
  8. Controlla la configurazione del feed nella schermata Concludi e poi fai clic su Invia.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
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 Authentication del log non elaborato viene mappato al campo value in security_result.detection_fields. Il valore key corrispondente è impostato su "Autenticazione".
critical_vulnerabilities asset.attribute.labels.value Il valore di critical_vulnerabilities è mappato al campo value all'interno di asset.attribute.labels. Il valore 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 è mappato al campo value all'interno di asset.attribute.labels. Il valore key corrispondente è impostato su "Access Complexity(Ac)".
cvss_v2_availability_impact asset.attribute.labels.value Il valore di cvss_v2_availability_impact è mappato al campo value all'interno di asset.attribute.labels. Il valore key corrispondente è impostato su "Impatto sulla disponibilità (A)".
cvss_v2_confidentiality_impact asset.attribute.labels.value Il valore di cvss_v2_confidentiality_impact è 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 è mappato al campo value all'interno di asset.attribute.labels. Il valore 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 valore a 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 è mappato al campo value all'interno di asset.attribute.labels. Il valore 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 valore a 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 description del log non elaborato è mappato a vulnerabilities.description.
exploits asset.attribute.labels.value Il valore di exploits viene convertito in una stringa e mappato al campo value in asset.attribute.labels. Il valore key corrispondente è "Numero di exploit" o "Rank 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, per asset.hostname viene utilizzato il valore di id.
ip asset.ip, entity.asset.ip Il valore di ip è mappato sia a asset.ip che a 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 a asset.mac che a 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 in asset.attribute.labels. Il valore 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 a principal.port e convertito in un numero intero.
Principal principal.user.email_addresses Se Principal è un indirizzo email, viene mappato a 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 in asset.attribute.labels. Il valore key corrispondente è impostato su "Punteggio rischio".
security_result_summary security_result.summary Il valore di security_result_summary è mappato a security_result.summary. Se corrisponde allo schema "Sessioni totali per amministratore: ", il numero viene estratto e mappato a un'etichetta separata con la chiave "Conteggio sessioni" in 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 in asset.attribute.labels. Il valore key corrispondente è impostato su "Vulnerabilità gravi".
severity vulnerabilities.severity, security_result.severity Il valore di severity viene convertito in lettere maiuscole. Se è "HIGH", "LOW", "CRITICAL" o "MEDIUM", viene mappato a vulnerabilities.severity. Per i messaggi syslog, se il valore è "Info", viene mappato a "INFORMATIONAL" in security_result.severity. Se è "Error", viene mappato a "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 in asset.attribute.labels. Il valore key corrispondente è impostato su "Punteggio di gravità".
SiloID security_result.detection_fields.value Il valore di SiloID è mappato al campo value all'interno di security_result.detection_fields. Il valore key corrispondente è impostato su "ID silo".
SourceModuleName target.resource.name Il valore di SourceModuleName con le virgolette rimosse è mappato a target.resource.name.
SourceModuleType observer.application Il valore di SourceModuleType con le virgolette e le parentesi graffe finali rimosse è mappato a observer.application.
Status network.http.response_code Il valore di Status viene mappato a network.http.response_code e convertito in un numero intero.
tags asset.attribute.labels Per ogni elemento nell'array tags, il campo type viene mappato a key e il campo name a value in asset.attribute.labels.
Thread security_result.detection_fields.value Il valore di Thread è mappato al campo value all'interno di security_result.detection_fields. Il valore 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, è 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 in asset.attribute.labels. Il valore key corrispondente è impostato su "Vulnerabilità totali".
URI security_result.detection_fields.value Il valore di URI è mappato al campo value all'interno di security_result.detection_fields. Il valore 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. Hardcoded a "Rapid7 Insight". Hardcoded a "Rapid7 Insight". Hardcoded su "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. Impostato su "AUTHTYPE_UNSPECIFIED" per gli eventi "USER_LOGIN". Imposta su "ALLOW" o "BLOCK" in base a product_event_type. Hardcoded su "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.

Modifiche

2024-05-13

  • È stato aggiunto il supporto per il nuovo formato dei log SYSLOG+KV.

2023-05-05

  • Miglioramento
  • "tags.type" è stato mappato a "asset.attribute.labels.key".
  • "tags.name" è stato mappato a "asset.attribute.labels.value".

2022-12-15

  • Miglioramento
  • È stato migliorato il parser per analizzare i log delle applicazioni in formato Syslog.
  • Sono stati aggiunti pattern Grok per i log di tipo "Sessione creata", "Sessione distrutta", "Tentativo di autenticazione riuscito" e "Tentativo di autenticazione non riuscito".