Integra Armis en Google SecOps
En este documento, se describe cómo integrar Armis en Google Security Operations.
Casos de uso
- Realizar acciones de enriquecimiento
- Realiza la transferencia de las alertas.
- Realiza la acción de clasificación (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 | String | Sí | Raíz de la API de Armis | |
| Secreto de API | Contraseña | N/A | Sí | Secreto de la API de Armis |
| Verificar SSL | Casilla de verificación | Marcado | Sí | Si está habilitada, verifica que el certificado SSL para la conexión con el servidor de Armis sea válido. |
Para obtener instrucciones sobre cómo configurar una integración en Google SecOps, consulta Configura integraciones.
Si es necesario, puedes realizar cambios más adelante. Después de configurar una instancia de integración, puedes usarla en las guías. Para obtener más información sobre cómo configurar y admitir varias instancias, consulta Cómo admitir varias instancias.
Acciones
Para obtener más información sobre las acciones, consulta Responde a las acciones pendientes desde tu escritorio y Ejecuta una acción manual en tu caso.
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 secuencia de comandos
| Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
|---|---|---|
| is_success | Verdadero o falso | is_success:False |
Muro de casos
| Tipo de resultado | Descripción | Tipo |
|---|---|---|
| Mensaje de salida* | La acción no debería 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!" La acción debería fallar y detener la ejecución de una guía: Si no se realiza correctamente, aparecerá el mensaje "Failed to connect to the Armis server! Error is {0}".format(exception.stacktrace) |
General |
Enriquece 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 |
|---|---|---|---|---|
| Crea una estadística de extremo | Casilla de verificación | Marcado | Sí | Si está habilitada, la acción crea una estadística que contiene información sobre los extremos. |
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 secuencia de comandos
| Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
|---|---|---|
| is_success | Verdadero o 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 aplicarla |
|---|---|
| categoría | Cuando está disponible en JSON |
| id | Cuando está disponible en JSON |
| ipAddress | Cuando está disponible en JSON |
| macAddress | Cuando está disponible en JSON |
| nombre | 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 |
| tags | Cuando está disponible en JSON |
| tipo | Cuando está disponible en JSON |
| usuario | Cuando está disponible en JSON |
| visibility | Cuando está disponible en JSON |
| sitio | Cuando está disponible en JSON |
| vínculo | Cuando está disponible en JSON |
Muro de casos
| Tipo de resultado | Descripción | Tipo |
|---|---|---|
| Mensaje de salida* | La acción no debería fallar ni detener la ejecución de una guía: if enriched some(is_success = true): "Successfully enriched the following entities using Armis:\n".format(entity.identifier) Si no se enriquecieron algunas (is_success = true): "Action wasn't able to enriche the following entities using Armis:\n".format(entity.identifier) Si no se enriquecieron todas (is_success = false): "No entities were enriched". La acción debería fallar y detener la ejecución de una guía: |
General |
| Tabla de la entidad | Entidad |
Enumera las conexiones de alertas
Enumera las conexiones relacionadas con la alerta en Armis.
Parámetros
| Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
|---|---|---|---|---|
| ID de alerta | Número entero | Sí | Especifica el ID de la alerta de la que deseas extraer los datos de las conexiones. | |
| Gravedad más baja para recuperar | DDL | Media Valores posibles:
|
No | Especifica la gravedad más baja de las conexiones que se deben usar cuando se recuperan. |
| Cantidad máxima de conexiones que se devolverán | Número entero | 50 | No | Especifica cuántas conexiones se deben mostrar. |
Fecha de ejecución
Esta acción no se ejecuta en entidades.
Resultados de la acción
Resultado de secuencia de comandos
| Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
|---|---|---|
| is_success | Verdadero o 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
}
Muro de casos
| Tipo de resultado | Descripción | Tipo |
|---|---|---|
| Mensaje de salida* | La acción no debería fallar ni detener la ejecución de una guía: Si el código es 200 y hay datos disponibles (is_success = true): "Successfully returned connections related to the alert {alertId} based on the provided criteria in Armis." Si el código es 200 y no hay datos disponibles (is_success=false): "No se encontraron 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 una guía: if fatal error, like wrong credentials, no connection to server, other: "Error executing action "List Alert Connections". Reason: {0}''.format(error.Stacktrace) |
General |
| Tabla del muro de casos | Nombre: Comunicaciones disponibles Columnas:
|
General |
Actualiza el estado de la 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 | Número entero | Sí | Especifica el ID de la alerta para la que quieres actualizar el estado. | |
| Estado | DDL | No controlada Valores posibles:
|
No | Especifica qué estado se debe establecer para la alerta. |
Fecha de ejecución
Esta acción no se ejecuta en entidades.
Resultados de la acción
Resultado de secuencia de comandos
| Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
|---|---|---|
| is_success | Verdadero o falso | is_success:False |
Muro de casos
| Tipo de resultado | Descripción | Tipo |
|---|---|---|
| Mensaje de salida* | La acción no debería fallar ni detener la ejecución de una guía: if 200 (is_success = true): "Successfully updated status of the alert "{alert id}" to "{status}" in Armis.". Si es 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 una guía: Si se produce un error grave, como credenciales incorrectas, falta de conexión con el servidor, etc.: "Error al ejecutar la acción "Actualizar estado de la alerta". Reason: {0}''.format(error.Stacktrace) Si es 404: "Error executing action "Update Alert Status". Motivo: No se encontró la alerta "{alert id}" en Armis.' |
General |
Conector
Para obtener más información sobre cómo configurar conectores en Google SecOps, consulta Transferir tus datos (conectores).
Armis: Conector de alertas
Extrae alertas con actividades relacionadas de Armis.
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 | alert_type | Sí | Es el nombre del campo en el que se almacena el nombre del producto. El valor predeterminado es El nombre del producto
afecta principalmente la asignación. Para optimizar y mejorar el proceso de asignación del
conector, el valor predeterminado |
| Nombre del campo del evento | String | tipo | Sí | Es el nombre del campo que determina el nombre del evento (subtipo). |
| Nombre del campo del entorno | String | "" | No | Es el nombre del campo en el que se almacena el nombre del entorno. Si falta el campo environment, el conector usa el valor predeterminado. |
Environment Regex Pattern |
String | .* | No |
Es un patrón de expresión regular que se ejecuta en el valor que se encuentra 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 la secuencia de comandos (segundos) | Número entero | 180 | Sí | Es el límite de tiempo de espera, en segundos, para el proceso de Python que ejecuta la secuencia de comandos actual. |
| Raíz de la API | String | https:// | Sí | Es la raíz de la API de la instancia de Armis. |
| Secreto de API | Contraseña | N/A | Sí | Es el secreto de API de la cuenta de Armis. |
| Gravedad más baja para recuperar | Baja | Baja | No | Es la gravedad más baja que se usará para recuperar alertas. Valores posibles:
Low, Medium, High. |
| Cantidad máxima de horas hacia atrás | Número entero | 1 | No | Es la cantidad 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 que lo habilites por primera vez o al valor de resguardo de una marca de tiempo de conector vencida. |
| Cantidad máxima de alertas que se recuperarán | Número entero | 10 | No | Es la cantidad de alertas que se procesarán por iteración del conector. El valor máximo es 1000. |
Use whitelist as a blacklist |
Casilla de verificación | Marcado | Sí | Si se selecciona, el conector usa la lista dinámica como una lista de entidades bloqueadas. |
| Verificar SSL | Casilla de verificación | Desmarcado | Sí | Si se selecciona, la integración valida el certificado SSL cuando se conecta al servidor de Armis. |
| Dirección del servidor proxy | String | No | Es la dirección del servidor proxy que se usará. | |
| Nombre de usuario del proxy | String | No | Es el nombre de usuario del proxy con el que se autenticará. | |
| Contraseña del proxy | Contraseña | No | Es la contraseña del proxy con la que se realizará la autenticación. |
Reglas del conector
El conector admite proxies.
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.