Coletar dados da CMDB do ServiceNow

Compatível com:

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

Adicionar intervalos de IP ao ServiceNow

  1. Faça login na sua instância do ServiceNow como administrador.
  2. Acesse Todos > Segurança do sistema > Controle de acesso por endereço IP.
  3. Clique em Novo.
  4. 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.
  5. Clique em Enviar.
  6. 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.

  1. Faça login no ServiceNow Admin Console.
  2. Acesse Todos > Administração de usuários > Usuários.
  3. Clique em Novo.
  4. 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).
  5. Clique em Enviar.

Atribuir as permissões necessárias

  1. Depois de criar o usuário, abra o registro dele.
  2. Acesse a seção Funções.
  3. Clique em Editar.
  4. Na lista Coleção, procure e adicione o seguinte papel:
    • cmdb_read: fornece acesso de leitura às tabelas do CMDB.
  5. 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.
  • 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)

  1. Faça login na sua instância do ServiceNow como o usuário de integração.
  2. Acesse Todos > Serviços da Web do sistema > REST > REST API Explorer.
  3. Selecione API Table no menu suspenso de namespace.
  4. Selecione Recuperar registros de uma tabela (GET).
  5. Em Parâmetros de caminho, insira o nome da tabela (por exemplo, cmdb_ci).
  6. Clique em Enviar.
  7. 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 ServiceNow
      • your-username: seu nome de usuário de integração
      • your-password: a senha do usuário de integração

Uma resposta bem-sucedida vai retornar dados JSON com itens de configuração.

Configurar feeds

Para configurar um feed, siga estas etapas:

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na próxima página, clique em Configurar um único feed.
  4. No campo Nome do feed, insira um nome para o feed (por exemplo, ServiceNow CMDB - All CIs ou ServiceNow CMDB - Servers).
  5. Selecione API de terceiros como o Tipo de origem.
  6. Selecione CMDB do ServiceNow como o Tipo de registro.
  7. Clique em Próxima.
  8. 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
    • 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
    • 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.
    • Namespace do recurso: o namespace do recurso.
    • Rótulos de ingestão: o rótulo a ser aplicado aos eventos deste feed.
  9. Clique em Próxima.

  10. 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:

  1. Crie o primeiro feed usando as etapas acima (por exemplo, para cmdb_ci_server).
  2. Clique em Adicionar novo feed para criar outros feeds.
  3. 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.