Integrar Armis con Google SecOps
En este documento se describe cómo integrar Armis con Google Security Operations.
Versión de integración: 12.0
Casos prácticos
- Realiza acciones de enriquecimiento.
- Realiza la ingestión de las alertas.
- Realiza una acción de triaje (actualizar el estado de la alerta).
Parámetros de integración
Usa los siguientes parámetros para configurar la integración:
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
Raíz de la API | Cadena | Sí | Raíz de la API de Armis | |
Secreto de API | Contraseña | N/A | Sí | Secreto de API de Armis |
Verificar SSL | Casilla | Marcada | Sí | Si está habilitada, verifica que el certificado SSL de la conexión al servidor de Armis sea válido. |
Para obtener instrucciones sobre cómo configurar una integración en Google SecOps, consulta Configurar integraciones.
Si es necesario, puedes hacer cambios más adelante. Después de configurar una instancia de integración, puedes usarla en los cuadernos de estrategias. Para obtener más información sobre cómo configurar y admitir varias instancias, consulta Admitir varias instancias.
Acciones
Para obtener más información sobre las acciones, consulta Responder a acciones pendientes desde Tu espacio de trabajo y Realizar una acción manual.
Ping
Prueba la conectividad con Armis.
Parámetros
N/A
Fecha de ejecución
La acción no usa entidades ni tiene parámetros de entrada obligatorios.
Resultados de la acción
Resultado de la secuencia de comandos
Nombre del resultado del script | Opciones de valor | Ejemplo |
---|---|---|
is_success | Verdadero/Falso | is_success:False |
Panel de casos
Tipo de resultado | Descripción | Tipo |
---|---|---|
Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía: Si se realiza correctamente: "Successfully connected to the Armis server with the provided connection parameters!" ("Se ha conectado correctamente al servidor de Armis con los parámetros de conexión proporcionados"). La acción debería fallar y detener la ejecución de la guía: Si no se ha podido conectar: "No se ha podido conectar con el servidor de Armis. Error: {0}".format(exception.stacktrace) |
General |
Enriquecer entidades
Enriquece las entidades con información de Armis. Entidades admitidas: IP y dirección MAC.
Parámetros
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
Crear estadísticas de endpoint | Casilla | Marcada | Sí | Si se habilita, la acción crea una estadística que contiene información sobre los endpoints. |
Fecha de ejecución
Esta acción se ejecuta en las siguientes entidades:
- Dirección IP
- Dirección MAC
Resultados de la acción
Resultado de la secuencia de comandos
Nombre del resultado del script | Opciones de valor | Ejemplo |
---|---|---|
is_success | Verdadero/Falso | is_success:False |
Resultado de JSON
{
"accessSwitch": null,
"category": "Computers",
"dataSources": [
{
"firstSeen": "2021-03-07T04:04:22.562873+00:00",
"lastSeen": "2021-03-07T04:04:22.562873+00:00",
"name": "Example",
"types": [
"Asset & System Management",
"Virtualization"
]
},
{
"firstSeen": "2021-03-07T04:04:22.562873+00:00",
"lastSeen": "2021-03-07T04:04:22.562873+00:00",
"name": "Armis Smart Scanner",
"types": [
"Vulnerability Management"
]
}
],
"firstSeen": "2021-03-07T04:04:22.562873+00:00",
"id": 1616,
"ipAddress": "192.0.2.120",
"ipv6": null,
"lastSeen": "2021-03-21T08:05:40.244960+00:00",
"macAddress": "01:23:45:ab:cd:ef",
"manufacturer": "VMware",
"model": "VMware Virtual Platform",
"name": "Example",
"operatingSystem": "CentOS",
"operatingSystemVersion": "6.6",
"purdueLevel": 4.0,
"riskLevel": 5,
"sensor": {
"name": "North conference room",
"type": "Physical Sensor"
},
"site": {
"location": "Palo Alto",
"name": "Palo Alto Offices"
},
"tags": [
"Discover",
"Example"
],
"type": "Virtual Machines",
"user": "",
"visibility": "Full"
}
Enriquecimiento de entidades
Nombre del campo de enriquecimiento | Lógica: cuándo aplicar |
---|---|
category | Cuando esté disponible en JSON |
id | Cuando esté disponible en JSON |
ipAddress | Cuando esté disponible en JSON |
macAddress | Cuando esté disponible en JSON |
name | Cuando esté disponible en JSON |
os | Cuando esté disponible en JSON |
purdue_level | Cuando esté disponible en JSON |
risk_level | Cuando esté disponible en JSON |
etiquetas | Cuando esté disponible en JSON |
tipo | Cuando esté disponible en JSON |
usuario | Cuando esté disponible en JSON |
visibility | Cuando esté disponible en JSON |
sitio web | Cuando esté disponible en JSON |
enlace | Cuando esté disponible en JSON |
Panel de casos
Tipo de resultado | Descripción | Tipo |
---|---|---|
Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía: if enriched some(is_success = true): "Se han enriquecido correctamente las siguientes entidades con Armis:\n".format(entity.identifier) Si no se ha enriquecido algún elemento (is_success = true): "No se ha podido enriquecer la siguiente entidad con Armis:\n".format(entity.identifier) Si no se ha enriquecido todo (is_success = false): "No se ha enriquecido ninguna entidad". La acción debería fallar y detener la ejecución de un cuaderno de estrategias: |
General |
Tabla de entidades | Entidad |
Mostrar conexiones de alertas
Lista las conexiones relacionadas con la alerta en Armis.
Parámetros
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
ID de alerta | Entero | Sí | Especifique el ID de la alerta de la que quiera obtener datos de conexiones. | |
Gravedad mínima que se va a obtener | DDL | Medio Valores posibles:
|
No | Especifica la gravedad más baja de las conexiones que se deben usar al obtenerlas. |
Número máximo de conexiones que se devolverán | Entero | 50 | No | Especifica cuántas conexiones quieres devolver. |
Fecha de ejecución
Esta acción no se ejecuta en entidades.
Resultados de la acción
Resultado de la secuencia de comandos
Nombre del resultado del script | Opciones de valor | Ejemplo |
---|---|---|
is_success | Verdadero/Falso | is_success:False |
Resultado de JSON
{
"band": null,
"channel": null,
"dhcpAuthenticationDuration": null,
"duration": 12339,
"endTimestamp": "2021-03-18T20:19:31.562873+00:00",
"id": 33355,
"inboundTraffic": 12412512,
"outboundTraffic": 19626489,
"protocol": "Bluetooth",
"radiusAuthenticationDuration": null,
"risk": "Medium",
"rssi": null,
"sensor": {
"name": "EXAMPLE",
"type": "Switch"
},
"site": {
"location": "Location",
"name": "Location HQ"
},
"snr": null,
"sourceId": 2097,
"startTimestamp": "2021-03-18T16:53:52.562873+00:00",
"targetId": 217,
"title": "Connection between Example and user's iPhone",
"totalAssociationDuration": null,
"traffic": 32039001,
"wlanAssociationDuration": null
}
Panel de casos
Tipo de resultado | Descripción | Tipo |
---|---|---|
Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía: Si el código es 200 y hay datos disponibles (is_success = true): "Se han devuelto correctamente las conexiones relacionadas con la alerta {alertId} según los criterios proporcionados en Armis". Si se devuelve el código 200 y no hay datos disponibles (is_success=false): "No se han encontrado conexiones relacionadas con la alerta {alertId} según los criterios proporcionados en Armis". La acción debería fallar y detener la ejecución de la guía: Si se produce un error grave, como credenciales incorrectas, no hay conexión con el servidor u otro: "Error al ejecutar la acción "List Alert Connections". Motivo: {0}''.format(error.Stacktrace) |
General |
Tabla del panel de casos | Nombre: Available Communications Columnas:
|
General |
Actualizar estado de alerta
Actualiza el estado de la alerta en Armis.
Parámetros
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
ID de alerta | Entero | Sí | Especifica el ID de la alerta cuyo estado quieras actualizar. | |
Estado | DDL | Sin gestionar Posibles valores:
|
No | Especifica el estado que se debe asignar a la alerta. |
Fecha de ejecución
Esta acción no se ejecuta en entidades.
Resultados de la acción
Resultado de la secuencia de comandos
Nombre del resultado del script | Opciones de valor | Ejemplo |
---|---|---|
is_success | Verdadero/Falso | is_success:False |
Panel de casos
Tipo de resultado | Descripción | Tipo |
---|---|---|
Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía: Si el código de estado es 200 (is_success = true): "Se ha actualizado correctamente el estado de la alerta "{alert id}" a "{status}" en Armis". Si se devuelve el código 400 (is_success=true): "La alerta "{alert id}" ya tiene el estado "{status}" en Armis. " La acción debería fallar y detener la ejecución de la guía: Si se produce un error grave, como credenciales incorrectas, no hay conexión con el servidor u otro: "Error al ejecutar la acción "Actualizar estado de alerta". Motivo: {0}''.format(error.Stacktrace) Si se devuelve el error 404: "Error al ejecutar la acción "Update Alert Status". Motivo: no se ha encontrado la alerta "{alert id}" en Armis. |
General |
Conector
Para obtener más información sobre cómo configurar conectores en Google SecOps, consulta el artículo Ingerir datos (conectores).
Armis - Alerts Connector
Extrae alertas con actividades relacionadas de Armis.
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 | alert_type | Sí | Nombre del campo en el que se almacena el nombre del producto. El valor predeterminado es El nombre del producto
influye principalmente en la asignación. Para optimizar y mejorar el proceso de asignación del conector, el valor predeterminado |
Nombre del campo de evento | Cadena | tipo | Sí | Nombre del campo que determina el nombre del evento (subtipo). |
Nombre del campo de entorno | Cadena | "" | No | Nombre del campo en el que se almacena el nombre del entorno. Si falta el campo de entorno, el conector usa el valor predeterminado. |
Environment Regex Pattern |
Cadena | .* | No |
Patrón de expresión regular que se va a ejecutar en el valor encontrado en el campo Usa el valor predeterminado 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 secuencia de comandos (segundos) | Entero | 180 | Sí | El límite de tiempo de espera, en segundos, del proceso de Python que ejecuta la secuencia de comandos actual. |
Raíz de la API | Cadena | https:// | Sí | Raíz de la API de la instancia de Armis. |
Secreto de API | Contraseña | N/A | Sí | Secreto de API de la cuenta de Armis. |
Gravedad mínima que se va a obtener | Bajo | Bajo | No | Gravedad mínima que se usará para obtener alertas. Valores posibles:
Low , Medium y High . |
Número máximo de horas hacia atrás | Entero | 1 | No | Número de horas antes de la primera iteración del conector para recuperar las alertas. Este parámetro se puede aplicar a la iteración inicial del conector después de habilitarlo por primera vez o al valor de reserva de una marca de tiempo de conector caducada. |
Número máximo de alertas que se van a obtener | Entero | 10 | No | Número de alertas que se deben procesar por iteración de conector. El valor máximo es 1000 . |
Use whitelist as a blacklist |
Casilla | Marcada | Sí | Si se selecciona esta opción, el conector usará la lista dinámica como lista de bloqueo. |
Verificar SSL | Casilla | Desmarcada | Sí | Si se selecciona esta opción, la integración valida el certificado SSL al conectarse al servidor de Armis. |
Dirección del servidor proxy | Cadena | No | Dirección del servidor proxy que se va a usar. | |
Nombre de usuario del proxy | Cadena | No | Nombre de usuario del proxy para autenticarse. | |
Contraseña del proxy | Contraseña | No | La contraseña del proxy para autenticarte. |
Reglas de conectores
El conector admite proxies.
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.