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