Integra ArcSight con Google SecOps

En este documento, se describe cómo integrar ArcSight con Google Security Operations (Google SecOps).

Versión de integración: 42.0

Requisitos previos del conector de eventos de seguridad

Este conector funciona con los informes que se generan automáticamente en ArcSight. El conector descarga el informe generado, extrae los IDs de eventos y, luego, usa la API de ArcSight para obtener más detalles sobre los eventos.

Configura el conector de eventos de seguridad

  1. Accede a la consola de ArcSight.

  2. Navega a la pestaña Informes y ve a la sección Consulta.

  3. Para crear una consulta nueva, ingresa el siguiente nombre de consulta: Google SecOps SOAR Security Events Connector Query.

    Presta atención a los parámetros Hora de inicio y Hora de finalización. Se recomienda consultar los datos en intervalos de una hora, pero puedes aumentar el intervalo si es necesario.

    Configuración de ejemplo:

    • Nombre: Consulta del conector de eventos de seguridad de Google SecOps SOAR
    • Búsqueda en: Evento
    • Hora de inicio: $Now - 1h
    • Hora de finalización: $Now
    • Usar como marca de tiempo: Hora de finalización
    • Límite de filas: 5,000
  4. Define los campos para la consulta. En cuanto a los campos, debes tener lo siguiente:

    • ID del evento
    • Nombre
    • Hora de inicio
    • Hora de finalización
    • Prioridad

    Asegúrate de tener End Time ASC en la columna Order By.

  5. Establece Condiciones. Aquí puedes proporcionar tu propio filtro.

  6. Guarda la consulta.

  7. Ve a la sección Informes y crea un informe nuevo. Para especificar el informe, ingresa el siguiente nombre: Google SecOps SOAR Security Events Connector Report. Usa el mismo nombre para el parámetro Nombre del informe de la configuración del conector.

  8. En la pestaña Datos, selecciona la consulta que se creó en los pasos anteriores como Fuente de datos.

  9. En la pestaña Parameters, cambia el Report Format a csv para cumplir con los requisitos del conector.

  10. Guarda el informe.

  11. Proporciona el nombre del informe en la configuración del conector del parámetro Report Name.

  12. Realiza una prueba para asegurarte de que el conector funcione según lo esperado.

Configura la carpeta compartida de Google SecOps para ArcSight

Servidor de Google SecOps

  1. Busca UID y GID en el archivo /etc/passwd:

    cat /etc/passwd | grep scripting

    El resultado de ejemplo del comando es el siguiente:

    scripting:x:1001:1001:/home/scripting:/bin/bash

    UID es el tercer campo y GID es el cuarto en el resultado del comando.

  2. Crea la secuencia de comandos:

    1. Crea un archivo y llámalo configure_smp_nfs.sh.

    2. Copia el siguiente contenido en ese archivo.

      #!/bin/bash
      
      #Declare the variables:
      uid=SCRIPTING_USER_UID
      gid=SCRIPTING_USER_GID
      arcsight_ip=ARCSIGHT_IP
      
      #Install nfs-utils
      yum install nfs-utils -y
      #Create the directory that will be shared
      mkdir /opt/Correlations
      #Change the permissions
      chmod -R 755 /opt/Correlations/
      chown -R scripting:scripting /opt/Correlations/
      #Start the services and enable them to be started at boot time
      systemctl enable rpcbind
      systemctl enable nfs-server
      systemctl enable nfs-lock
      systemctl enable nfs-idmap
      systemctl start rpcbind
      systemctl start nfs-server
      systemctl start nfs-lock
      systemctl start nfs-idmap
      
      #Edit the exports file as follows
      echo "/opt/Correlations/ $arcsight_ip(rw,sync,all_squash,anonuid=$uid,anongid=$gid)">>/etc/exports
      #Restart the NFS service and export the path
      systemctl restart nfs-server
      exportfs -a
      #If FirewallD is running add the next rules:
      firewall-cmd --permanent --zone=public --add-service=nfs
      firewall-cmd --permanent --zone=public --add-service=mountd
      firewall-cmd --permanent --zone=public --add-service=rpc-bind
      firewall-cmd --reload
      setsebool -P nfs_export_all_rw 1
      
    3. Declara las variables uid, gid y arcisght_ip según tu entorno.

    4. Otorga los permisos:

      chmod +x configure_smp_nfs.sh

    5. Ejecuta la secuencia de comandos:

      ./configure_smp_nfs.sh

Servidor de ArcSight

  1. Crea la secuencia de comandos:

    1. Crea un archivo y llámalo configure_smp_nfs.sh.

    2. Copia el siguiente contenido en ese archivo.

      #!/bin/bash
      #Declare the variables:
      siemplify_ip=SIEMPLIFY_IP
      
      #Install nfs-utils
      yum install nfs-utils -y
      #Start the services and enable them to be started at boot time
      systemctl enable rpcbind
      systemctl enable nfs-server
      systemctl enable nfs-lock
      systemctl enable nfs-idmap
      systemctl start rpcbind
      systemctl start nfs-server
      systemctl start nfs-lock
      systemctl start nfs-idmap
      #If FirewallD is running add the next rules:
      firewall-cmd --permanent --zone=public --add-service=nfs
      firewall-cmd --permanent --zone=public --add-service=mountd
      firewall-cmd --permanent --zone=public --add-service=rpc-bind
      firewall-cmd --reload
      #Create the NFS directory mount point
      mkdir -p /mnt/nfs/var/SiemShare
      #Add the values:
      echo "$siemplify_ip:/opt/Correlations /mnt/nfs/var/SiemShare nfs defaults 0 0">>/etc/fstab
      mount -a
      
    3. Declara la variable siemplify_ip según tu entorno.

Nota para los clientes que usan la ruta anterior

El instalador del parche rápido reemplaza el permiso de la carpeta /opt/siemplify/Correlations por siemplifyadmin.

Si usas la ruta de acceso anterior y aplicas la actualización, debes volver a cambiar el permiso al usuario de secuencias de comandos con los siguientes pasos:

  1. Antes de comenzar la actualización, detén el servicio del servidor NFS:

    _systemctl stop nfs-server_

  2. Una vez que se complete la actualización, cambia los permisos de la carpeta:

    _chmod -R 755 /opt/siemplify/Correlations/_

    _chown -R scripting:scripting/opt/siemplify/Correlations/_

    _systemctl start nfs-server_

    _exportfs -a_

  3. Para confirmar que el servidor NFS funciona correctamente después de los cambios, verifica su estado:

    _systemctl status nfs-server_

Crea y configura un usuario para el acceso a la API

  1. Accede a la consola de ArcSight.

  2. Crea un grupo de usuarios Google_SecOps_API y agrégale un usuario Google_SecOps_API. Google SecOps usará este usuario a través de la API de ArcSight ESM.

    1. Ve a la pestaña Attributes y establece el atributo User Type en Normal User.

    2. En la pestaña Resources, haz clic con el botón derecho en el grupo de usuarios creado.

    3. En el menú, elige Edit Access Control.

    4. En la ventana Inspect/Edit del editor de LCA, haz lo siguiente:

      1. En la pestaña Eventos, agrega el filtro que creaste antes, Google_SecOps_Correlations_Filter. También puedes agregar cualquier filtro de fuente para otorgar acceso a Google SecOps.

      2. Usa la configuración predeterminada para las demás pestañas.

      3. Haz clic en Agregar, selecciona ArcSight System > Core y marca la casilla de verificación Todos los eventos.

        Es importante verificar que la casilla de verificación Todos los eventos esté seleccionada. El requisito mínimo es incluir todos los eventos de correlación que se transferirán a Google SecOps.

Google Security Operations usa los siguientes métodos principales cuando se usa la API de ArcSight ESM:

  • Servicio Principal: Login, GetSession

  • Servicio de administrador: GetSecurityEvents

Acceso a la red con ArcSight ESM

Para acceder desde Google SecOps a ArcSight ESM, permite el tráfico a través de los puertos 443 (HTTPS) y 8443 (API a través de SSL), o según se haya configurado en tu entorno.

Para acceder desde ArcSight ESM a Google SecOps, permite el tráfico a través de los puertos 445 y 139 (SMB/SAMBA/CIFS), o según se haya configurado en tu entorno.

Función Puertos Dirección Protocolo
NFS 111, 1039, 1047, 1048 y 2049 Entrantes y salientes UDP
NFS 111, 1039, 1047, 1048 y 2049 Saliente y entrante TCP

Parámetros de integración

Si quieres obtener instrucciones detalladas para configurar una integración en Google SecOps, consulta Configura integraciones.

Usa los siguientes parámetros para configurar la integración:

Nombre del parámetro Tipo Valor predeterminado Es obligatorio. Descripción
Nombre de la instancia String N/A No Nombre de la instancia para la que deseas configurar la integración.
Descripción String N/A No Es la descripción de la instancia.
Raíz de la API String https://{IP}:{PORT} Dirección del servidor de la instancia de ArcSight.
Nombre de usuario String N/A Nombre de usuario de la cuenta de ArcSight.
Contraseña Contraseña N/A Contraseña de la cuenta de ArcSight.
Ejecutar de forma remota Casilla de verificación Desmarcado No Marca la casilla para ejecutar la integración configurada de forma remota. Una vez que se marca, aparece la opción para seleccionar al usuario remoto (agente).

Acciones

Cómo agregar entradas a la lista activa

Descripción

Proporciona un mecanismo para obtener información de las tendencias fuera de los informes y además de ellos. Las listas activas actualizadas por tendencias admiten vistas de resumen de la información de varias tendencias.

Parámetros

Nombre del parámetro Tipo Valor predeterminado Es obligatorio. Descripción
Columnas String N/A Ejemplo: Mensaje;Nombre de usuario
Entradas String N/A Ejemplo: test1|Me1;Test|Me2
UUID de la lista activa String N/A Ejemplo: HCN75QGABABCZXCOdT9P51w==

Fecha de ejecución

Esta acción se ejecuta en todas las entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor Ejemplo
is_succeed Verdadero o falso is_succeed:False

Cambiar etapa del caso

Descripción

Cambiar la etapa de un caso Las etapas válidas son INITIAL, QUEUED, CLOSED, FINAL y FOLLOW_UP.

Parámetros

Nombre del parámetro Tipo Valor predeterminado Es obligatorio. Descripción
Nombre del caso String N/A Es el nombre del caso que se actualizará.
Etapa String N/A Es la etapa del caso. Ejemplo: CLOSED, INITIAL

Fecha de ejecución

Esta acción se ejecuta en todas las entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor Ejemplo
correcto Verdadero o falso success:False

Obtén entradas de la lista activa

Descripción

Recupera las entradas de la lista activa de ArcSight y devuelve la salida en formato CSV.

Parámetros

Nombre del parámetro Tipo Valor predeterminado Es obligatorio. Descripción
UUID de la lista activa String N/A Ejemplo: HTcILQWABABCr553ieI0Xmw==

Fecha de ejecución

Esta acción se ejecuta en todas las entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor Ejemplo
Success_Indicator N/A N/A
Resultado de JSON
[
"12346e4d96f0a72c42015d69aaf0e8ab ,
 file.txt",
 "0e0776034e5e096704cd28cbd40cdbb5 ,
 Test.config"
]

Obtén los resultados de la búsqueda

Descripción

Obtiene los resultados de la consulta por ID de consulta. Una consulta se puede usar como la fuente de datos principal de un informe o como una tendencia (basada en una consulta) que se puede usar como fuente de datos para otra consulta que refina aún más el resultado de la consulta inicial.

Parámetros

Nombre del parámetro Tipo Valor predeterminado Es obligatorio. Descripción
ID de la consulta String N/A Es el ID de la búsqueda.
Cantidad máxima de elementos que se devolverán Número entero 100 No Especifica cuántos elementos se deben devolver en la respuesta.

Casos de uso

Se agregó una limitación para la cantidad de resultados que se muestran.

Fecha de ejecución

Esta acción se ejecuta en todas las entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor Ejemplo
correcto Verdadero o falso success:False
Resultado de JSON
[
    {
        "Target User Name": "user",
        "Attacker Address": "192.0.2.1",
        "External ID": "127",
        "Name": "A Kerberos authentication ticket (TGT) was requested.",
        "Target Address": "192.0.2.1"
    },{
        "Target User Name": "user",
        "Attacker Address": "192.0.2.1",
        "External ID": "127",
        "Name": "A Kerberos authentication ticket (TGT) was requested.",
        "Target Address": "192.0.2.1"
    }
]

Obtener informes

Descripción

Obtener un informe con campos dinámicos Un informe es un recurso de ArcSight que vincula datos de una consulta o tendencia a una plantilla de informe existente. Una vez que se ejecuta, los resultados de un informe se pueden ver en el panel del visor de las consolas de ArcSight, guardar (archivar) o exportar en una variedad de formatos. Los informes se pueden programar para que se ejecuten a intervalos regulares y se pueden ejecutar según demanda cuando sea necesario.

Parámetros

Nombre del parámetro Tipo Valor predeterminado Es obligatorio. Descripción
Ruta completa del informe (URI) String N/A Es el URI del informe pertinente.
Campo 2 String N/A No Son los campos dinámicos de la consulta para generar el informe.
Campo 3 String N/A No Son los campos dinámicos de la consulta para generar el informe.
Campo 4 String N/A No Son los campos dinámicos de la consulta para generar el informe.
Campo 6 String N/A No Son los campos dinámicos de la consulta para generar el informe.
Campo 6 String N/A No Son los campos dinámicos de la consulta para generar el informe.
Campo 7 String N/A No Son los campos dinámicos de la consulta para generar el informe.
Campo 8 String N/A No Son los campos dinámicos de la consulta para generar el informe.
Campo 9 String N/A No Son los campos dinámicos de la consulta para generar el informe.
Campo 10 String N/A No Son los campos dinámicos de la consulta para generar el informe.

Fecha de ejecución

Esta acción se ejecuta en todas las entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor Ejemplo
json_report N/A N/A

¿El valor está en la columna de la lista activa?

Descripción

Comprueba si un valor específico está en la lista activa .

Parámetros

Nombre del parámetro Tipo Valor predeterminado Es obligatorio. Descripción
UUID de la lista activa String N/A Es el UUID de la lista activa. Ejemplo: cuser.
Nombre de la columna String N/A Es el nombre de la columna Ejemplo: sourceUserName.

Fecha de ejecución

Esta acción se ejecuta en todas las entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor Ejemplo
Success_Indicator N/A N/A

Ping

Descripción

Prueba la conectividad.

Parámetros

Fecha de ejecución

Esta acción se ejecuta en todas las entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor Ejemplo
is_succeed Verdadero o falso is_succeed:False

Descripción

Puedes iniciar una búsqueda en el Centro de comandos de ArcSight desde el canal de eventos de la consola. La Búsqueda de eventos completada busca el atributo asociado, que se almacena en varios campos (por ejemplo, abc). La búsqueda de eventos busca un valor (por ejemplo, abc) almacenado en el campo especificado (por ejemplo, en el campo de solo nombre).

Parámetros

Nombre del parámetro Tipo Valor predeterminado Es obligatorio. Descripción
Búsqueda String N/A Es la búsqueda.
Cantidad máxima de elementos que se devolverán Número entero 100 No Especifica cuántos elementos se deben devolver en la respuesta.

Casos de uso

Se agregó una limitación para la cantidad de resultados que se muestran.

Fecha de ejecución

Esta acción se ejecuta en todas las entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor Ejemplo
correcto Verdadero o falso success:False
Resultado de JSON
[
    {
        "score": 1.2440307,
        "uuid": "UUID",
        "uri": "/All_Fields/ArcSight_Foundation/Variables_Library/IPv6/Attacker_IPv6_Address",
        "name": "Attacker IPv6 Address"
    }, {
        "score": 1.2440307,
        "uuid": "UUID",
        "uri": "/All_Fields/ArcSight_Foundation/Variables_Library/IPv6/Attacker_IPv6_Address",
        "name": "Attacker IPv6 Address"
    }
]

Conectores

Si quieres obtener instrucciones detalladas para configurar un conector en Google SecOps, consulta Cómo configurar el conector.

Conector de ArcSight ESM

En esta guía, se hace referencia a las versiones 6.9.1 y posteriores de ArcSight ESM.

Reenvío de reglas o casos del ESM a Google SecOps

Trabaja con correlaciones o reglas activadas

Deberás configurar ArcSight ESM para que reenvíe los objetos de correlación más recientes a Google SecOps mientras configuras Google SecOps para que funcione en ArcSight ESM como proveedor de SIEM y también para proporcionar acceso a la API de ArcSight ESM a través de un usuario autorizado.

Esta función permite que Google SecOps recupere cualquier regla activada en ArcSight ESM casi en tiempo real y las reenvíe para que se traduzcan y contextualicen como alertas para los casos.

Flujo de datos entre Google SecOps y ArcSight ESM

Google SecOps indexa y contextualiza automáticamente las correlaciones que se reenviaron a Google SecOps y se activaron en ArcSight ESM a través del módulo ArcSight Forwarding Connector y el acceso a la API.

Priorización de la gravedad del conector

El conector asigna la gravedad con los siguientes valores de prioridad:

  • 1 y 2: Muy baja
  • 3 y 4: Baja
  • 5 y 6: Mediana
  • 7 y 8: Alta
  • 9 y 10: Críticos

Entradas del conector

Usa los siguientes parámetros para configurar el conector:

Nombre del parámetro Tipo Valor predeterminado Es obligatorio. Descripción
Entorno DDL N/A

Selecciona el entorno requerido, por ejemplo, Cliente uno.

Si el campo Environment de la alerta está vacío, esta alerta se inyectará en este entorno.

Ejecutar cada Número entero 0:0:0:10 No Selecciona la hora en la que se ejecutará la conexión.
Nombre del campo del producto String device_product No

Es el nombre del campo en el que se almacena el nombre del producto.

El valor predeterminado es device_product.

El nombre del producto afecta principalmente la asignación. Para optimizar y mejorar el proceso de asignación del conector, el valor predeterminado device_product se resuelve en un valor de resguardo al que se hace referencia desde el código. De forma predeterminada, cualquier entrada no válida para este parámetro se resuelve en un valor de resguardo.

Nombre del campo del evento String nombre No Es el nombre del campo que se usa para determinar el nombre del evento (subtipo).
Tiempo de espera de la secuencia de comandos (segundos) String 500 No Es el límite de tiempo de espera (en segundos) para el proceso de Python que ejecuta la secuencia de comandos actual.
Dirección del servidor String N/A https://{IP}:{PORT}
Nombre de usuario String N/A Nombre de usuario de la cuenta de ArcSight.
Contraseña Contraseña N/A Contraseña de la cuenta de ArcSight.
Límite de recuento de eventos Número entero 15 Ingresa la cantidad máxima de eventos que se recuperarán por correlación. Limita la cantidad de eventos, por ejemplo, a 10.
Ruta de acceso a la carpeta de casos String I:\SiemShare\CorrelationSource

Ubicación de los archivos del caso, como I:\SiemShare\CorrelationSource

Nota: El parámetro Cases Folder Path se puede cambiar de un cliente a otro.

Es la ruta de acceso completa. Ejemplo: C:\Desktop\CorrelationSource

Límite de recuento de alertas Número entero 10 Es la cantidad máxima de alertas que se procesarán por ciclo del conector, por ejemplo, 10.
Nombre del campo del entorno String event.customerURI Nombre del campo para obtener el entorno del caso, por ejemplo, event.customerUri.
Campo de producto del dispositivo secundario String N/A No Reemplaza el campo del producto original (del DeviceProductField del conector con el valor del campo del producto secundario). Ejemplo: CustomDeviceString2
Nombres de los campos personalizados de la alerta String N/A No Extrae los valores de los campos personalizados de ArcSight en la alerta, como baseEventCount, agent_address y device_assetId.
Días de retención de archivos completados Número entero 3 Cantidad de días que se debe conservar cada archivo CSV de DONE.
Días de retención de archivos de error Número entero 14 Cantidad de días que se debe conservar cada archivo CSV de ERROR.
Dirección del servidor proxy String N/A No Es la dirección del servidor proxy que se usará.
Nombre de usuario del proxy String N/A No Nombre de usuario del proxy con el que se realizará la autenticación.
Contraseña de proxy Contraseña N/A No Contraseña del proxy para la autenticación.

Reglas del conector

El conector admite proxies.

ArcSight: conector de eventos de seguridad

Extrae correlaciones de ArcSight. Este conector es adecuado para la implementación de SaaS de Google SecOps y es el que se recomienda para el uso en producción.

Este conector requiere que se completen los pasos previos.

Entradas del conector

Usa los siguientes parámetros para configurar el conector:

Nombre visible del parámetro Tipo Valor predeterminado Es obligatorio Descripción
Nombre del campo del producto String tipo

Es el nombre del campo en el que se almacena el nombre del producto.

El valor predeterminado es type.

El nombre del producto afecta principalmente la asignación. Para optimizar y mejorar el proceso de asignación del conector, el valor predeterminado type se resuelve en un valor de resguardo al que se hace referencia desde el código. De forma predeterminada, cualquier entrada no válida para este parámetro se resuelve en un valor de resguardo.

Nombre del campo del evento String nombre

Es el nombre del campo que determina el nombre del evento (subtipo).

Nombre del campo del entorno String "" No

Nombre del campo en el que se almacena el nombre del entorno.

Si falta el campo environment, el conector usa el valor predeterminado.

Environment Regex Pattern String .* FALSO No

Es un patrón de expresión regular que se ejecutará en el valor que se encuentra en el campo Environment Field Name. Este parámetro te permite manipular el campo del entorno con la lógica de expresiones regulares.

Usa el valor predeterminado .* para recuperar el valor Environment Field Name sin procesar requerido.

Si el patrón de expresión regular es nulo o está vacío, o si el valor del entorno es nulo, el resultado final del entorno es el entorno predeterminado.

Tiempo de espera de la secuencia de comandos (segundos) Número entero 360

Es el límite de tiempo de espera, en segundos, para el proceso de Python que ejecuta la secuencia de comandos actual.

Raíz de la API String https://{ip} Es la raíz de la API de la instancia de ArcSight.
Nombre de usuario String N/A Nombre de usuario de la cuenta de ArcSight.
Contraseña Contraseña N/A Contraseña de la cuenta de ArcSight.
Nombre del informe String N/A Es el nombre del informe que se usará para recuperar eventos.
Recupera eventos básicos Casilla de verificación Marcado Si está habilitado, el conector también recuperará los eventos básicos.
Prioridad más baja para recuperar Número entero N/A No Es la prioridad más baja que se usará para recuperar eventos. Los valores posibles están en el rango de 1 a 10. Si no se proporciona nada, se transferirán todos los eventos.
Cantidad máxima de eventos para recuperar Número entero 100 No Es la cantidad de alertas que se procesarán por iteración del conector. La cantidad máxima permitida es 1,000.
Usar la lista dinámica como lista de bloqueo Casilla de verificación Marcado

Si se selecciona esta opción, el conector usa la lista dinámica como lista de bloqueo.

Verificar SSL Casilla de verificación Desmarcado Si se selecciona esta opción, la integración valida el certificado SSL cuando se conecta al servidor de ArcSight.
Dirección del servidor proxy String N/A No Es la dirección del servidor proxy que se usará.
Nombre de usuario del proxy String N/A No Nombre de usuario del proxy con el que se realizará la autenticación.
Contraseña de proxy Contraseña No Contraseña del proxy para la autenticación.

Reglas del conector

El conector admite proxies.

Trabajos

Cerrar casos

El trabajo requiere los siguientes parámetros:

Nombre del parámetro Tipo Valor predeterminado Es obligatorio. Descripción
Dirección del servidor String 192.0.2.1 N/A
Nombre de usuario String N/A N/A
Contraseña Contraseña N/A N/A

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