Tenable Security Center
Versão da integração: 15.0
Integrar o Tenable Security Center ao Google Security Operations
Para instruções detalhadas sobre como configurar uma integração no Google SecOps, consulte Configurar 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 ser usado na integração. |
Username |
Obrigatório Nome de usuário para fazer login no servidor do Tenable Security Center. |
Password |
Obrigatório Senha para fazer login no servidor do Tenable Security Center. |
Verify SSL |
Opcional Se selecionada, verifica se o certificado SSL para a conexão com o servidor da Tenable é válido. Essa configuração é selecionada por padrão. |
Ações
Adicionar IP ao recurso de lista de IPs
Adicione um IP a um recurso de lista de IPs no Tenable Security Center.
Parâmetros
| Nome de exibição do parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Nome do recurso | String | N/A | Sim | Especifique o nome do recurso de lista de IPs a que você quer adicionar novos IPs. |
Data de execução
Essa ação é executada na entidade "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
}
Painel de casos
| Tipo de resultado | Valor/descrição | Tipo |
|---|---|---|
| Mensagem de saída* | A ação não pode falhar nem interromper a execução de um playbook:
Se não houver entidades de IP: nenhum endereço IP foi adicionado ao recurso de lista de IPs {0}.format(name)
Se não for o código estático 200 (is_success = false): imprima "Erro ao executar a ação "Adicionar IP ao ativo da lista de IPs". Motivo: {0}''.format(error_msg) |
Geral |
Criar recurso de lista de IPs
Crie um recurso de lista de IPs no Tenable Security Center. Exige pelo menos uma entidade de IP para uma execução bem-sucedida.
Parâmetros
| Nome de exibição do parâmetro | Tipo | Valor padrão | É 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. |
| Tag | String | N/A | Não | Especifique a tag do recurso de lista de IPs. |
Data de execução
Essa ação é executada na entidade "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
}
Painel de casos
| Tipo de resultado | Valor/descrição | Tipo |
|---|---|---|
| Mensagem de saída* | A ação não pode falhar nem interromper a execução de um playbook:
Se não houver entidades de IP:imprima "Pelo menos uma entidade de IP precisa estar disponível para criar um recurso de lista de IPs".
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
Receba e enriqueça informações sobre endereços IP.
Parâmetros
| Parâmetro | Tipo | Valor padrão | Descrição |
|---|---|---|---|
| Nome do repositório | String | N/A | O nome do repositório. |
Data de execução
Essa ação é executada na entidade "Endereço IP".
Resultados da ação
Enriquecimento de entidade
| Nome do campo de enriquecimento | Lógica: quando aplicar |
|---|---|
| macAddress | Retorna se ele existe no resultado JSON |
| severityLow | Retorna se ele existe no resultado JSON |
| links | Retorna se ele existe no resultado JSON |
| ip | Retorna se ele existe no resultado JSON |
| última verificação | Retorna se ele existe no resultado JSON |
| severityCritical | Retorna se ele existe no resultado JSON |
| total | Retorna se ele existe no resultado JSON |
| severityAll | Retorna se ele existe no resultado JSON |
| mcafeeGUID | Retorna se ele existe no resultado JSON |
| policyName | Retorna se ele existe no resultado JSON |
| uuid | Retorna se ele existe no resultado JSON |
| lastAuthRun | Retorna se ele existe no resultado JSON |
| severityInfo | Retorna se ele existe no resultado JSON |
| osCPE | Retorna se ele existe no resultado JSON |
| exclusividade | Retorna se ele existe no resultado JSON |
| dnsName | Retorna se ele existe no resultado JSON |
| repositório | Retorna se ele existe no resultado JSON |
| ip | Retorna se ele existe no resultado JSON |
| descrição | Retorna se ele existe no resultado JSON |
| nome | Retorna se ele existe no resultado JSON |
| lastUnauthRun | Retorna se ele existe no resultado JSON |
| biosGUID | Retorna se ele existe no resultado JSON |
| tpmID | Retorna se ele existe no resultado JSON |
| score | Retorna se ele existe no resultado JSON |
| hasPassive | Retorna se ele existe no resultado JSON |
| pluginSet | Retorna se ele existe no resultado JSON |
| hasCompliance | Retorna se ele existe no resultado JSON |
| severityHigh | Retorna se ele existe no resultado JSON |
| netbiosName | Retorna se ele existe no resultado JSON |
| severityMedium | Retorna se ele existe no resultado JSON |
| os | Retorna se ele existe 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"
}
]
Acessar recursos relacionados
Recebe recursos relacionados a um endereço IP.
Parâmetros
| Parâmetro | Tipo | Valor padrão | Descrição |
|---|---|---|---|
| Nome do repositório | String | N/A | O nome do repositório. |
Data de execução
Essa ação é executada na entidade "Endereço IP".
Resultados da ação
Enriquecimento de entidade
| Nome do campo de enriquecimento | Lógica: quando aplicar |
|---|---|
| ID | Retorna se ele existe no resultado JSON |
| nome | Retorna se ele existe 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"
}
]
Acessar relatório
Receba o conteúdo do relatório por ID ou nome.
Parâmetros
| Parâmetro | Tipo | Valor padrão | Descrição |
|---|---|---|---|
| ID do relatório | String | N/A | Número do ID do relatório.Pode ser encontrado no URL do relatório. |
Executar em
Essa 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"
]
}
Receber resultados da verificação
Aguarde a conclusão da verificação e receba os resultados.
Parâmetros
| Parâmetro | Tipo | Valor padrão | Descrição |
|---|---|---|---|
| ID do resultado da verificação | String |
N/A | O ID dos resultados da verificação. |
Data de execução
Essa 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"
}
]
}
Receber vulnerabilidades para IP
Receba um resumo das vulnerabilidades e da gravidade de um endereço IP.
Parâmetros
N/A
Data de execução
Essa ação é executada na entidade "Endereço IP".
Resultados da ação
Enriquecimento de entidade
| Nome do campo de enriquecimento | Lógica: quando aplicar |
|---|---|
| macAddress | Retorna se ele existe no resultado JSON |
| protocolo | Retorna se ele existe no resultado JSON |
| uuid | Retorna se ele existe no resultado JSON |
| família | Retorna se ele existe no resultado JSON |
| pluginInfo | Retorna se ele existe no resultado JSON |
| ip | Retorna se ele existe no resultado JSON |
| pluginID | Retorna se ele existe no resultado JSON |
| gravidade, | Retorna se ele existe no resultado JSON |
| repositório | Retorna se ele existe no resultado JSON |
| exclusividade | Retorna se ele existe no resultado JSON |
| dnsName | Retorna se ele existe no resultado JSON |
| porta | Retorna se ele existe no resultado JSON |
| netbiosName | Retorna se ele existe no resultado JSON |
| nome | Retorna se ele existe 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"
}
]
Ping
Teste a conectividade.
Data de execução
Essa ação é executada em todas as entidades.
Resultados da ação
Resultado do script
| Nome do resultado do script | Opções de valor | Exemplo |
|---|---|---|
| null | N/A | N/A |
Verificar IPs
Inicie uma verificação de endereços IP.
Parâmetros
| Parâmetro | Tipo | Valor padrão | Descrição |
|---|---|---|---|
| Nome da verificação | String | N/A | O nome da verificação a ser criada. |
| Nome da política | String | N/A | O nome da política. |
Data de execução
Essa ação é executada na entidade "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 |
Executar a verificação de recursos
Execute a verificação de recursos no Tenable Security Center.
Onde encontrar o ID da política e do repositório
Para o ID da política:
- Acesse
https://INSTANCE_IP_ADDRESS/#policies. - Selecione a política que você quer usar na ação.
- No URL, você vai encontrar um ID dessa política.
Para o ID do repositório:
- Acesse
https://INSTANCE_IP_ADDRESS/#repositories. - Selecione o repositório que você quer usar na ação.
- No URL, você vai encontrar um ID desse repositório.
Parâmetros
| Nome de exibição do parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Nome da verificação | N/A | Sim | Especifique o nome da verificação. | |
| Nome do recurso | String | N/A | Sim | Especifique o nome do recurso que deve ser verificado. |
| ID da política | Número inteiro | N/A | Sim | Especifique o ID da política que deve ser usada na verificação. |
| ID do repositório | Número inteiro | N/A | Sim | Especifique o ID do repositório que será usado na verificação. |
| Descrição | String | N/A | Não | Especifique a descrição da verificação. |
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
{
"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
}
Painel de casos
| Tipo de resultado | Valor/descrição | Tipo |
|---|---|---|
| Mensagem de saída* | A ação não pode falhar nem interromper a execução de um playbook:
A ação precisa falhar e interromper a execução de um playbook: Se o recurso não for encontrado:imprima "Erro ao executar a ação "Executar verificação de recursos". Motivo: o recurso {0} não foi encontrado no Tenable Security Center. ''.format(name) Se não for o código estático 200 (is_success = false): imprima "Erro ao executar a ação "Executar verificação de recursos". Motivo:{0}".format(error_msg) |
Geral |
Conectores
Conector do Tenable Security Center
Para instruções detalhadas sobre como configurar um conector no Google SecOps, consulte Configurar o conector.
Parâmetros do conector
Use os seguintes parâmetros para configurar o conector:
| Parâmetro | Tipo | Valor padrão | 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 limite (em segundos) para o processo Python que executa o script atual. |
| Endereço do servidor | String | null | N/A |
| Nome de usuário | String | null | N/A |
| Senha | Senha | null | N/A |
| Usar SSL | Caixa de seleção | Desmarcado | N/A |
| Número máximo de dias para retroceder | Número inteiro | 1 | O número de dias anteriores a partir de que você quer buscar dados. |
| Limite por ciclo | Número inteiro | 10 | A quantidade de alertas ingeridos no conector em cada ciclo de execução. |
| Endereço do servidor proxy | String | null | O endereço do servidor proxy a ser usado. |
| Nome de usuário do proxy | String | null | O nome de usuário do proxy para autenticação. |
| Senha do proxy | Senha | null | 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.