Integrar o Armis ao Google SecOps

Este documento descreve como integrar o Armis ao Google Security Operations.

Versão da integração: 12.0

Casos de uso

  1. Realizar ações de enriquecimento.
  2. Faça a ingestão dos alertas.
  3. Realize a triagem (atualize o status do alerta).

Parâmetros de integração

Use os seguintes parâmetros para configurar a integração:

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Raiz da API String Sim Raiz da API do Armis.
Chave secreta da API Senha N/A Sim Chave secreta da API do Armis
Verificar SSL Caixa de seleção Selecionado Sim Se ativada, verifica se o certificado SSL da conexão com o servidor Armis é válido.

Para instruções sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.

É possível fazer mudanças mais tarde, se necessário. Depois de configurar uma instância de integração, você pode usá-la em playbooks. Para mais informações sobre como configurar e oferecer suporte a várias instâncias, consulte Suporte a várias instâncias.

Ações

Para mais informações sobre ações, consulte Responder a ações pendentes da sua mesa de trabalho e Realizar uma ação manual.

Ping

Teste a conectividade com a Armis.

Parâmetros

N/A

Data de execução

A ação não usa entidades nem tem parâmetros de entrada obrigatórios.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Painel de casos
Tipo de resultado Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se for bem-sucedido: "Conexão com o servidor da Armis realizada com sucesso usando os parâmetros fornecidos"

A ação precisa falhar e interromper a execução de um playbook:

Se não for possível: "Não foi possível se conectar ao servidor da Armis! O erro é {0}".format(exception.stacktrace)

Geral

Enriquecer entidades

Aprimorar entidades usando informações da Armis. Entidades compatíveis: IP, Mac Address.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Criar insight de endpoint Caixa de seleção Selecionado Sim Se ativada, a ação cria um insight com informações sobre os endpoints.

Data de execução

Essa ação é executada nas seguintes entidades:

  • Endereço IP
  • Endereço MAC

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False

Resultado 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"
}

Enriquecimento de entidade

Nome do campo de enriquecimento Lógica: quando aplicar
categoria Quando disponível em JSON
ID Quando disponível em JSON
ipAddress Quando disponível em JSON
macAddress Quando disponível em JSON
nome Quando disponível em JSON
os Quando disponível em JSON
purdue_level Quando disponível em JSON
risk_level Quando disponível em JSON
tags Quando disponível em JSON
tipo Quando disponível em JSON
usuário Quando disponível em JSON
visibility Quando disponível em JSON
site Quando disponível em JSON
link Quando disponível em JSON
Painel de casos
Tipo de resultado Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

if enriched some(is_success = true): "Enriquecimento das seguintes entidades usando a Armis:\n".format(entity.identifier)

Se não enriquecer algumas (is_success = true): "Não foi possível enriquecer as seguintes entidades usando o Armis:\n".format(entity.identifier)

Se não enriquecer tudo (is_success = false): "Nenhuma entidade foi enriquecida".

A ação precisa falhar e interromper a execução de um playbook:
se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Enriquecer entidades". Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela de entidades Entidade

Listar conexões de alerta

Liste as conexões relacionadas ao alerta no Armis.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Código de alerta Número inteiro Sim Especifique o ID do alerta para o qual você quer extrair dados de conexões.
Menor gravidade a ser buscada DDL

Médio

Valores possíveis:

  • Baixo
  • Médio
  • Alta
Não Especifique a gravidade mínima das conexões que devem ser usadas ao buscá-las.
Número máximo de conexões a serem retornadas Número inteiro 50 Não Especifique quantas conexões serão retornadas.

Data de execução

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False

Resultado 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
}
Painel de casos
Tipo de resultado Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

if 200 and data is available (is_success = true): "Successfully returned connections related to the alert {alertId} based on the provided criteria in Armis."

Se 200 e nenhum dado estiver disponível (is_success=false): "Nenhuma conexão foi encontrada relacionada ao alerta {alertId} com base nos critérios fornecidos no Armis".

A ação precisa falhar e interromper a execução de um playbook:

Se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "List Alert Connections". Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela do painel de casos

Nome:Available Communications

Colunas:

  • Título
  • Protocolo
  • Gravidade
  • Horário de início
  • Horário de término
Geral

Atualizar status do alerta

Atualize o status do alerta no Armis.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Código de alerta Número inteiro Sim Especifique o ID do alerta para o qual você quer atualizar o status.
Status DDL

Não processada

Valores possíveis:

  • Não processada
  • Suprimida
  • Resolvido
Não Especifique qual status deve ser definido para o alerta.

Data de execução

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Painel de casos
Tipo de resultado Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

if 200 (is_success = true): "O status do alerta "{alert id}" foi atualizado para "{status}" no Armis.".

Se 400 (is_success=true): "O alerta "{alert id}" já tem o status "{status}" no Armis. "

A ação precisa falhar e interromper a execução de um playbook:

Se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, entre outros: "Erro ao executar a ação "Atualizar status do alerta". Motivo: {0}''.format(error.Stacktrace)

Se 404: "Erro ao executar a ação "Atualizar status do alerta". Motivo: o alerta "{alert id}" não foi encontrado no Armis.

Geral

Conector

Para mais detalhes sobre como configurar conectores no Google SecOps, consulte Ingerir seus dados (conectores).

Armis: conector de alertas

Extrair alertas com atividades relacionadas da Armis.

Parâmetros do conector

Use os seguintes parâmetros para configurar o conector:

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome do campo do produto String alert_type Sim

O nome do campo em que o nome do produto é armazenado.

O valor padrão é alert_type.

O nome do produto afeta principalmente o mapeamento. Para simplificar e melhorar o processo de mapeamento do conector, o valor padrão alert_type é resolvido como um valor substituto referenciado no código. Qualquer entrada inválida para esse parâmetro será resolvida com um valor de substituição por padrão.

Nome do campo do evento String tipo Sim

O nome do campo que determina o nome do evento (subtipo).

Nome do campo de ambiente String "" Não

O nome do campo em que o nome do ambiente é armazenado.

Se o campo "environment" estiver ausente, o conector usará o valor padrão.

Environment Regex Pattern String .* Não

Um padrão de expressão regular a ser executado no valor encontrado no campo Environment Field Name. Com esse parâmetro, é possível manipular o campo "environment" usando a lógica de expressão regular.

Use o valor padrão .* para extrair o valor Environment Field Name bruto necessário.

Se o padrão de expressão regular for nulo ou vazio, ou se o valor do ambiente for nulo, o resultado final será o ambiente padrão.

Tempo limite do script (segundos) Número inteiro 180 Sim

O limite de tempo limite, em segundos, para o processo do Python que executa o script atual.

Raiz da API String https:// Sim Raiz da API da instância do Armis.
Chave secreta da API Senha N/A Sim Chave secreta da API da conta da Armis.
Menor gravidade a ser buscada Baixo Baixo Não A menor gravidade que será usada para buscar alertas. Valores possíveis: Low, Medium, High.
Máximo de horas para trás Número inteiro 1 Não

O número de horas antes da primeira iteração do conector para recuperar os alertas.

Esse parâmetro pode ser aplicado à iteração inicial do conector depois que você o ativa pela primeira vez ou ao valor de substituição de um carimbo de data/hora expirado do conector.

Número máximo de alertas a serem buscados Número inteiro 10 Não O número de alertas a serem processados por iteração de conector. O valor máximo é 1000.
Use whitelist as a blacklist Caixa de seleção Selecionado Sim

Se selecionado, o conector usa a lista dinâmica como uma lista de bloqueio.

Verificar SSL Caixa de seleção Desmarcado Sim Se selecionada, a integração valida o certificado SSL ao se conectar ao servidor Armis.
Endereço do servidor proxy String Não O endereço do servidor proxy a ser usado.
Nome de usuário do proxy String Não O nome de usuário do proxy para autenticação.
Senha do proxy Senha Não A senha do proxy para autenticação.

Regras do conector

O conector é compatível com proxies.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.