Integrar o Armis ao Google SecOps
Neste documento, descrevemos como integrar o Armis ao Google Security Operations.
Casos de uso
- Realizar ações de enriquecimento.
- Realizar a ingestão dos alertas.
- Realizar ação de triagem (atualizar 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 Armis | |
| Chave secreta da API | Senha | N/A | Sim | Chave secreta da API Armis |
| Verificar SSL | Caixa de seleção | Selecionado | Sim | Se ativada, verifica se o certificado SSL para a conexão com o servidor do Armis é válido. |
Para instruções sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.
Se necessário, você pode fazer mudanças depois. Depois de configurar uma instância de integração, é possível usá-la em playbooks. Para mais informações sobre como configurar e oferecer suporte a várias instâncias, consulte Como oferecer suporte a várias instâncias.
Ações
Para mais informações sobre ações, consulte Responder a ações pendentes na sua mesa de trabalho e Executar uma ação manual no seu caso.
Ping
Teste a conectividade com o 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 |
Mural do caso
| 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 Armis estabelecida com os parâmetros fornecidos." A ação deve falhar e interromper a execução de um playbook: Se não for bem-sucedido: "Falha ao se conectar ao servidor da Armis! O erro é {0}".format(exception.stacktrace) |
Geral |
Enriquecer entidades
Enriqueça as entidades usando informações da Armis. Entidades compatíveis: IP, endereço MAC.
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 entidades
| 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 |
Mural do caso
| 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): "Successfully enriched the following entities using Armis:\n".format(entity.identifier) Se não foi possível enriquecer algumas (is_success = true): "A ação não conseguiu enriquecer as seguintes entidades usando o Armis:\n".format(entity.identifier) Se não tiver enriquecido todas (is_success = false): "Nenhuma entidade foi enriquecida". A ação deve falhar e interromper a execução de um playbook: |
Geral |
| Tabela de entidades | Entidade |
Listar conexões de alerta
Lista 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 | Inteiro | Sim | Especifique o ID do alerta para o qual você quer extrair dados de conexões. | |
| Gravidade mais baixa para buscar | DDL | Média Valores possíveis:
|
Não | Especifique a gravidade mais baixa das conexões que devem ser usadas ao buscá-las. |
| Máximo de conexões a serem retornadas | 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
}
Mural do caso
| 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 200 e os dados estiverem disponíveis (is_success = true): "As conexões relacionadas ao alerta {alertId} foram retornadas com base nos critérios fornecidos no Armis." Se 200 e nenhum dado estiver disponível (is_success=false): "Nenhuma conexão relacionada ao alerta {alertId} foi encontrada com base nos critérios fornecidos no Armis." A ação deve falhar e interromper a execução de um playbook: Se houver um erro fatal, como credenciais incorretas, falta de conexão com o servidor, entre outros: "Erro ao executar a ação 'Listar conexões de alerta'. Motivo: {0}''.format(error.Stacktrace) |
Geral |
| Tabela do painel de casos | Nome: Comunicações disponíveis Colunas:
|
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 | Inteiro | Sim | Especifique o ID do alerta que você quer atualizar. | |
| Status | DDL | Não processado Valores possíveis:
|
Não | Especifique o status que 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 |
Mural do caso
| 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 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 deve falhar e interromper a execução de um playbook: Se houver um erro fatal, como credenciais incorretas, falta de 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 saber como configurar conectores no Google SecOps, consulte Ingerir seus dados (conectores).
Armis: conector de alertas
Extraia alertas com atividades relacionadas do 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 é O nome do produto
afeta principalmente o mapeamento. Para simplificar e melhorar o processo de mapeamento do
conector, o valor padrão |
| Nome do campo do evento | String | tipo | Sim | O nome do campo que determina o nome do evento (subtipo). |
| Nome do campo do ambiente | String | "" | Não | O nome do campo em que o nome do ambiente é armazenado. Se o campo de ambiente estiver ausente, o conector usará o valor padrão. |
Environment Regex Pattern |
String | .* | Não |
Um padrão de expressão regular para executar no valor encontrado no campo Use o valor padrão 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 de script (segundos) | 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 do Armis. |
| Gravidade mais baixa para buscar | Baixo | Baixo | Não | A gravidade mais baixa que será usada para buscar alertas. Valores possíveis:
Low, Medium, High. |
| Máximo de horas para trás | 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 substituto de um carimbo de data/hora expirado do conector. |
| Máximo de alertas para buscar | Inteiro | 10 | Não | O número de alertas a serem processados por iteração do 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.