Tenable Security Center

Versão da integração: 15.0

Integre o Tenable Security Center com o Google Security Operations

Para obter instruções detalhadas sobre como configurar uma integração no Google SecOps, consulte o artigo Configure integrações.

Entradas de integração

Para configurar a integração, use os seguintes parâmetros:

Parâmetros
Server Address Obrigatório

O endereço do servidor do Tenable Security Center a usar na integração.

Username Obrigatório

Nome de utilizador para iniciar sessão no servidor do Tenable Security Center.

Password Obrigatório

Palavra-passe para iniciar sessão no servidor do Tenable Security Center.

Verify SSL Opcional

Se selecionada, verifica se o certificado SSL para a ligação ao servidor Tenable é válido.

Selecionado por predefinição.

Ações

Adicione um IP ao recurso de lista de IPs

Adicione um IP a um recurso de lista de IPs no Tenable Security Center.

Parâmetros

Nome a apresentar do parâmetro Tipo Valor predefinido É obrigatório Descrição
nome do recurso String N/A Sim Especifique o nome do recurso de lista de IPs ao qual quer adicionar novos IPs.

É apresentado em

Esta ação é executada na entidade de endereço IP.

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
{
    "type": "regular",
    "response": {
        "id": "41",
        "name": "api_test_5",
        "type": "static",
        "description": "",
        "tags": "qweqwe",
        "context": "",
        "status": "0",
        "createdTime": "1606129689",
        "modifiedTime": "1606129689",
        "ioSyncStatus": "Not Synced",
        "ioFirstSyncTime": "-1",
        "ioLastSyncSuccess": "-1",
        "ioLastSyncFailure": "-1",
        "ioSyncErrorDetails": null,
        "typeFields": {
            "definedIPs": "203.0.113.1,203.0.113.10"
        },
        "repositories": [
            {
                "ipCount": "-1",
                "repository": {
                    "id": "1",
                    "name": "Example-Repository",
                    "description": ""
                }
            }
        ],
        "ipCount": -1,
        "groups": [],
        "assetDataFields": [],
        "canUse": "true",
        "canManage": "true",
        "creator": {
            "id": "1",
            "username": "security_manager",
            "firstname": "Manager",
            "lastname": "Security"
        },
        "owner": {
            "id": "1",
            "username": "security_manager",
            "firstname": "Manager",
            "lastname": "Security"
        },
        "ownerGroup": {
            "id": "0",
            "name": "Full Access",
            "description": "Full Access group"
        },
        "targetGroup": {
            "id": -1,
            "name": "",
            "description": ""
        },
        "template": {
            "id": -1,
            "name": "",
            "description": ""
        }
    },
    "error_code": 0,
    "error_msg": "",
    "warnings": [],
    "timestamp": 1606129688
}
Parede da caixa
Tipo de resultado Valor/descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um playbook:
Se o código estático for 200(is_success = true): print "Successfully added the following IPs to the IP List Asset {0} in Tenable Security Center:\n{1}".format(name, entity.identifier)

Se não existirem entidades de IP: não foram adicionados endereços IP ao recurso de lista de IPs {0}.format(name)

A ação deve falhar e parar a execução de um manual de procedimentos:
se ocorrer um erro fatal, como credenciais incorretas, nenhuma ligação ao servidor ou outro: imprima "Erro ao executar a ação "Adicionar IP ao recurso de lista de IPs". Motivo: {0}''.format(error.Stacktrace)


Se o recurso não for encontrado: imprima "Erro ao executar a ação "Adicionar IP ao recurso de lista de IPs". Motivo: não foi possível encontrar o recurso {0} no Tenable Security Center. ''.format(error.Stacktrace)

Se não for código estático 200 (is_success = false): print "Erro ao executar a ação "Adicionar IP ao recurso de lista de IPs". Motivo: {0}''.format(error_msg)

Geral

Crie um recurso de lista de IPs

Crie um recurso de lista de IPs no Tenable Security Center. Requer, pelo menos, uma entidade de IP para uma execução bem-sucedida.

Parâmetros

Nome a apresentar do parâmetro Tipo Valor predefinido É obrigatório Descrição
Nome String N/A Sim Especifique o nome do recurso de lista de IPs.
Descrição String N/A Não Especifique a descrição do recurso de lista de IPs.
Etiqueta String N/A Não Especifique a etiqueta do recurso de lista de IPs.

É apresentado em

Esta ação é executada na entidade de endereço IP.

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
{
    "type": "regular",
    "response": {
        "id": "41",
        "name": "api_test_5",
        "type": "static",
        "description": "",
        "tags": "qweqwe",
        "context": "",
        "status": "0",
        "createdTime": "1606129689",
        "modifiedTime": "1606129689",
        "ioSyncStatus": "Not Synced",
        "ioFirstSyncTime": "-1",
        "ioLastSyncSuccess": "-1",
        "ioLastSyncFailure": "-1",
        "ioSyncErrorDetails": null,
        "typeFields": {
            "definedIPs": "203.0.113.1,203.0.113.10"
        },
        "repositories": [
            {
                "ipCount": "-1",
                "repository": {
                    "id": "1",
                    "name": "Example-Repository",
                    "description": ""
                }
            }
        ],
        "ipCount": -1,
        "groups": [],
        "assetDataFields": [],
        "canUse": "true",
        "canManage": "true",
        "creator": {
            "id": "1",
            "username": "security_manager",
            "firstname": "Manager",
            "lastname": "Security"
        },
        "owner": {
            "id": "1",
            "username": "security_manager",
            "firstname": "Manager",
            "lastname": "Security"
        },
        "ownerGroup": {
            "id": "0",
            "name": "Full Access",
            "description": "Full Access group"
        },
        "targetGroup": {
            "id": -1,
            "name": "",
            "description": ""
        },
        "template": {
            "id": -1,
            "name": "",
            "description": ""
        }
    },
    "error_code": 0,
    "error_msg": "",
    "warnings": [],
    "timestamp": 1606129688
}
Parede da caixa
Tipo de resultado Valor/descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um playbook:
Se o código estático for 200(is_success = true): imprima "Successfully created new IP List Asset {0} with the following IPs in Tenable Security Center:\n{1}".format(name, entity.identifier)

Se não existirem entidades de IP: imprima "Tem de ter, pelo menos, 1 entidade de IP para criar um recurso de lista de IPs".


A ação deve falhar e parar a execução de um playbook:
se ocorrer um erro fatal, como credenciais incorretas, sem ligação ao servidor, outro: imprima "Erro ao executar a ação "Criar recurso de lista de IPs". Motivo: {0}''.format(error.Stacktrace)

Se não for o código estático 200 (is_success = false): imprima "Erro ao executar a ação "Criar recurso de lista de IPs". Motivo: {0}''.format(error_msg)

Geral

Enriquecer IP

Obtenha informações sobre endereços IP e enriqueça-as.

Parâmetros

Parâmetro Tipo Valor predefinido Descrição
Nome do repositório String N/A O nome do repositório.

É apresentado em

Esta ação é executada na entidade de endereço IP.

Resultados da ação

Enriquecimento de entidades
Nome do campo de enriquecimento Lógica: quando aplicar
macAddress Devolve se existir no resultado JSON
severityLow Devolve se existir no resultado JSON
links Devolve se existir no resultado JSON
ip Devolve se existir no resultado JSON
última análise Devolve se existir no resultado JSON
severityCritical Devolve se existir no resultado JSON
total Devolve se existir no resultado JSON
severityAll Devolve se existir no resultado JSON
mcafeeGUID Devolve se existir no resultado JSON
policyName Devolve se existir no resultado JSON
uuid Devolve se existir no resultado JSON
lastAuthRun Devolve se existir no resultado JSON
severityInfo Devolve se existir no resultado JSON
osCPE Devolve se existir no resultado JSON
originalidade Devolve se existir no resultado JSON
dnsName Devolve se existir no resultado JSON
repositório Devolve se existir no resultado JSON
ip Devolve se existir no resultado JSON
descrição Devolve se existir no resultado JSON
nome Devolve se existir no resultado JSON
lastUnauthRun Devolve se existir no resultado JSON
biosGUID Devolve se existir no resultado JSON
tpmID Devolve se existir no resultado JSON
pontuação Devolve se existir no resultado JSON
hasPassive Devolve se existir no resultado JSON
pluginSet Devolve se existir no resultado JSON
hasCompliance Devolve se existir no resultado JSON
severityHigh Devolve se existir no resultado JSON
netbiosName Devolve se existir no resultado JSON
severityMedium Devolve se existir no resultado JSON
os Devolve se existir no resultado JSON
Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Resultado JSON
[
{
"EntityResult":
{
"macAddress": "",
"severityLow": "0",
"links": [],
"ip": "203.0.113.1",
"lastScan": "1549425224",
"severityCritical": "0",
"total": "2",
"severityAll": "0,0,0,0,2",
"mcafeeGUID": "",
"policyName": "1e2e4247-0de7-56d5-8026-34ab1f3150ef-1130313/Basic Discovery Scan",
"uuid": "",
"lastAuthRun": "",
"severityInfo": "2",
"osCPE": "",
"uniqueness": "repositoryID,ip,dnsName",
 "dnsName": "example.com",
"repository":
          {
"id": "1",
"description": "",
"name": "repository"
          },
"lastUnauthRun": "1549363419",
"biosGUID": "",
"tpmID": "",
"score": "0",
"hasPassive": "No",
"pluginSet": "201902020242",
"hasCompliance": "No",
"severityHigh": "0",
"netbiosName": "",
"severityMedium": "0",
"os": ""
},
"Entity": "203.0.113.1"
}
]

Obtenha recursos relacionados com um endereço IP.

Parâmetros

Parâmetro Tipo Valor predefinido Descrição
Nome do repositório String N/A O nome do repositório.

É apresentado em

Esta ação é executada na entidade de endereço IP.

Resultados da ação

Enriquecimento de entidades
Nome do campo de enriquecimento Lógica: quando aplicar
id Devolve se existir no resultado JSON
nome Devolve se existir no resultado JSON
Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Resultado JSON
[
{
"EntityResult":
[
{
"id": "0",
"description": "All defining ranges of the Group in whose context this Asset is being evaluated.",
"name": "All Defined Ranges"
}, {
"id": "2",
"description": "This asset uses the Scan Summary plugin to detect if a host has been scanned by Nessus. The Scan Summary plugin contains the list of tests conducted during the most recent scan.",
"name": "Systems that have been Scanned"
}, {
"id": "13",
"description": "Leverage Nessus plugin 10180 (Ping the remote host) and Nessus plugin 12503 (Host Fully Qualified Domain Name (FQDN) Resolution) to find hosts that don't have a resolvable FQDN in DNS.",
"name": "Scanned Hosts Not in DNS"
}
],
"Entity": "203.0.113.1"
}
]

Obter relatório

Obtenha o conteúdo do relatório por ID ou nome.

Parâmetros

Parâmetro Tipo Valor predefinido Descrição
ID de relatórios String N/A Número de ID da denúncia.Pode ser encontrado no URL da denúncia.

Executar em

Esta ação é executada em todas as 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
{
"pubSites":
[
"https://example.com",
"https://example.net"
]
}

Obtenha resultados da análise

Aguarde a conclusão da análise e receba os resultados da mesma.

Parâmetros

Parâmetro Tipo Valor predefinido Descrição
ID do resultado da análise

String

N/A O ID dos resultados da análise.

É apresentado em

Esta ação é executada em todas as 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

{
"severity_summary":
[
{
"count": "0",
"severity":
{
"id": "4",
"name": "Critical",
"description": "Critical Severity"
}
}, {
"count": "0",
"severity":
{
"id": "3",
"name": "High",
"description": "High Severity"
}
}, {
"count": "3",
"severity":
{"id": "2",
"name": "Medium",
"description": "Medium Severity"
}}
],
"results":
[
{
"name": "DNS Server Recursive Query Cache Poisoning Weakness",
"family": "DNS",
"hostTotal": "1",
"pluginID": "10539",
"total": "1",
"severity": "Medium"
}, {
"name": "DNS Server Spoofed Request Amplification DDoS",
"family": "DNS",
"hostTotal": "1",
"pluginID": "35450",
"total": "1",
"severity": "Medium"
}, {
"name": "SSL Medium Strength Cipher Suites Supported",
"family": "General",
"hostTotal": "1",
"pluginID": "42873",
"total": "1",
"severity": "Medium"
}
]
}

Obtenha vulnerabilidades para o IP

Obtenha um resumo das vulnerabilidades e da gravidade de um endereço IP.

Parâmetros

N/A

É apresentado em

Esta ação é executada na entidade de endereço IP.

Resultados da ação

Enriquecimento de entidades
Nome do campo de enriquecimento Lógica: quando aplicar
macAddress Devolve se existir no resultado JSON
protocolo Devolve se existir no resultado JSON
uuid Devolve se existir no resultado JSON
família Devolve se existir no resultado JSON
pluginInfo Devolve se existir no resultado JSON
ip Devolve se existir no resultado JSON
pluginID Devolve se existir no resultado JSON
gravidade Devolve se existir no resultado JSON
repositório Devolve se existir no resultado JSON
originalidade Devolve se existir no resultado JSON
dnsName Devolve se existir no resultado JSON
porta Devolve se existir no resultado JSON
netbiosName Devolve se existir no resultado JSON
nome

Devolve se existir no resultado JSON

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Resultado JSON
[
{
"EntityResult":
[
{
"macAddress": "",
"protocol": "TCP",
"uuid": "",
"family": "Web Servers",
"pluginInfo": "10107 (443/6) HTTP Server Type and Version",
"ip": "203.0.113.1",
"pluginID": "10107",
"severity": "Info",
"repository": "repo",
"uniqueness": "repositoryID,ip,dnsName",
"dnsName": "example.com",
"port": "443",
"netbiosName": "",
"name": "HTTP Server Type and Version"
}, {
"macAddress": "",
"protocol": "UDP",
"uuid": "",
"family": "DNS",
"pluginInfo": "10539 (53/17) DNS Server Recursive Query Cache Poisoning Weakness",
"ip": "203.0.113.1",
"pluginID": "10539",
"severity": "Medium",
"repository": "repo",
"uniqueness": "repositoryID,ip,dnsName",
"dnsName": "exaample.com",
"port": "53",
"netbiosName": "",
"name": "DNS Server Recursive Query Cache Poisoning Weakness"
}, {
"macAddress": "",
"protocol": "TCP",
"uuid": "",
"family": "General",
"pluginInfo": "10863 (443/6) SSL Certificate Information",
"ip": "203.0.113.1",
"pluginID": "10863",
"severity": "Info",
"repository": "repo",
"uniqueness": "repositoryID,ip,dnsName",
"dnsName": "example.com",
"port": "443",
"netbiosName": "",
"name": "SSL Certificate Information"
}
],
"Entity": "203.0.113.1"
}
]

Tchim-tchim

Teste a conetividade.

É apresentado em

Esta ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
nulo N/A N/A

Analisar IPs

Inicie uma análise de endereços IP.

Parâmetros

Parâmetro Tipo Valor predefinido Descrição
Nome da análise String N/A O nome da análise a criar.
Nome da política String N/A O nome da política.

É apresentado em

Esta ação é executada na entidade de endereço IP.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
scan_result_id N/A N/A

Execute a análise de recursos

Execute a análise de recursos no Tenable Security Center.

Onde encontrar o ID da política e o ID do repositório

Para o ID da política:

  1. Navegar para https://INSTANCE_IP_ADDRESS/#policies.
  2. Selecione a política que quer usar em ação.
  3. No URL, pode ver um ID dessa política.

Para o ID do repositório:

  1. Navegar para https://INSTANCE_IP_ADDRESS/#repositories.
  2. Selecione o repositório que quer usar na ação.
  3. No URL, pode ver um ID desse repositório.

Parâmetros

Nome a apresentar do parâmetro Tipo Valor predefinido É obrigatório Descrição
Nome da análise N/A Sim Especifique o nome da análise.
nome do recurso String N/A Sim Especifique o nome do recurso que deve ser analisado.
ID da política Número inteiro N/A Sim Especifique o ID da política que deve ser usado na análise.
ID do repositório Número inteiro N/A Sim Especifique o ID do repositório que deve ser usado na análise.
Descrição String N/A Não Especifique a descrição da procura.

É apresentado em

Esta 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
{
    "type": "regular",
    "response": {
        "id": "11",
        "name": "Scan Name",
        "description": "",
        "ipList": "",
        "type": "policy",
        "dhcpTracking": "false",
        "classifyMitigatedAge": "0",
        "emailOnLaunch": "false",
        "emailOnFinish": "false",
        "timeoutAction": "import",
        "scanningVirtualHosts": "false",
        "rolloverType": "template",
        "status": "0",
        "createdTime": "1606132784",
        "modifiedTime": "1606132784",
        "maxScanTime": "3600",
        "reports": [],
        "assets": [
            {
                "id": "38",
                "name": "api_test_1",
                "description": ""
            }
        ],
        "credentials": [],
        "numDependents": "0",
        "schedule": {
            "id": -1,
            "objectType": -1,
            "type": "now",
            "start": "",
            "repeatRule": "",
            "enabled": "true",
            "nextRun": -1,
            "dependent": {
                "id": -1,
                "name": "",
                "description": ""
            }
        },
        "policy": {
            "id": "1000002",
            "context": "",
            "name": "Host Discovery",
            "description": "",
            "tags": "",
            "owner": {
                "id": "1",
                "username": "security_manager",
                "firstname": "Manager",
                "lastname": "Security"
            },
            "ownerGroup": {
                "id": "0",
                "name": "Full Access",
                "description": "Full Access group"
            }
        },
        "policyPrefs": [
            {
                "name": "MODE|discovery",
                "value": "host_enumeration"
            },
            {
                "name": "description",
                "value": ""
            },
            {
                "name": "display_unreachable_hosts",
                "value": "no"
            },
            {
                "name": "log_live_hosts",
                "value": "yes"
            },
            {
                "name": "name",
                "value": "Host Discovery"
            },
            {
                "name": "reverse_lookup",
                "value": "no"
            }
        ],
        "repository": {
            "id": "1",
            "name": "Example-Repository",
            "description": ""
        },
        "canUse": "true",
        "canManage": "true",
        "plugin": {
            "id": -1,
            "name": "",
            "description": ""
        },
        "zone": {
            "id": -1,
            "name": "",
            "description": ""
        },
        "ownerGroup": {
            "id": "0",
            "name": "Full Access",
            "description": "Full Access group"
        },
        "creator": {
            "id": "1",
            "username": "security_manager",
            "firstname": "Manager",
            "lastname": "Security"
        },
        "owner": {
            "id": "1",
            "username": "security_manager",
            "firstname": "Manager",
            "lastname": "Security"
        },
        "scanResultID": "34"
    },
    "error_code": 0,
    "error_msg": "",
    "warnings": [],
    "timestamp": 1606132783
}
Parede da caixa
Tipo de resultado Valor/descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um playbook:
Se o código estático 200(is_success = true): print "Successfully started asset scan {0} in Tenable Security Center.".format(name)

A ação deve falhar e parar a execução de um manual de procedimentos:
se ocorrer um erro fatal, como credenciais incorretas, não existir ligação ao servidor ou outro: imprima "Erro ao executar a ação "Executar análise de recursos". Motivo: {0}''.format(error.Stacktrace)

If asset not found: print "Error executing action "Run Asset Scan". Motivo: não foi possível encontrar o recurso {0} no Tenable Security Center. ''.format(name)

Se não for o código estático 200 (is_success = false): print "Erro ao executar a ação "Executar análise de recursos". Motivo:{0}".format(error_msg)

Geral

Conetores

Conetor do centro de segurança da Tenable

Para ver instruções detalhadas sobre como configurar um conetor no Google SecOps, consulte o artigo Configurar o conetor.

Parâmetros do conetor

Use os seguintes parâmetros para configurar o conector:

Parâmetro Tipo Valor predefinido Descrição
DeviceProductField String device_product O nome do campo usado para determinar o produto do dispositivo.
EventClassId String nome O nome do campo usado para determinar o nome do evento (subtipo).
PythonProcessTimeout String 60 O limite de tempo (em segundos) para o processo Python que executa o script atual.
Endereço do servidor String nulo N/A
Nome de utilizador String nulo N/A
Palavra-passe Palavra-passe nulo N/A
Usar SSL Caixa de verificação Desmarcado N/A
Máximo de dias para trás Número inteiro 1 O número de dias anteriores a partir dos quais quer obter dados.
Limite por ciclo Número inteiro 10 A quantidade de alertas carregados no conector em cada ciclo de execução.
Endereço do servidor proxy String nulo O endereço do servidor proxy a usar.
Nome de utilizador do proxy String nulo O nome de utilizador do proxy para autenticação.
Palavra-passe do proxy Palavra-passe nulo A palavra-passe do proxy para autenticação.

Regras de conector

O conetor suporta proxies.

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