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 | Sí | 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 | Sí | 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 | Sí | 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 | Sí | 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 | Sí | 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 | Sí | 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 | Sí | 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 | Sí | 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 | Sí | 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 | Sí | 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 | Sí | 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 | Sí | Indica si el archivo CSV tiene encabezado. |
Tipo de codificación de archivo | String | utf-8 | Sí | 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. |
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.