Recopila registros de Rapid7 InsightIDR

Compatible con:

Este analizador controla los registros con formato JSON y SYSLOG de Rapid7 InsightIDR. Extrae campos, los normaliza según el UDM y realiza una lógica específica para los datos de vulnerabilidades, incluidos los puntajes de CVSS y la información de exploits, y controla los formatos JSON y syslog por separado. También asigna los intentos de autenticación y los eventos de sesión a los tipos de eventos de UDM adecuados.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Instancia de Google SecOps.
  • Acceso con privilegios a la consola de administración de InsightIDR

Cómo configurar una clave de API en Rapid7 InsightIDR

  1. Accede a la plataforma de comandos de InsightIDR.
  2. Haz clic en Administración.
  3. Haz clic en Claves de API.
  4. Ve a la pestaña Claves de organización.
  5. Haz clic en New Organization Key.
  6. Selecciona una organización y proporciona un nombre para la clave (por ejemplo, Google SecOps).
  7. Genera la clave.
  8. Copia la clave de una ventana nueva que muestre la clave generada.

Configura feeds

Existen dos puntos de entrada diferentes para configurar feeds en la plataforma de Google SecOps:

  • Configuración de SIEM > Feeds
  • Centro de contenido > Paquetes de contenido

Configura feeds en Configuración del SIEM > Feeds

Para configurar un feed, sigue estos pasos:

  1. Ve a Configuración del SIEM > Feeds.
  2. Haz clic en Agregar feed nuevo.
  3. En la siguiente página, haz clic en Configurar un solo feed.
  4. En el campo Nombre del feed, ingresa un nombre para el feed, por ejemplo, Registros de Rapid7 InsightIDR.
  5. Selecciona API de terceros como el Tipo de origen.
  6. Selecciona Rapid7 Insight como el Tipo de registro.
  7. Haz clic en Siguiente.
  8. Especifica valores para los siguientes parámetros de entrada:
    • Encabezado HTTP de autenticación: Es el token generado previamente en formato X-Api-Key:<value> (por ejemplo, X-Api-Key:AAAABBBBCCCC111122223333).
    • API Endpoint: Ingresa vulnerabilities o assets.
    • Nombre de host de la API: Es el FQDN (nombre de dominio completamente calificado) del extremo de API de Rapid7 en el formato [region].api.insight.rapid7.com.
  9. Haz clic en Siguiente.
  10. Revisa la configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.

Configura feeds desde el Centro de contenido

Especifica valores para los siguientes campos:

  • Encabezado HTTP de autenticación: Es el token generado previamente en formato X-Api-Key:<value> (por ejemplo, X-Api-Key:AAAABBBBCCCC111122223333).
  • API Endpoint: Ingresa vulnerabilities o assets.
  • Nombre de host de la API: Es el FQDN (nombre de dominio completamente calificado) del extremo de API de Rapid7 en el formato [region].api.insight.rapid7.com.

Opciones avanzadas

  • Nombre del feed: Es un valor completado previamente que identifica el feed.
  • Tipo de fuente: Es el método que se usa para recopilar registros en Google SecOps.
  • Espacio de nombres del activo: Es el espacio de nombres asociado con el feed.
  • Etiquetas de transferencia: Son las etiquetas que se aplican a todos los eventos de este feed.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
added vulnerabilities.first_found El campo added se convierte en una marca de tiempo y se asigna a vulnerabilities.first_found.
Authentication security_result.detection_fields.value El valor de Authentication del registro sin procesar se asigna al campo value dentro de security_result.detection_fields. El key correspondiente se establece en "Authentication".
critical_vulnerabilities asset.attribute.labels.value El valor de critical_vulnerabilities se asigna al campo value dentro de asset.attribute.labels. El key correspondiente se establece en "Vulnerabilidades críticas".
cves vulnerabilities.cve_id El valor de cves se asigna a vulnerabilities.cve_id.
cvss_v2_access_complexity asset.attribute.labels.value El valor de cvss_v2_access_complexity se asigna al campo value dentro de asset.attribute.labels. El key correspondiente se establece en "Complejidad de acceso(Ac)".
cvss_v2_availability_impact asset.attribute.labels.value El valor de cvss_v2_availability_impact se asigna al campo value dentro de asset.attribute.labels. El key correspondiente se establece en "Availability Impact (A)".
cvss_v2_confidentiality_impact asset.attribute.labels.value El valor de cvss_v2_confidentiality_impact se asigna al campo value dentro de asset.attribute.labels. El key correspondiente se establece en "Impacto en la confidencialidad (C)".
cvss_v2_integrity_impact asset.attribute.labels.value El valor de cvss_v2_integrity_impact se asigna al campo value dentro de asset.attribute.labels. El key correspondiente se establece en "Impacto en la integridad (I)".
cvss_v2_score vulnerabilities.cvss_base_score El valor de cvss_v2_score se convierte en una cadena, luego en un número de punto flotante y, por último, se asigna a vulnerabilities.cvss_base_score.
cvss_v2_vector vulnerabilities.cvss_vector El valor de cvss_v2_vector se asigna a vulnerabilities.cvss_vector.
cvss_v3_availability_impact asset.attribute.labels.value El valor de cvss_v3_availability_impact se asigna al campo value dentro de asset.attribute.labels. El key correspondiente se establece en "Availability Impact (A)".
cvss_v3_score vulnerabilities.cvss_base_score El valor de cvss_v3_score se convierte en una cadena, luego en un número de punto flotante y, por último, se asigna a vulnerabilities.cvss_base_score.
cvss_v3_vector vulnerabilities.cvss_vector El valor de cvss_v3_vector se asigna a vulnerabilities.cvss_vector.
description vulnerabilities.description El valor de description del registro sin procesar se asigna a vulnerabilities.description.
exploits asset.attribute.labels.value El valor de exploits se convierte en una cadena y se asigna al campo value dentro de asset.attribute.labels. El key correspondiente es "Cantidad de exploits" o "Clasificación del exploit" según la presencia del campo "rank" dentro del objeto exploits.
host_name asset.hostname El valor de host_name se asigna a asset.hostname. Si host_name está vacío y ip y mac también lo están, se usa el valor de id.
id asset.product_object_id El valor de id se asigna a asset.product_object_id. Si host_name está vacío y ip y mac también lo están, se usa el valor de id para asset.hostname.
ip asset.ip, entity.asset.ip El valor de ip se asigna a asset.ip y entity.asset.ip.
last_assessed_for_vulnerabilities vulnerabilities.scan_end_time El campo last_assessed_for_vulnerabilities se convierte en una marca de tiempo y se asigna a vulnerabilities.scan_end_time.
last_scan_end vulnerabilities.last_found El campo last_scan_end se convierte en una marca de tiempo y se asigna a vulnerabilities.last_found.
last_scan_start vulnerabilities.first_found El campo last_scan_start se convierte en una marca de tiempo y se asigna a vulnerabilities.first_found.
links vulnerabilities.cve_id, vulnerabilities.vendor_knowledge_base_article_id El campo id dentro de links se asigna a vulnerabilities.cve_id, y el campo href dentro de links se asigna a vulnerabilities.vendor_knowledge_base_article_id.
mac asset.mac, entity.asset.mac El valor de mac se convierte en minúsculas y se asigna a asset.mac y entity.asset.mac.
MessageSourceAddress principal.ip, principal.asset.ip La dirección IP extraída de MessageSourceAddress se asigna a principal.ip y principal.asset.ip.
Method network.http.method El valor de Method se asigna a network.http.method.
moderate_vulnerabilities asset.attribute.labels.value El valor de moderate_vulnerabilities se convierte en una cadena y se asigna al campo value dentro de asset.attribute.labels. El key correspondiente se establece en "Vulnerabilidades moderadas".
os_architecture asset.hardware.cpu_platform El valor de os_architecture se asigna a asset.hardware.cpu_platform.
os_description asset.platform_software.platform_version El valor de os_description se asigna a asset.platform_software.platform_version.
os_family asset.platform_software.platform El valor de os_family se convierte a mayúsculas y se asigna a asset.platform_software.platform. Se realiza un tratamiento especial para "MAC OS X", "IOS", "WINDOWS", "MAC" y "LINUX". Si no coincide con ninguna de estas, se establece como "UNKNOWN_PLATFORM".
Port principal.port El valor de Port se asigna a principal.port y se convierte en un número entero.
Principal principal.user.email_addresses Si Principal es una dirección de correo electrónico, se asigna a principal.user.email_addresses.
product_event_type metadata.product_event_type El valor de product_event_type se asigna a metadata.product_event_type.
Protocol network.application_protocol Si Protocol es "HTTP" o "HTTPS", se asigna a network.application_protocol.
published vulnerabilities.last_found El campo published se convierte en una marca de tiempo y se asigna a vulnerabilities.last_found.
Referer network.http.referral_url El valor de Referer se asigna a network.http.referral_url.
risk_score asset.attribute.labels.value El valor de risk_score se convierte en una cadena y se asigna al campo value dentro de asset.attribute.labels. El key correspondiente se establece en "Puntuación de riesgo".
security_result_summary security_result.summary El valor de security_result_summary se asigna a security_result.summary. Si coincide con el patrón "Sesiones totales para el principal: ", se extrae el número y se asigna a una etiqueta separada con la clave "Recuento de sesiones" dentro de security_result.detection_fields.
Session network.session_id El valor de Session se asigna a network.session_id.
severe_vulnerabilities asset.attribute.labels.value El valor de severe_vulnerabilities se convierte en una cadena y se asigna al campo value dentro de asset.attribute.labels. El key correspondiente se establece en "Vulnerabilidades graves".
severity vulnerabilities.severity, security_result.severity El valor de severity se convierte en mayúsculas. Si es "ALTA", "BAJA", "CRÍTICA" o "MEDIA", se asigna a vulnerabilities.severity. En el caso de los mensajes syslog, si es "Info", se asigna a "INFORMATIONAL" en security_result.severity. Si es "Error", se asigna a "ERROR" en security_result.severity.
severity_score asset.attribute.labels.value El valor de severity_score se convierte en una cadena y se asigna al campo value dentro de asset.attribute.labels. El key correspondiente se establece en "Puntuación de gravedad".
SiloID security_result.detection_fields.value El valor de SiloID se asigna al campo value dentro de security_result.detection_fields. El key correspondiente se establece como "ID de silo".
SourceModuleName target.resource.name El valor de SourceModuleName sin comillas se asigna a target.resource.name.
SourceModuleType observer.application El valor de SourceModuleType sin comillas ni corchetes de cierre se asigna a observer.application.
Status network.http.response_code El valor de Status se asigna a network.http.response_code y se convierte en un número entero.
tags asset.attribute.labels Para cada elemento del array tags, el campo type se asigna a key y el campo name se asigna a value dentro de asset.attribute.labels.
Thread security_result.detection_fields.value El valor de Thread se asigna al campo value dentro de security_result.detection_fields. El key correspondiente se establece en "Thread".
timestamp event.timestamp, metadata.collected_timestamp, read_only_udm.metadata.event_timestamp El campo timestamp se convierte en una marca de tiempo y se asigna a event.timestamp para los registros JSON y a metadata.collected_timestamp para los eventos de entidades. En el caso de los mensajes de syslog, se asigna a read_only_udm.metadata.event_timestamp.
title vulnerabilities.description El valor de title se asigna a vulnerabilities.description.
total_vulnerabilities asset.attribute.labels.value El valor de total_vulnerabilities se convierte en una cadena y se asigna al campo value dentro de asset.attribute.labels. El key correspondiente se establece en "Vulnerabilidades totales".
URI security_result.detection_fields.value El valor de URI se asigna al campo value dentro de security_result.detection_fields. El key correspondiente se establece en "URI".
User-Agent network.http.user_agent, network.http.parsed_user_agent El valor de User-Agent se asigna a network.http.user_agent. También se asigna a network.http.parsed_user_agent y se convierte en un objeto de usuario-agente analizado. Se codificó como "Rapid7 Insight". Se codificó como "Rapid7 Insight". Se codifica como "ASSET" para los registros JSON. Inicialmente, se establece en "GENERIC_EVENT" y, luego, se puede cambiar a "PROCESS_UNCATEGORIZED", "STATUS_UPDATE" o "USER_LOGIN" según otros campos. Se establece en "AUTHTYPE_UNSPECIFIED" para los eventos de "USER_LOGIN". Se establece en "ALLOW" o "BLOCK" según product_event_type. Se codifica como "RAPID7_INSIGHT" para los mensajes de syslog.
username principal.user.user_display_name El valor de username, con las comillas quitadas y, posiblemente, analizado para la dirección de correo electrónico, se asigna a principal.user.user_display_name. La dirección de correo electrónico extraída, si está presente, se asigna a principal.user.email_addresses.

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.