Coletar dados da CMDB do ServiceNow
Este documento explica como coletar dados da CMDB do ServiceNow configurando um feed do Google Security Operations usando a API de terceiros.
Antes de começar
Verifique se você atende os seguintes pré-requisitos:
- Uma instância do Google SecOps
- Acesso privilegiado à instância do ServiceNow com acesso ao Admin Console
- Conta de usuário do ServiceNow com o papel
cmdb_read(requisito mínimo para acesso de leitura) - API REST ativada na sua instância do ServiceNow (ativada por padrão)
Configurar a lista de permissões de IP
Antes de criar o feed, inclua os intervalos de IP da SecOps do Google na lista de permissões do firewall ou das configurações de rede do ServiceNow.
Receber intervalos de IP do Google SecOps
- Extraia os intervalos de IP do arquivo JSON de intervalos de endereços IP do Google.
Adicionar intervalos de IP ao ServiceNow
- Faça login na sua instância do ServiceNow como administrador.
- Acesse Todos > Segurança do sistema > Controle de acesso por endereço IP.
- Clique em Novo.
- Informe os seguintes detalhes de configuração:
- Tipo: selecione Permitir.
- Endereço IP: insira um intervalo de IP do oneGoogle SecOps na notação CIDR (por exemplo,
192.0.2.0/24). - Nome: insira um nome descritivo, por exemplo,
GGoogle SecOps IP Range 1. - Ativa: marque a caixa de seleção para ativar a regra.
- Clique em Enviar.
- Repita as etapas de 3 a 5 para cada intervalo de IP adicional do Google SecOps.
Configurar o acesso à API do ServiceNow
Para permitir que o Google SecOps extraia dados da CMDB, crie um usuário do ServiceNow com as permissões adequadas.
Criar um usuário de integração dedicado (recomendado)
- Faça login no ServiceNow Admin Console.
- Acesse Todos > Administração de usuários > Usuários.
- Clique em Novo.
- Informe os seguintes detalhes de configuração:
- ID do usuário: insira um nome de usuário descritivo (por exemplo,
google_secops_integration). - Nome: insira
Google. - Sobrenome: insira
SecOps Integration. - E-mail: insira um endereço de e-mail válido para receber notificações.
- Senha: clique em Definir senha e crie uma senha forte.
- Ativo: marque a caixa de seleção.
- Acesso somente ao serviço da Web: marque a caixa de seleção (recomendado para acesso somente à API).
- ID do usuário: insira um nome de usuário descritivo (por exemplo,
- Clique em Enviar.
Atribuir as permissões necessárias
- Depois de criar o usuário, abra o registro dele.
- Acesse a seção Funções.
- Clique em Editar.
- Na lista Coleção, procure e adicione o seguinte papel:
- cmdb_read: fornece acesso de leitura às tabelas do CMDB.
- Clique em Salvar.
Registrar credenciais de API
Depois de criar o usuário, registre as seguintes credenciais:
- Nome de usuário: o ID de usuário que você criou (por exemplo,
google_secops_integration) - Senha: a senha definida para o usuário
- Nome do host da API: o FQDN da sua instância do ServiceNow (por exemplo,
myinstance.servicenow.com)- Não inclua
https://nem caminhos. - Não inclua a barra final.
- Não inclua
- Nome da tabela: a tabela do CMDB a ser consultada (por exemplo,
cmdb_ci,cmdb_ci_server,cmdb_ci_computer)
Como entender as tabelas do CMDB do ServiceNow
O CMDB do ServiceNow é organizado em uma estrutura hierárquica de tabelas. As tabelas mais comuns para ingestão de dados de recursos incluem:
| Nome da tabela | Descrição | Caso de uso |
|---|---|---|
cmdb_ci |
Tabela de itens de configuração básicos (elemento principal de todas as tabelas CI) | Todos os itens de configuração |
cmdb_ci_server |
Itens de configuração do servidor | Servidores físicos e virtuais |
cmdb_ci_computer |
Itens de configuração do computador | Estações de trabalho, laptops e computadores |
cmdb_ci_linux_server |
Itens de configuração do servidor Linux | Servidores Linux especificamente |
cmdb_ci_win_server |
Itens de configuração do Windows Server | Servidores Windows especificamente |
cmdb_ci_vm_instance |
Instâncias de máquina virtual | Máquinas virtuais |
cmdb_ci_network_adapter |
Adaptadores de rede | Placas de interface de rede |
cmdb_ci_ip_address |
Endereços IP | Registros de endereço IP |
cmdb_ci_service |
Serviços comerciais | Itens do catálogo de serviços |
cmdb_ci_appl |
Aplicativos | Itens de configuração do aplicativo |
Verificar o acesso à API REST
Antes de criar o feed, verifique se as credenciais da API ServiceNow funcionam corretamente.
Testar usando o REST API Explorer (opcional)
- Faça login na sua instância do ServiceNow como o usuário de integração.
- Acesse Todos > Serviços da Web do sistema > REST > REST API Explorer.
- Selecione API Table no menu suspenso de namespace.
- Selecione Recuperar registros de uma tabela (GET).
- Em Parâmetros de caminho, insira o nome da tabela (por exemplo,
cmdb_ci). - Clique em Enviar.
- Verifique se o status da resposta é 200 OK e se os registros são retornados.
Testar usando curl (opcional)
Como alternativa, teste a API usando curl:
curl "https://your-instance.service-now.com/api/now/table/cmdb_ci?sysparm_limit=10" \ --request GET \ --header "Accept: application/json" \ --user 'your-username':'your-password'- Substitua:
your-instance.service-now.com: nome do host da sua instância do ServiceNowyour-username: seu nome de usuário de integraçãoyour-password: a senha do usuário de integração
- Substitua:
Uma resposta bem-sucedida vai retornar dados JSON com itens de configuração.
Configurar feeds
Para configurar um feed, siga estas etapas:
- Acesse Configurações do SIEM > Feeds.
- Clique em Adicionar novo feed.
- Na próxima página, clique em Configurar um único feed.
- No campo Nome do feed, insira um nome para o feed (por exemplo,
ServiceNow CMDB - All CIsouServiceNow CMDB - Servers). - Selecione API de terceiros como o Tipo de origem.
- Selecione CMDB do ServiceNow como o Tipo de registro.
- Clique em Próxima.
Especifique valores para os seguintes parâmetros de entrada:
- Nome de usuário: digite o ID do usuário do ServiceNow (por exemplo,
google_secops_integration). - Chave secreta: insira a senha do usuário do ServiceNow. Importante: esse é um campo sensível. A senha é criptografada e não pode ser visualizada depois de salva.
- Nome do host da API: insira o nome de domínio totalmente qualificado da sua instância do ServiceNow.
- Exemplo:
myinstance.servicenow.com - Não inclua:
- Protocolo (
https://) - Caminhos (
/api/now/table/) - Barra à direita
- Protocolo (
- Exemplo:
- Instâncias regionais:se a instância do ServiceNow estiver em uma região específica, use o formato de nome de host correto:
- Padrão:
instance.service-now.com - União Europeia:
instance.service-now.eu - Outras regiões: verifique com o administrador do ServiceNow
- Padrão:
- Nome da tabela: insira a tabela do CMDB do ServiceNow a ser consultada.
- Exemplos:
cmdb_ci(todos os itens de configuração)cmdb_ci_server(todos os servidores)cmdb_ci_computer(estações de trabalho e computadores)cmdb_ci_linux_server(somente servidores Linux)cmdb_ci_win_server(somente servidores Windows) Observação: o nome da tabela diferencia maiúsculas de minúsculas e precisa ser exatamente igual. É possível consultar apenas uma tabela por feed. Para ingerir várias tabelas, crie feeds separados para cada uma delas.
- Exemplos:
- Namespace do recurso: o namespace do recurso.
- Rótulos de ingestão: o rótulo a ser aplicado aos eventos deste feed.
- Nome de usuário: digite o ID do usuário do ServiceNow (por exemplo,
Clique em Próxima.
Revise a nova configuração do feed na tela Finalizar e clique em Enviar.
Após a configuração, o feed começa a recuperar registros da CMDB da instância do ServiceNow. A sincronização inicial pode levar vários minutos, dependendo do número de registros na tabela.
Ingerir várias tabelas de CMDB
Para ingerir dados de várias tabelas de CMDB, crie feeds separados para cada tabela:
- Crie o primeiro feed usando as etapas acima (por exemplo, para
cmdb_ci_server). - Clique em Adicionar novo feed para criar outros feeds.
- Use as mesmas credenciais do ServiceNow, mas especifique nomes de tabelas diferentes.
Exemplo de configuração:
| Nome do feed | Nome da tabela | Finalidade |
|---|---|---|
| CMDB do ServiceNow: servidores | cmdb_ci_server |
Todas as CIs de servidor |
| CMDB do ServiceNow: computadores | cmdb_ci_computer |
CIs de estação de trabalho |
| CMDB do ServiceNow: adaptadores de rede | cmdb_ci_network_adapter |
CIs de interface de rede |
| CMDB do ServiceNow: aplicativos | cmdb_ci_appl |
CIs de aplicativos |
Permissões de API necessárias
O usuário da integração precisa das seguintes permissões do ServiceNow:
| Permissão/papel | Nível de acesso | Finalidade |
|---|---|---|
| cmdb_read | Ler | Recuperar dados de itens de configuração do CMDB |
Outras funções (opcional):
- itil: obrigatório se você precisar de acesso de gravação para criar ou atualizar CIs (não é obrigatório para a ingestão do Google SecOps)
- rest_api_explorer: útil para testar o acesso à API durante a configuração.
Tabela de mapeamento do UDM
| Campo do ServiceNow | Mapeamento do UDM | Lógica |
|---|---|---|
name |
entity.asset.hostname |
Nome do host principal do recurso |
ip_address |
entity.asset.ip |
Endereço IP principal do recurso |
mac_address |
entity.asset.mac |
Endereço MAC do recurso |
serial_number |
entity.asset.hardware.serial_number |
número de série do hardware. |
asset_tag |
entity.asset.asset_id |
Tag ou identificador do recurso |
sys_class_name |
entity.asset.asset_type |
Classe de CI (servidor, computador etc.) |
os |
entity.asset.platform_software.platform |
Sistema operacional |
sys_created_on |
entity.asset.first_seen_time |
Carimbo de data/hora da criação do recurso |
sys_updated_on |
entity.asset.last_seen_time |
Carimbo de data/hora da última atualização |
location |
entity.asset.location.name |
Localização física |
company |
entity.asset.attribute.labels.value |
Empresa/organização proprietária |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.