CSV

Versión de la integración: 31.0

Requisitos previos de permisos

Para trabajar con archivos a través de la integración, debes tener los permisos correctos. Ejecuta el siguiente comando para proporcionar los permisos correctos para una carpeta: chown scripting:scripting "directory_path"

Configura la integración de CSV en Google Security Operations

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

Parámetros de integración

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

Nombre visible 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.
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

Guardar JSON como CSV

Descripción

Guarda un objeto JSON en formato CSV.

Parámetros

Nombre del parámetro Tipo Valor predeterminado Obligatorio Descripción
Objeto JSON JSON N/A Especifica el objeto JSON que se guardará como CSV.
Reemplazar Booleano Falso No Si se habilita, la acción reemplaza el archivo existente.
Ruta de acceso al archivo String N/A Especifica la ruta de acceso absoluta del archivo CSV recién creado. Si solo se proporciona el nombre del archivo, la acción lo almacena en una carpeta /tmp/.

Ejecutar en

N/A

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Valor
is_success Verdadero/Falso
Resultado de JSON
{"filepath": "{file name}"}
Muro de casos

La acción proporciona los siguientes mensajes de salida:

Mensaje de salida Descripción del mensaje
Se transformó correctamente el objeto JSON y se guardó en la ruta de acceso al archivo proporcionada. La acción se realizó correctamente.
No se encontró el archivo en la ruta proporcionada. El archivo no existe.
No se encontró actividad para las cuentas de servicio proporcionadas en Google Cloud Policy Intelligence La acción no pudo encontrar datos para ninguna de las cuentas de servicio enumeradas.
Se produjo un error al ejecutar la acción "Save JSON To CSV".

La acción devolvió un error.

Verifica la conexión al servidor, los parámetros de entrada o las credenciales.

Buscar por cadena

Descripción

Busca cadenas en archivos CSV.

Parámetros

Nombre del parámetro Tipo Valor predeterminado Es obligatorio Descripción
Ruta de acceso al archivo CSV String N/A Especifica la ruta de acceso al archivo CSV o la ruta de acceso a la carpeta que contiene todos los archivos CSV. Si se proporciona una carpeta, la acción iterará sobre todos los archivos CSV de la carpeta.
Columna CSV String N/A No Especifica una lista separada por comas de las columnas que pueden contener información de la entidad. Si no se proporciona nada, la acción buscará en todas las columnas.
Días hacia atrás String 10 No Especifica cuántos días hacia atrás se procesarán los archivos CSV.
Valor de búsqueda String N/A No Especifica una cadena que se debe buscar. Si la opción "Search Multiple String" está habilitada, este parámetro se trata como una lista de cadenas separadas por comas que se deben buscar.
Devuelve solo la primera fila. Casilla de verificación Desmarcado No Si está habilitada, la acción solo devolverá 1 fila en el primer archivo que coincida con la entidad.
Tipos de codificación de archivos String utf-8, latin-1, iso-8859-1 Tipos de codificación CSV separados por comas que se usan para decodificar tus archivos CSV, p. ej., utf-8, latin-1, iso-8859-1, utf-16… El orden en el que se proporcionan los tipos de codificación establece el orden en el que se usan para decodificar archivos, p. ej., (del ejemplo anterior) la codificación UTF-8 tiene la prioridad más alta y se usará principalmente para decodificar todos los archivos. Si hay un archivo CSV que usa alguna otra codificación, se usará la siguiente en el orden: la codificación Latin-1, y así sucesivamente, hasta que se use la última codificación.
Buscar varias cadenas Casilla de verificación Desmarcado No Si está habilitada, la opción "Valor de búsqueda" funcionará como una lista de valores separados por comas, en lugar de una sola cadena.
Campos que se devolverán CSV N/A No Especifica una lista de valores separados por comas que se deben devolver.

Casos de uso

Busca cadenas en archivos CSV.

Ejecutar en

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
count_rows_csv Cualquier cantidad de filas count_rows += 1
Resultado de JSON
[
    {
        "EntityResult": {
            "Field2": "Value2",
            "Field3": "Value3",
            "Field1": "Value1",
            "Field4": "Value4",
            "Field5": "Value5"
        },
        "Entity": "host"
    }, {
        "EntityResult": {
            "Field2": "Value2",
            "Field3": "Value3",
            "Field1": "Value1",
            "Field4": "Value4",
            "Field5": "Value5"
        }, "Entity": "1.1.1.1"
    }
]
Muro de casos
Tipo de resultado Valor / Descripción Tipo
Mensaje de salida*

Para los registros que se encuentran: "Se encontró correctamente información sobre las siguientes cadenas: \n (cadena_de_búsqueda)"

Si no se encuentran registros para algunas cadenas: "Action wasn't able to find information about the following strings:"

Si no se encuentra información para cada registro, se mostrará el mensaje: "No se encontró información para los elementos proporcionados".

Si todas las codificaciones son no válidas: "Error al ejecutar la acción "Búsqueda de CSV por cadena". Las codificaciones proporcionadas no son válidas. Revisa la ortografía".

General

Buscar por entidad

Descripción

Busca entidades en archivos CSV y enriquécelas.

Parámetros

Nombre del parámetro Tipo Valor predeterminado Es obligatorio Descripción
Ruta de acceso al archivo CSV String N/A Especifica la ruta de acceso al archivo CSV o la ruta de acceso a la carpeta que contiene todos los archivos CSV. Si se proporciona una carpeta, la acción iterará sobre todos los archivos CSV de la carpeta.
Columna CSV String N/A Especifica una lista separada por comas de las columnas que pueden contener información de la entidad. Si no se proporciona nada, la acción buscará en todas las columnas.
Días anteriores String 10 Especifica cuántos días hacia atrás se procesarán los archivos CSV.
Marcar como sospechoso Casilla de verificación Desmarcado No Si está habilitada, la acción marcará la entidad como sospechosa si se encontró en el archivo.
Devuelve solo la primera fila. Casilla de verificación Desmarcado No Si está habilitada, la acción solo devolverá 1 fila en el primer archivo que coincida con la entidad.
Tipos de codificación de archivos String utf-8, latin-1, iso-8859-1 Tipos de codificación CSV separados por comas que se usan para decodificar tus archivos CSV, p. ej., utf-8, latin-1, iso-8859-1, utf-16… El orden en el que se proporcionan los tipos de codificación establece el orden en el que se usan para decodificar archivos, p. ej., (del ejemplo anterior) la codificación UTF-8 tiene la prioridad más alta y se usará principalmente para decodificar todos los archivos. Si hay un archivo CSV que usa alguna otra codificación, se usará la siguiente en el orden: la codificación Latin-1, y así sucesivamente, hasta que se use la última codificación.
Enriquece entidades Casilla de verificación Marcado No Si está habilitada, la acción agregará información del archivo CSV y la incorporará a la tabla de enriquecimiento de la entidad.
Crear estadística Casilla de verificación Marcado No Si está habilitada, la acción creará una estadística si se encontró la entidad en el archivo.
Campos que se devolverán CSV N/A No Especifica una lista de valores separados por comas que se deben devolver.

Ejecutar en

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
count_rows_csv Cualquier cantidad de filas count_rows += 1
Resultado de JSON
[
    {
        "EntityResult": [{
            "domain": "example.dom",
            "fileHash": "cbbc5aea3d4c7ec193aa2ff3b52df36ebb12338b18c9bb53fc4896115efaf78d",
            "reporter": "Symantec Antivirus",
            "app": "Arcsight",
            "id": "1011",
            "eventTime": "9/4/2017 10:00",
            "antivirusAction": "blocked",
            "virusName": "ECAT",
            "rule": "malicious",
            "eventName": "Virus detected",
            "User": "Ziv",
            "eventHostName": "WS-ZivDevComp",
            "File Source Path": "C:\\\\Users\\\\Default\\\\Desktop\\\\stringTimeRaw.csv",
            "machineAddress": "192.168.11.11"
        }, {
            "domain": "SmartCompany.dom",
            "fileHash": "cbbc5aea3d4c7ec193aa2ff3b52df36ebb12338b18c9bb53fc4896115efaf78d",
            "reporter": "Symantec Antivirus",
            "app": "ESM",
            "id": "1012",
            "eventTime": "9/4/2017 10:00",
            "antivirusAction": "allowed",
            "virusName": "ECAT",
            "rule": "malicious",
            "eventName": "Virus detected",
            "User": "GG",
            "eventHostName": "WS-GGDevComp",
            "File Source Path": "C:\\\\Users\\\\Default\\\\Desktop\\\\stringTimeRaw.csv",
            "machineAddress": "192.168.11.11"
        }],
        "Entity": "192.168.11.11"
    }
]
Muro de casos
Tipo de resultado Valor / Descripción Tipo
Mensaje de salida*

Para las entidades que se encuentran: "Se encontró correctamente información sobre las siguientes entidades: \n (entity.identifier)"

Para las entidades que no se encuentran: "No se encontró información sobre las siguientes entidades: \n (entity.identifier)"

Si no se encontró información para ninguna entidad: "No se encontró información para las entidades proporcionadas".

Si todas las codificaciones no son válidas: "Error al ejecutar la acción "CSV Search by String". Las codificaciones proporcionadas no son válidas. Revisa la ortografía".

General

Ping

Descripción

Prueba la conectividad.

Parámetros

N/A

Ejecutar en

Esta acción se ejecuta en todas las entidades.

Resultados de la acción

Resultado de secuencia de comandos

N/A

Resultado de JSON
N/A

Conectores

Conector de CSV

Descripción

Recuperar datos de archivos CSV ubicados en una carpeta específica y convertir estos datos en alertas en el sistema de Google SecOps

En este tema, se ilustran el mecanismo y la configuración por los que Google SecOps produce archivos CSV, junto con los flujos de trabajo y las acciones compatibles que se realizan dentro de la plataforma.

Casos de uso

Un cliente tiene archivos CSV provenientes de un sistema, y los archivos podrían tener diferentes codificaciones.

*   Add support for comma-separated encodings in the Encoding field in the
    connector.
    *   The connector should try the different encodings by their order in
        the field (first encoding - highest priority, last - lowest
        priority) with try/except. If no matching encoding was found -
        consider the file as an error and notify.
    *   Put a default value for the fields - a list of most common CSV
        encodings by priority (utf8, latin1, and iso...)

Acceso a archivos CSV

Acceso de Google SecOps a los archivos CSV: Configura una carpeta para los archivos CSV.

Reenvío de registros CSV a Google SecOps

Cómo trabajar con registros de archivos CSV

Cuando configures Google SecOps para que funcione con archivos CSV como fuente de alertas, se te pedirá que proporciones una carpeta específica desde la que se recuperarán los archivos CSV. El equipo de Operaciones de seguridad de Google recuperará cualquier registro dentro de un archivo CSV y lo enviará para que se traduzca y se contextualice como alertas para los casos.

Cómo asignar la gravedad en el conector

Para asignar la gravedad, debes especificar qué campo se debe usar para obtener el valor de gravedad en el parámetro "Nombre del campo de gravedad". En la respuesta, puedes obtener 3 tipos de valores: números enteros, números de punto flotante y cadenas. Para los números enteros y los números de punto flotante, no necesitas realizar ninguna configuración adicional. El conector leerá esos valores y los asignará según los estándares de SecOps de Google. Un breve recordatorio de cómo se asignan los valores de números enteros:

  • 100: Crítica
  • 100 > X >= 80: Alto
  • 80 > X >=60: Medio
  • 60 > X >=40: Baja
  • 40 > X Informativo

Si en la respuesta trabajamos con cadenas, se requiere una configuración adicional. En la carpeta donde se encuentran las secuencias de comandos del conector, tendrás un archivo de configuración llamado severity_map_config.json. Este archivo define las reglas de asignación para la gravedad.

Inicialmente, el archivo se verá de la siguiente manera: 1 2 3 { "Default": 50 }

Imagina una situación en la que los valores necesarios se encuentran en event.severity. event.severity puede contener los siguientes valores: "Malicious", "Benign" y "Unknown".

Primero, debemos especificar en el parámetro "Nombre del campo de gravedad" que usaremos event.severity. En segundo lugar, debemos actualizar el archivo de configuración. Después de los cambios, el archivo severity_map_config.json debería verse de la siguiente manera: 1 2 3 4 5 6 7 8 { "event.severity": { "Malicious": 100, "Unknown": 60, "Benign": -1 }, "Default": 50 }

Ahora, cuando el conector reciba un evento con event.severity = "Malicious", le asignará gravedad crítica.

Configura el conector de archivos CSV en Google SecOps

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

Parámetros del conector

Usa los siguientes parámetros para configurar el conector:

Nombre del parámetro Tipo Valor predeterminado Es obligatorio Descripción
Nombre del campo del producto String device_product Es el nombre del campo que se usa para determinar el producto del dispositivo.
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 60 Es el límite de tiempo de espera (en segundos) para el proceso de Python que ejecuta el script actual.
Ruta de acceso a la carpeta CSV String N/A Es la ruta de acceso de la carpeta que contiene todos los archivos CSV que se deben transferir.
Límite de CSV String N/A No Cantidad de archivos CSV que se procesarán en cada iteración.
Nombre del campo del generador de reglas String N/A No Es el nombre del campo que contiene información sobre el generador de reglas.
Nombre del campo de tiempo String N/A No Es el nombre del campo que contiene información sobre la hora del evento.
CSV Has Header Casilla de verificación Marcado Indica si el archivo CSV tiene encabezado.
Tipo de codificación de archivo String utf-8 Establece el tipo de codificación CSV, p.ej., iso-8859-1, latin1, utf-8, utf-16.
Nombre del campo de alerta String N/A No Nombre del campo que contiene información sobre el nombre de la alerta.
Nombre del campo de gravedad String N/A No

Nombre del campo que contiene información sobre la gravedad.
Nota: Puedes asignar la gravedad según los valores de la respuesta. Para ello, debes ir a la carpeta de ejecución del conector y modificar severity_mapping_config.json. Consulta la documentación como referencia.

Reglas del conector

Compatibilidad con proxy

El conector no admite el proxy.

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