Recolha registos de auditoria do Cisco Umbrella

Compatível com:

Este documento explica como recolher registos de auditoria do Cisco Umbrella para um feed do Google Security Operations através do contentor do AWS S3. O analisador normaliza os dados de registo CSV não processados, processando diferentes delimitadores e potenciais inconsistências de formatação. Em seguida, com base no tipo de registo (DNS ou auditoria), mapeia os campos extraídos para o esquema UDM correspondente, enriquecendo os dados com contexto adicional e normalizando a representação para análise posterior.

Antes de começar

  • Certifique-se de que tem uma instância do Google SecOps.
  • Certifique-se de que tem acesso privilegiado ao AWS IAM e ao S3.
  • Certifique-se de que tem acesso privilegiado ao Cisco Umbrella.

Configure um contentor do Amazon S3 gerido pela Cisco

  1. Inicie sessão no painel de controlo do Cisco Umbrella.
  2. Aceda a Administração > Gestão de registos.
  3. Selecione a opção Usar um contentor do Amazon S3 gerido pela Cisco.
  4. Indique os seguintes detalhes de configuração:
    • Selecione uma região: selecione uma região mais próxima da sua localização para uma latência mais baixa.
    • Selecione uma duração de retenção: selecione o período. A duração da retenção é de 7, 14 ou 30 dias. Após o período selecionado, os dados são eliminados e não podem ser recuperados. Se o ciclo de carregamento for regular, use um período mais curto. Pode alterar a duração da retenção mais tarde.
  5. Clique em Guardar.
  6. Clique em Continuar para confirmar as seleções e receber a notificação de ativação.
    Na janela Ativação concluída apresentada, são apresentados os valores da chave de acesso e da chave secreta.
  7. Copie os valores da Chave de acesso e da Chave secreta. Se perder estas chaves, tem de as regenerar.
  8. Clique em OK > Continuar.
  9. É apresentada uma página de resumo com a configuração e o nome do seu contentor. Pode ativar ou desativar o registo conforme exigido pela sua organização. No entanto, os registos são anulados com base na duração da retenção, independentemente da adição de novos dados.

Opcional: configure as chaves de acesso do utilizador para o contentor do AWS S3 autogerido

  1. Inicie sessão na AWS Management Console.
  2. Crie um utilizador seguindo este guia do utilizador: criar um utilizador do IAM.
  3. Selecione o utilizador criado.
  4. Selecione o separador Credenciais de segurança.
  5. Clique em Criar chave de acesso na secção Chaves de acesso.
  6. Selecione Serviço de terceiros como o Exemplo de utilização.
  7. Clicar em Seguinte.
  8. Opcional: adicione uma etiqueta de descrição.
  9. Clique em Criar chave de acesso.
  10. Clique em Transferir ficheiro CSV para guardar a chave de acesso e a chave de acesso secreta para utilização posterior.
  11. Clique em Concluído.
  12. Selecione o separador Autorizações.
  13. Clique em Adicionar autorizações na secção Políticas de autorizações.
  14. Selecione Adicionar autorizações.
  15. Selecione Anexar políticas diretamente.
  16. Pesquise e selecione a política AmazonS3FullAccess.
  17. Clicar em Seguinte.
  18. Clique em Adicionar autorizações.

Opcional: configure um contentor do Amazon S3 autogerido

  1. Inicie sessão na AWS Management Console.

  2. Aceda ao S3.

  3. Clique em Criar contentor.

  4. Faculte os seguintes detalhes de configuração:

    • Nome do contentor: indique um nome para o contentor do Amazon S3.
    • Região: selecione uma região.
  5. Clique em Criar.

Opcional: configure uma política de contentor para o contentor do AWS S3 autogerido

  1. Clique no contentor recém-criado para o abrir.
  2. Selecione Propriedades > Autorizações.
  3. Na lista Autorizações, clique em Adicionar política de contentor.
  4. Introduza a política de contentores pré-configurada da seguinte forma:

    {
      "Version": "2008-10-17",
      "Statement": [
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:PutObject",
          "Resource": "arn:aws:s3:::BUCKET_NAME/*"
        },
        {
          "Sid": "",
          "Effect": "Deny",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:GetObject",
          "Resource": "arn:aws:s3:::BUCKET_NAME/*"},
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:GetBucketLocation",
          "Resource": "arn:aws:s3:::BUCKET_NAME"
        },
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:ListBucket",
          "Resource": "arn:aws:s3:::BUCKET_NAME"
        }
      ]
    }
    
    • Substitua BUCKET_NAME pelo nome do contentor do Amazon S3 que indicou.
  5. Clique em Guardar.

Opcional: validação obrigatória para o contentor do Amazon S3 autogerido

  1. No painel de controlo do Cisco Umbrella, selecione Admin > Gestão de registos > Amazon S3.
  2. No campo Nome do contentor, especifique o nome exato do contentor do Amazon S3 e, de seguida, clique em Validar.
  3. Como parte do processo de validação, é carregado um ficheiro denominado README_FROM_UMBRELLA.txt do Cisco Umbrella para o seu contentor do Amazon S3. Pode ter de atualizar o navegador para ver o ficheiro Readme quando for carregado.
  4. Transfira o ficheiro README_FROM_UMBRELLA.txt e abra-o com um editor de texto.
  5. Copie e guarde o token exclusivo do Cisco Umbrella do ficheiro.
  6. Aceda ao painel de controlo do Cisco Umbrella.
  7. No campo Número do token, especifique o token e clique em Guardar.
  8. Se for bem-sucedida, recebe uma mensagem de confirmação no painel de controlo a indicar que o contentor foi validado com êxito. Se receber um erro a indicar que não é possível validar o seu contentor, verifique novamente a sintaxe do nome do contentor e reveja a configuração.

Configure um feed no Google SecOps para carregar os registos de auditoria do Cisco Umbrella

  1. Aceda a Definições do SIEM > Feeds.
  2. Clique em Adicionar novo.
  3. No campo Nome do feed, introduza um nome para o feed; por exemplo, Registos de auditoria do Cisco Umbrella.
  4. Selecione Amazon S3 V2 como o Tipo de origem.
  5. Selecione Cisco Umbrella Audit como o Tipo de registo.
  6. Clicar em Seguinte.
  7. Especifique valores para os seguintes parâmetros de entrada:

    • URI do S3: o URI do contentor.
      • s3:/BUCKET_NAME
        • Substitua BUCKET_NAME pelo nome real do contentor.
    • Opções de eliminação de origens: selecione a opção de eliminação de acordo com a sua preferência.
  8. Clicar em Seguinte.

  9. Reveja a nova configuração do feed no ecrã Finalizar e, de seguida, clique em Enviar.

Tabela de mapeamento da UDM

Campo de registo Mapeamento do UDM Lógica
action_type security_result.action_details Mapeado diretamente a partir do campo de registo não processado action_type.
action_type security_result.action Se action_type contiver allow (não é sensível a maiúsculas e minúsculas), defina como ALLOW. Se action_type contiver block (não é sensível a maiúsculas e minúsculas), defina como BLOCK.
additionalValue additional.fields{}.key Definido como Additional Value.
additionalValue additional.fields{}.value.string_value Mapeado diretamente a partir do campo de registo não processado additionalValue.
blocked_categories additional.fields{}.key Definido como blocked_categories.
blocked_categories additional.fields{}.value.string_value Mapeado diretamente a partir do campo de registo não processado blocked_categories.
categorias security_result.category_details Mapeado diretamente a partir do campo de registo não processado categories, após a divisão por vírgula.
coluna1 metadata.product_log_id Mapeado a partir do campo de registo não processado column1 se o registo for um registo de auditoria.
coluna1 date_time Mapeado a partir do campo de registo não processado column1 se o registo for um registo DNS.
column10 categorias Mapeado diretamente a partir do campo de registo não processado column10.
column11 most_granular_identity_type Mapeado diretamente a partir do campo de registo não processado column11.
column12 identity_types Mapeado diretamente a partir do campo de registo não processado column12.
column13 blocked_categories Mapeado diretamente a partir do campo de registo não processado column13.
coluna2 date_time Mapeado a partir do campo de registo não processado column2 se o registo for um registo de auditoria.
coluna2 most_granular_identity Mapeado a partir do campo de registo não processado column2 se o registo for um registo DNS.
coluna3 principal.user.email_addresses Mapeado a partir do campo de registo não processado column3 se o registo for um registo de auditoria.
coluna3 identidades Mapeado a partir do campo de registo não processado column3 se o registo for um registo DNS.
column4 principal.user.userid Mapeado a partir do campo de registo não processado column4 se o registo for um registo de auditoria.
column4 internal_ip Mapeado a partir do campo de registo não processado column4 se o registo for um registo DNS.
column5 security_result.rule_name Mapeado a partir do campo de registo não processado column5 se o registo for um registo de auditoria.
column5 external_ip Mapeado a partir do campo de registo não processado column5 se o registo for um registo DNS.
column6 action_type Mapeado diretamente a partir do campo de registo não processado column6.
column7 principal.ip Mapeado a partir do campo de registo não processado column7 se o registo for um registo de auditoria.
column7 dns_query_type Mapeado a partir do campo de registo não processado column7 se o registo for um registo DNS.
column8 additionalValue Mapeado a partir do campo de registo não processado column8 se o registo for um registo de auditoria.
column8 dns_response_code Mapeado a partir do campo de registo não processado column8 se o registo for um registo DNS.
column9 domínio Mapeado diretamente a partir do campo de registo não processado column9.
date_time metadata.event_timestamp.seconds A data/hora de época extraída do campo date_time.
dns_query_type network.dns.questions.type Extraído do campo dns_query_type através de uma expressão regular, convertido em número inteiro.
dns_response_code network.dns.response_code Mapeado a partir do campo dns_response_code, convertido em número inteiro com base nos valores do código de resposta DNS.
domínio network.dns.questions.name Mapeado diretamente a partir do campo domain.
external_ip principal.ip Mapeado a partir do campo external_ip se não estiver vazio e for diferente de internal_ip.
identidades principal.location.name Mapeado a partir do campo identities se o campo identity_types correspondente for Networks.
identidades principal.hostname Mapeado a partir do campo identities se o campo identity_types correspondente for AD Computers, Roaming Computers ou Anyconnect Roaming Client.
identidades principal.asset.hostname Mapeado a partir do campo identities se o campo identity_types correspondente for AD Computers, Roaming Computers ou Anyconnect Roaming Client.
identidades principal.location.city Mapeado a partir do campo identities se o campo identity_types correspondente for Sites.
identity_types additional.fields{}.key Definido como identities_types.
identity_types additional.fields{}.value.string_value Mapeado diretamente a partir do campo de registo não processado identity_types.
internal_ip principal.ip Mapeado a partir do campo internal_ip se não estiver vazio.
most_granular_identity additional.fields{}.key Definido como most_granular_identity.
most_granular_identity additional.fields{}.value.string_value Mapeado diretamente a partir do campo de registo não processado most_granular_identity.
most_granular_identity_type additional.fields{}.key Definido como most_granular_identity_type.
most_granular_identity_type additional.fields{}.value.string_value Mapeado diretamente a partir do campo de registo não processado most_granular_identity_type.
metadata.event_type Definido como NETWORK_DNS se o registo for um registo de DNS.
metadata.event_type Definido como STATUS_UPDATE se o registo for um registo de auditoria e principal_ip não estiver vazio.
metadata.event_type Definido como GENERIC_EVENT se o registo for um registo de auditoria e principal_ip estiver vazio.
metadata.vendor_name Definido como CISCO UMBERLLA.
metadata.product_name Definido como CISCO UMBERLLA.
metadata.log_type Definido como AUDITD.
network.application_protocol Definido como DNS se o registo for um registo de DNS.

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