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

  1. Realiza acciones de enriquecimiento.
  2. Realiza la ingestión de las alertas.
  3. 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 Raíz de la API de Armis
Secreto de API Contraseña N/A Secreto de API de Armis
Verificar SSL Casilla Marcada 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 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:
si se produce un error grave, como credenciales incorrectas, no hay conexión con el servidor u otro error: "Error al ejecutar la acción "Enrich Entities". Motivo: {0}''.format(error.Stacktrace)

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 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:

  • Bajo
  • Medio
  • Alta
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:

  • Título
  • Protocolo
  • Gravedad
  • Hora de inicio
  • Hora de finalización
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 Especifica el ID de la alerta cuyo estado quieras actualizar.
Estado DDL

Sin gestionar

Posibles valores:

  • Sin gestionar
  • Suprimida
  • Resuelto
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

Nombre del campo en el que se almacena el nombre del producto.

El valor predeterminado es alert_type.

El nombre del producto influye principalmente en la asignación. Para optimizar y mejorar el proceso de asignación del conector, el valor predeterminado alert_type se resuelve en un valor de reserva al que se hace referencia desde el código. Cualquier entrada no válida para este parámetro se resuelve en un valor de reserva de forma predeterminada.

Nombre del campo de evento Cadena tipo

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 Environment Field Name. Este parámetro te permite manipular el campo de entorno mediante la lógica de expresiones regulares.

Usa el valor predeterminado .* para obtener el valor sin formato Environment Field Name necesario.

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

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:// Raíz de la API de la instancia de Armis.
Secreto de API Contraseña N/A 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

Si se selecciona esta opción, el conector usará la lista dinámica como lista de bloqueo.

Verificar SSL Casilla Desmarcada 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.