CSV

Versión de integración: 31.0

Requisitos previos de los permisos

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

Configurar la integración de CSV en Google Security Operations

Para obtener instrucciones detalladas sobre cómo configurar una integración en Google SecOps, consulta Configurar 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 Cadena N/A No Nombre de la instancia para la que quiere configurar la integración.
Descripción Cadena N/A No Descripción de la instancia.
Ejecutar de forma remota Casilla Desmarcada No Marca el campo para ejecutar la integración configurada de forma remota. Una vez marcada, aparece la opción para seleccionar al usuario remoto (agente).

Acciones

Guardar JSON en CSV

Descripción

Guarda un objeto JSON en un archivo CSV.

Parámetros

Nombre del parámetro Tipo Valor predeterminado Obligatorio Descripción
Objeto JSON JSON N/A Especifica el objeto JSON que se va a guardar como CSV.
Sobrescribir Booleano Falso No Si está habilitada, la acción sobrescribe el archivo.
Ruta del archivo Cadena N/A Especifica la ruta de archivo absoluta del archivo CSV recién creado. Si solo se proporciona el nombre del archivo, la acción lo almacena en una carpeta /tmp/.

Fecha de ejecución

N/A

Resultados de la acción

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

La acción proporciona los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje
Se ha transformado correctamente el objeto JSON y se ha guardado en la ruta de archivo proporcionada. La acción se ha realizado correctamente.
No se ha encontrado el archivo en la ruta proporcionada. El archivo no existe.
No se ha encontrado actividad de las cuentas de servicio proporcionadas en Google Cloud Policy Intelligence No se han encontrado datos de ninguna de las cuentas de servicio indicadas.
Error al ejecutar la acción "Guardar JSON en CSV".

La acción ha devuelto un error.

Comprueba 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 del archivo CSV Cadena N/A Especifica la ruta del archivo CSV o la ruta de la carpeta que contiene todos los archivos CSV. Si se proporciona una carpeta, la acción se repetirá en todos los archivos CSV de la carpeta.
Columna CSV Cadena N/A No Especifica una lista de columnas separadas por comas que puedan contener información de la entidad. Si no se indica nada, la acción buscará en todas las columnas.
Días hacia atrás Cadena 10 No Especifica cuántos días hacia atrás se deben procesar los archivos CSV.
Valor de búsqueda Cadena N/A No Especifica una cadena que se debe buscar. Si la opción "Buscar varias cadenas" 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 Desmarcada No Si está habilitada, la acción solo devolverá una fila en el primer archivo que coincida con la entidad.
Tipos de codificación de archivos Cadena utf-8, latin-1, iso-8859-1 Lista separada por comas de los tipos de codificación CSV que se usan para decodificar los archivos CSV (por ejemplo, utf-8, latin-1, iso-8859-1, utf-16...). El orden en el que se indican los tipos de codificación determina el orden en el que se usan para decodificar archivos.Por ejemplo, en el 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 otra codificación, se usará la siguiente en el orden, que es la codificación Latin-1, y así sucesivamente hasta que se use la última codificación.
Buscar varias cadenas Casilla Desmarcada No Si está habilitada, "Valor de búsqueda" funcionará como una lista de valores separados por comas en lugar de una sola cadena.
Campos que se van a devolver CSV N/A No Especifica una lista de valores separados por comas que deben devolverse.

Casos prácticos

Busca cadenas en archivos CSV.

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
count_rows_csv Cualquier número 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"
    }
]
Panel de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

Para los registros que se encuentren: "Se ha encontrado información sobre las siguientes cadenas: \n (cadena_de_búsqueda)"

Si no se encuentran registros de algunas cadenas: "Action wasn't able to find information about the following strings:" ("Action no ha podido encontrar información sobre las siguientes cadenas:")

Si no se ha encontrado información de todos los registros: "No se ha encontrado información de los elementos proporcionados".

Si todas las codificaciones no son válidas: "Error al ejecutar la acción "Búsqueda de CSV por cadena". Las codificaciones proporcionadas no son válidas. Comprueba 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 del archivo CSV Cadena N/A Especifica la ruta del archivo CSV o la ruta de la carpeta que contiene todos los archivos CSV. Si se proporciona una carpeta, la acción se repetirá en todos los archivos CSV de la carpeta.
Columna CSV Cadena N/A Especifica una lista de columnas separadas por comas que puedan contener información de la entidad. Si no se indica nada, la acción buscará en todas las columnas.
Días anteriores Cadena 10 Especifica cuántos días hacia atrás se deben procesar los archivos CSV.
Marcar como sospechoso Casilla Desmarcada No Si está habilitada, la acción marcará la entidad como sospechosa si se ha encontrado en el archivo.
Devuelve solo la primera fila. Casilla Desmarcada No Si está habilitada, la acción solo devolverá una fila en el primer archivo que coincida con la entidad.
Tipos de codificación de archivos Cadena utf-8, latin-1, iso-8859-1 Lista separada por comas de los tipos de codificación CSV que se usan para decodificar los archivos CSV (por ejemplo, utf-8, latin-1, iso-8859-1, utf-16...). El orden en el que se indican los tipos de codificación determina el orden en el que se usan para decodificar archivos.Por ejemplo, en el 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 otra codificación, se usará la siguiente en el orden, que es la codificación Latin-1, y así sucesivamente hasta que se use la última codificación.
Enriquecer entidades Casilla Marcada No Si está habilitada, la acción añadirá información del archivo CSV y la agregará a la tabla de enriquecimiento de la entidad.
Crear estadística Casilla Marcada No Si se habilita, la acción creará una estadística si se encuentra la entidad en el archivo.
Campos que se van a devolver CSV N/A No Especifica una lista de valores separados por comas que deben devolverse.

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
count_rows_csv Cualquier número 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"
    }
]
Panel de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

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

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

Si no se encuentra información de ninguna entidad: "No se ha encontrado información de las entidades proporcionadas".

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

General

Ping

Descripción

Prueba de conectividad.

Parámetros

N/A

Fecha de ejecución

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

Obtiene datos de archivos CSV ubicados en una carpeta específica y los convierte en alertas en el sistema de Google SecOps.

En este tema se explica el mecanismo y la configuración por los que Google Security Operations genera archivos CSV, así como los flujos de trabajo y las acciones admitidos en la plataforma.

Casos prácticos

Un cliente tiene archivos CSV procedentes de un sistema y los archivos pueden tener codificaciones diferentes.

*   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 archivos CSV: configura una carpeta para los archivos CSV.

Reenvío de registros CSV a Google SecOps

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 obtendrán los archivos CSV. Google SecOps recuperará cualquier registro de un archivo CSV y lo enviará para que se traduzca y se contextualice como alerta para los casos.

Cómo asignar la gravedad en el conector

Para asignar la gravedad, debe especificar qué campo se debe usar para obtener el valor de la gravedad en el parámetro "Nombre del campo de gravedad". En la respuesta, puedes obtener tres tipos de valores: números enteros, números con decimales y cadenas. En el caso de los números enteros y los números con decimales, no es necesario que hagas ninguna configuración adicional. El conector leerá esos valores y los asignará según los estándares de Google SecOps. Te recordamos cómo se asignan los valores enteros:

  • 100 - Crítico
  • 100 > x >= 80 Alto
  • 80 > x >=60 Medio
  • 60 > x >=40 Bajo
  • 40 > x Informativas

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, habrá un archivo de configuración llamado severity_map_config.json. Este archivo define las reglas de asignación de la gravedad.

Inicialmente, el archivo tendrá este aspecto: 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, tenemos que especificar en el parámetro "Nombre del campo de gravedad" que vamos a usar event.severity. En segundo lugar, tenemos que actualizar el archivo de configuración. Después de los cambios, el archivo severity_map_config.json debería tener este aspecto: 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á la gravedad Crítica.

Configurar el conector de CSV en Google SecOps

Para obtener instrucciones detalladas sobre cómo configurar un conector en Google SecOps, consulta el artículo Configurar el conector.

Parámetros del conector

Utiliza los siguientes parámetros para configurar el conector:

Nombre del parámetro Tipo Valor predeterminado Es obligatorio Descripción
Nombre del campo de producto Cadena device_product Nombre del campo que se usa para determinar el producto del dispositivo.
Nombre del campo de evento Cadena name No Nombre del campo que se usa para determinar el nombre del evento (subtipo).
Tiempo de espera de secuencia de comandos (segundos) Cadena 60 El límite de tiempo de espera (en segundos) del proceso de Python que ejecuta la secuencia de comandos actual.
Ruta de la carpeta CSV Cadena N/A Ruta de la carpeta que contiene todos los archivos CSV que se deben ingerir.
Límite de CSV Cadena N/A No Número de archivos CSV que se procesarán por iteración.
Nombre del campo del generador de reglas Cadena N/A No Nombre del campo que contiene información sobre el generador de reglas.
Nombre del campo de tiempo Cadena N/A No Nombre del campo que contiene información sobre la hora del evento.
CSV tiene encabezado Casilla Marcada Indica si el archivo CSV tiene encabezado.
Tipo de codificación del archivo Cadena utf-8 Define el tipo de codificación del archivo CSV (por ejemplo, iso-8859-1, latin1, utf-8 o utf-16).
Nombre del campo de alerta Cadena N/A No Nombre del campo que contiene información sobre el nombre de la alerta.
Nombre del campo de gravedad Cadena N/A No

Nombre del campo que contiene información sobre la gravedad.
Nota: Puedes asignar la gravedad en función de 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 de referencia.

Reglas de conectores

Compatibilidad con proxy

El conector no admite proxy.

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.