Coletar registros do Cisco Secure ACS

Compatível com:

Neste documento, descrevemos como coletar registros do Cisco Secure Access Control Server (ACS) usando um encaminhador do Google Security Operations.

Para mais informações, consulte Ingestão de dados no Google Security Operations.

Um rótulo de ingestão identifica o analisador que normaliza dados de registro brutos para o formato UDM estruturado. As informações neste documento se aplicam ao analisador com o rótulo de ingestão CISCO_ACS.

Configurar o Cisco Secure ACS

  1. Faça login no console do Cisco Secure ACS usando as credenciais de administrador.
  2. No console do Cisco Secure ACS, selecione Administração do sistema > Configuração > Configuração de registros > Destinos de registros remotos.
  3. Clique em Criar.
  4. Na janela Criar, especifique valores para os seguintes campos:

    Campo Descrição
    Nome Nome do encaminhador do Google Security Operations.
    Descrição Descrição do encaminhador do Google Security Operations.
    Endereço IP Endereço IP do encaminhador do Google Security Operations.
    Usar opções avançadas do syslog Selecione esta opção para ativar as opções avançadas do syslog.
    Tipo de destino Selecione "Syslog TCP" ou "Syslog UDP".
    Porta Use uma porta alta, como 10514.
    Código da unidade LOCAL6 (código = 22; padrão).
    Comprimento máximo O valor recomendado é 1024.
  5. Clique em Enviar. A janela Destinos de registros remotos aparece com a nova configuração de destino de registros remotos.

  6. No console do Cisco Secure ACS, selecione Administração do sistema > Configuração > Configuração de registros > Categorias de registro > Por instância.

  7. Selecione ACS e clique em Configurar.

  8. Na janela Por instância, selecione uma categoria de geração de registros e clique em Editar.

    Na guia Geral, para algumas categorias de geração de registros, a gravidade precisa ser definida como padrão ou conforme fornecido pelo fornecedor.

    Para o Cisco Secure ACS, a gravidade padrão é Aviso para todas as categorias de registro, exceto aquelas em que a gravidade não pode ser alterada, como aviso de auditoria AAA, aviso de contabilidade, aviso de auditoria administrativa e operacional e aviso de estatísticas do sistema.

  9. Clique na guia Destino syslog remoto e mova o destino remoto recém-criado de Destinos disponíveis para Destinos selecionados.

  10. Clique em Enviar.

  11. Para configurar destinos remotos para outras categorias de geração de registros, repita as etapas de 8 a 10.

Configurar o encaminhador e o syslog do Google Security Operations para ingerir registros do Cisco Secure ACS

  1. Acesse Configurações do SIEM > Encaminhadores.
  2. Clique em Adicionar novo encaminhador.
  3. No campo Nome do encaminhador, insira um nome exclusivo para ele.
  4. Clique em Enviar. O encaminhador é adicionado, e a janela Adicionar configuração do coletor aparece.
  5. No campo Nome do coletor, digite um nome.
  6. Selecione Cisco ACS como o Tipo de registro.
  7. Selecione Syslog como o Tipo de coletor.
  8. Configure os seguintes parâmetros de entrada obrigatórios:
    • Protocolo: especifique o protocolo.
    • Endereço: especifique o endereço IP ou o nome do host de destino em que o coletor está localizado e os endereços para os dados do syslog.
    • Porta: especifique a porta de destino em que o coletor reside e detecta dados do syslog.
  9. Clique em Enviar.

Para mais informações sobre encaminhadores do Google Security Operations, consulte a documentação sobre encaminhadores do Google Security Operations. Para informações sobre os requisitos de cada tipo de encaminhador, consulte Configuração do encaminhador por tipo. Se você tiver problemas ao criar encaminhadores, entre em contato com o suporte do Google Security Operations.

Referência de mapeamento de campos

Esse analisador processa registros do Cisco ACS, incluindo autenticação, contabilidade, diagnósticos e estatísticas do sistema. Ele usa padrões grok para extrair campos de vários formatos de registro (SYSLOG + KV, LEEF), normaliza carimbos de data/hora e fusos horários e mapeia campos-chave para a UDM, processando diferentes tipos de registros com lógica específica para sucessos/falhas de autenticação, contabilidade TACACS+ e eventos RADIUS. Ele também enriquece a UDM com outros campos, como informações do dispositivo e detalhes de autenticação.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
Acct-Authentic additional.fields[].value.string_value O valor é extraído do campo Acct-Authentic.
Acct-Delay-Time additional.fields[].value.string_value O valor é extraído do campo Acct-Delay-Time.
Acct-Input-Octets additional.fields[].value.string_value O valor é extraído do campo Acct-Input-Octets.
Acct-Input-Packets additional.fields[].value.string_value O valor é extraído do campo Acct-Input-Packets.
Acct-Output-Octets additional.fields[].value.string_value O valor é extraído do campo Acct-Output-Octets.
Acct-Output-Packets additional.fields[].value.string_value O valor é extraído do campo Acct-Output-Packets.
Acct-Session-Id additional.fields[].value.string_value O valor é extraído do campo Acct-Session-Id.
Acct-Session-Time additional.fields[].value.string_value O valor é extraído do campo Acct-Session-Time.
Acct-Status-Type additional.fields[].value.string_value O valor é extraído do campo Acct-Status-Type.
Acct-Terminate-Cause additional.fields[].value.string_value O valor é extraído do campo Acct-Terminate-Cause.
ACSVersion additional.fields[].value.string_value O valor é extraído do campo ACSVersion.
AD-Domain principal.group.group_display_name O valor é extraído do campo AD-Domain.
AD-IP-Address principal.ip O valor é extraído do campo AD-IP-Address.
Called-Station-ID additional.fields[].value.string_value O valor é extraído do campo Called-Station-ID.
Calling-Station-ID additional.fields[].value.string_value O valor é extraído do campo Calling-Station-ID.
Class additional.fields[].value.string_value O valor é extraído do campo Class.
CmdSet (não mapeado) Não mapeado para o objeto IDM.
ConfigVersionId additional.fields[].value.number_value O valor é extraído do campo ConfigVersionId e convertido em um ponto flutuante.
DestinationIPAddress target.ip, intermediary.ip O valor é extraído do campo DestinationIPAddress. intermediary.ip é derivado de Device IP Address.
DestinationPort target.port O valor é extraído do campo DestinationPort e convertido em um número inteiro.
Device IP Address intermediary.ip O valor é extraído do campo Device IP Address.
Device Port intermediary.port O valor é extraído do campo Device Port e convertido em um número inteiro.
DetailedInfo security_result.summary, security_result.description, security_result.action Se DetailedInfo for "Authentication succeed", security_result.summary será "successful login occurred" e security_result.action será ALLOW. Se DetailedInfo contiver "Invalid username or password specified", security_result.summary será "failed login occurred" e security_result.action será BLOCK. security_result.description é derivado de log_header.
Framed-IP-Address principal.ip O valor é extraído do campo Framed-IP-Address.
Framed-Protocol additional.fields[].value.string_value O valor é extraído do campo Framed-Protocol.
NAS-IP-Address target.ip O valor é extraído do campo NAS-IP-Address.
NAS-Port additional.fields[].value.string_value O valor é extraído do campo NAS-Port.
NAS-Port-Id target.port O valor é extraído do campo NAS-Port-Id e convertido em um número inteiro.
NAS-Port-Type additional.fields[].value.string_value O valor é extraído do campo NAS-Port-Type.
NetworkDeviceName target.hostname O valor é extraído do campo NetworkDeviceName.
Protocol additional.fields[].value.string_value O valor é extraído do campo Protocol.
RadiusPacketType (não mapeado) Não mapeado para o objeto IDM.
Remote-Address principal.ip, target.ip O valor é extraído do campo Remote-Address e analisado como um endereço IP. Ele é mapeado para principal.ip em eventos de autenticação e target.ip em eventos de contabilidade e diagnóstico.
RequestLatency additional.fields[].value.string_value O valor é extraído do campo RequestLatency.
Response principal.user.userid Se Response contiver "User-Name", o nome de usuário será extraído e mapeado para principal.user.userid.
SelectedAccessService additional.fields[].value.string_value O valor é extraído do campo SelectedAccessService.
SelectedAuthenticationIdentityStores security_result.detection_fields[].value O valor é extraído do campo SelectedAuthenticationIdentityStores.
SelectedAuthorizationProfiles security_result.detection_fields[].value O valor é extraído do campo SelectedAuthorizationProfiles.
Service-Type additional.fields[].value.string_value O valor é extraído do campo Service-Type.
Tunnel-Client-Endpoint additional.fields[].value.string_value O valor é extraído do campo Tunnel-Client-Endpoint e analisado como um endereço IP.
User target.user.userid O valor é extraído do campo User.
UserName target.user.userid, principal.mac Se UserName for um endereço MAC, ele será analisado e mapeado para principal.mac. Caso contrário, ele será mapeado para target.user.userid.
ac-user-agent network.http.user_agent O valor é extraído do campo ac-user-agent.
cat metadata.description O valor é extraído do campo cat.
device-mac principal.mac O valor é extraído do campo device-mac, dois-pontos são adicionados e o valor é convertido para minúsculas. Se device-mac for "00", ele será substituído por "00:00:00:00:00:00".
device-platform principal.asset.platform_software.platform Se device-platform for "win", o valor "WINDOWS" será atribuído a principal.asset.platform_software.platform.
device-platform-version principal.asset.platform_software.platform_version O valor é extraído do campo device-platform-version.
device-public-mac principal.mac O valor é extraído do campo device-public-mac, os hífens são substituídos por dois-pontos, e o valor é convertido em letras minúsculas.
device-type principal.asset.hardware.model O valor é extraído do campo device-type.
device-uid principal.asset.asset_id O valor é extraído do campo device-uid e precedido por "ID DO ASSET: ".
device-uid-global principal.asset.product_object_id O valor é extraído do campo device-uid-global.
hostname principal.hostname O valor é extraído do campo hostname.
ip:source-ip principal.ip O valor é extraído do campo ip:source-ip.
kv.ADDomain (não mapeado) Não mapeado para o objeto IDM.
kv.Airespace-Wlan-Id (não mapeado) Não mapeado para o objeto IDM.
kv.AuthenticationIdentityStore (não mapeado) Não mapeado para o objeto IDM.
kv.AVPair (não mapeado) Não mapeado para o objeto IDM.
kv.CVPN3000/ASA/PIX7.x-DAP-Tunnel-Group-Name (não mapeado) Não mapeado para o objeto IDM.
kv.CVPN3000/ASA/PIX7.x-Group-Based-Address-Pools (não mapeado) Não mapeado para o objeto IDM.
kv.ExternalGroups (não mapeado) Não mapeado para o objeto IDM.
kv.FailureReason (não mapeado) Não mapeado para o objeto IDM.
kv.IdentityAccessRestricted (não mapeado) Não mapeado para o objeto IDM.
kv.IdentityGroup (não mapeado) Não mapeado para o objeto IDM.
kv.NAS-Identifier (não mapeado) Não mapeado para o objeto IDM.
kv.SelectedShellProfile (não mapeado) Não mapeado para o objeto IDM.
kv.ServiceSelectionMatchedRule (não mapeado) Não mapeado para o objeto IDM.
kv.State (não mapeado) Não mapeado para o objeto IDM.
kv.Step (não mapeado) Não mapeado para o objeto IDM.
kv.Tunnel-Medium-Type (não mapeado) Não mapeado para o objeto IDM.
kv.Tunnel-Private-Group-ID (não mapeado) Não mapeado para o objeto IDM.
kv.Tunnel-Type (não mapeado) Não mapeado para o objeto IDM.
kv.UseCase (não mapeado) Não mapeado para o objeto IDM.
kv.UserIdentityGroup (não mapeado) Não mapeado para o objeto IDM.
kv.VendorSpecific (não mapeado) Não mapeado para o objeto IDM.
kv.attribute-131 (não mapeado) Não mapeado para o objeto IDM.
kv.attribute-89 (não mapeado) Não mapeado para o objeto IDM.
kv.cisco-av-pair (não mapeado) Não mapeado para o objeto IDM.
kv.cisco-av-pair:CiscoSecure-Group-Id (não mapeado) Não mapeado para o objeto IDM.
leef_version (não mapeado) Não mapeado para o objeto IDM.
log_header metadata.description O valor é extraído do campo log_header.
log_id metadata.product_log_id O valor é extraído do campo log_id.
log_type metadata.product_event_type O valor é extraído do campo log_type.
message_severity (não mapeado) Não mapeado para o objeto IDM.
product metadata.product_name O valor é extraído do campo product.
product_version metadata.product_version O valor é extraído do campo product_version.
server_host target.hostname O valor é extraído do campo server_host.
timestamp metadata.event_timestamp O valor é extraído dos campos timestamp e timezone (depois de remover os dois pontos). O valor combinado é analisado como um carimbo de data/hora.
url network.dns.questions[].name O valor é extraído do campo url.
vendor metadata.vendor_name O valor é extraído do campo vendor. Definido como "GENERIC_EVENT" inicialmente e, em seguida, possivelmente substituído com base nos campos log_type e analisados. Pode ser "USER_LOGIN", "USER_UNCATEGORIZED", "NETWORK_DNS", "NETWORK_CONNECTION", "STATUS_UPDATE" ou "STATUS_UNCATEGORIZED". Definido como "Cisco" inicialmente e, em seguida, substituído pelo campo vendor. Definido como "ACS" inicialmente e, em seguida, possivelmente substituído pelo campo product. Defina como "CISCO_ACS". Definido como "USERNAME_PASSWORD". Defina como "TACACS". Definido como "UDP" para eventos de diagnóstico e contabilidade RADIUS. Defina como "DNS" para eventos de DNS. Derivado do campo security_action, que é definido com base no sucesso ou não do login. Definido como "login bem-sucedido" para logins bem-sucedidos e "falha no login" para logins com falha. Também pode ser definido como "passed" para determinados eventos de diagnóstico do armazenamento de identidades. Definido como "LOW" para tentativas de login com falha. Construído ao adicionar "ASSET ID: " antes do campo device-uid.

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