Recolha registos do Cisco Secure ACS
Este documento descreve como pode recolher registos do Cisco Secure Access Control Server (ACS) através de um encaminhador do Google Security Operations.
Para mais informações, consulte o artigo Ingestão de dados no Google Security Operations.
Uma etiqueta de carregamento identifica o analisador que normaliza os dados de registo não processados para o formato UDM estruturado. As informações neste documento aplicam-se ao analisador com a etiqueta de carregamento CISCO_ACS
.
Configure o Cisco Secure ACS
- Inicie sessão na consola do Cisco Secure ACS com as credenciais de administrador.
- Na consola do Cisco Secure ACS, selecione Administração do sistema > Configuração > Configuração do registo > Alvos de registo remoto.
- Clique em Criar.
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. Use opções de syslog avançadas Selecione esta opção para ativar as opções avançadas de syslog. Tipo de segmentação Selecione TCP syslog ou UDP syslog. Porta Use uma porta elevada, como 10514. Código da instalação LOCAL6 (código = 22; predefinição). Comprimento máximo O valor recomendado é 1024. Clique em Enviar. A janela Destinos de registo remoto é apresentada com a nova configuração do destino de registo remoto.
Na consola do Cisco Secure ACS, selecione Administração do sistema > Configuração > Configuração de registos > Categorias de registos > Por instância.
Selecione ACS e, de seguida, clique em Configurar.
Na janela Por instância, selecione uma categoria de registo e, de seguida, clique em Editar.
No separador Geral, para algumas categorias de registo, a gravidade do registo tem de ser definida como predefinição ou conforme fornecido pelo fornecedor.
Para o Cisco Secure ACS, a gravidade predefinida é Aviso para todas as categorias de registo, exceto para aquelas cuja gravidade não pode ser alterada, como AAA audit-notice, accounting-notice, administrative e operational audit-notice, e system statistics-notice.
Clique no separador Destino syslog remoto e mova o destino remoto recém-criado de Destinos disponíveis para Destinos selecionados.
Clique em Enviar.
Para configurar destinos remotos para outras categorias de registo, repita os passos 8 a 10.
Configure o encaminhador e o syslog do Google Security Operations para carregar registos do Cisco Secure ACS
- Aceda a Definições do SIEM > Encaminhadores.
- Clique em Adicionar novo encaminhador.
- No campo Nome do encaminhador, introduza um nome exclusivo para o encaminhador.
- Clique em Enviar. O encaminhador é adicionado e é apresentada a janela Adicionar configuração do coletor.
- No campo Nome do coletor, introduza um nome.
- Selecione Cisco ACS como o Tipo de registo.
- Selecione Syslog como o tipo de coletor.
- Configure os seguintes parâmetros de entrada obrigatórios:
- Protocolo: especifique o protocolo.
- Endereço: especifique o endereço IP ou o nome de anfitrião de destino onde o coletor reside e se dirige aos dados do syslog.
- Porta: especifique a porta de destino onde o coletor reside e ouve dados syslog.
- Clique em Enviar.
Para mais informações sobre os encaminhadores do Google Security Operations, consulte a documentação dos encaminhadores do Google Security Operations. Para obter informações sobre os requisitos de cada tipo de encaminhador, consulte o artigo Configuração do encaminhador por tipo. Se tiver problemas ao criar encaminhamentos, contacte o apoio técnico das Operações de segurança da Google.
Referência de mapeamento de campos
Este analisador processa registos do Cisco ACS, incluindo autenticação, contabilidade, diagnósticos e estatísticas do sistema. Usa padrões grok para extrair campos de vários formatos de registo (SYSLOG + KV, LEEF), normaliza as datas/horas e os fusos horários, e mapeia os campos principais para o UDM, processando diferentes tipos de registos com lógica específica para sucessos/falhas de autenticação, contabilidade TACACS+ e eventos RADIUS. Também enriquece a UDM com campos adicionais, como informações do dispositivo e detalhes de autenticação.
Tabela de mapeamento da UDM
Campo de registo | Mapeamento de UDM | Lógica |
---|---|---|
Acct-Authentic |
additional.fields[].value.string_value |
O valor é retirado do campo Acct-Authentic . |
Acct-Delay-Time |
additional.fields[].value.string_value |
O valor é retirado do campo Acct-Delay-Time . |
Acct-Input-Octets |
additional.fields[].value.string_value |
O valor é retirado do campo Acct-Input-Octets . |
Acct-Input-Packets |
additional.fields[].value.string_value |
O valor é retirado do campo Acct-Input-Packets . |
Acct-Output-Octets |
additional.fields[].value.string_value |
O valor é retirado do campo Acct-Output-Octets . |
Acct-Output-Packets |
additional.fields[].value.string_value |
O valor é retirado do campo Acct-Output-Packets . |
Acct-Session-Id |
additional.fields[].value.string_value |
O valor é retirado do campo Acct-Session-Id . |
Acct-Session-Time |
additional.fields[].value.string_value |
O valor é retirado do campo Acct-Session-Time . |
Acct-Status-Type |
additional.fields[].value.string_value |
O valor é retirado do campo Acct-Status-Type . |
Acct-Terminate-Cause |
additional.fields[].value.string_value |
O valor é retirado do campo Acct-Terminate-Cause . |
ACSVersion |
additional.fields[].value.string_value |
O valor é retirado do campo ACSVersion . |
AD-Domain |
principal.group.group_display_name |
O valor é retirado do campo AD-Domain . |
AD-IP-Address |
principal.ip |
O valor é retirado do campo AD-IP-Address . |
Called-Station-ID |
additional.fields[].value.string_value |
O valor é retirado do campo Called-Station-ID . |
Calling-Station-ID |
additional.fields[].value.string_value |
O valor é retirado do campo Calling-Station-ID . |
Class |
additional.fields[].value.string_value |
O valor é retirado do campo Class . |
CmdSet |
(não mapeado) | Não está mapeado para o objeto IDM. |
ConfigVersionId |
additional.fields[].value.number_value |
O valor é retirado do campo ConfigVersionId e convertido num flutuante. |
DestinationIPAddress |
target.ip , intermediary.ip |
O valor é retirado do campo DestinationIPAddress . intermediary.ip é derivado de Device IP Address . |
DestinationPort |
target.port |
O valor é retirado do campo DestinationPort e convertido num número inteiro. |
Device IP Address |
intermediary.ip |
O valor é retirado do campo Device IP Address . |
Device Port |
intermediary.port |
O valor é retirado do campo Device Port e convertido num número inteiro. |
DetailedInfo |
security_result.summary , security_result.description , security_result.action |
Se DetailedInfo for "Authentication succeed", security_result.summary for "successful login occurred" e security_result.action for ALLOW. Se DetailedInfo contiver "Invalid username or password specified", security_result.summary é "failed login occurred" e security_result.action é BLOCK. security_result.description é derivado de log_header . |
Framed-IP-Address |
principal.ip |
O valor é retirado do campo Framed-IP-Address . |
Framed-Protocol |
additional.fields[].value.string_value |
O valor é retirado do campo Framed-Protocol . |
NAS-IP-Address |
target.ip |
O valor é retirado do campo NAS-IP-Address . |
NAS-Port |
additional.fields[].value.string_value |
O valor é retirado do campo NAS-Port . |
NAS-Port-Id |
target.port |
O valor é retirado do campo NAS-Port-Id e convertido num número inteiro. |
NAS-Port-Type |
additional.fields[].value.string_value |
O valor é retirado do campo NAS-Port-Type . |
NetworkDeviceName |
target.hostname |
O valor é retirado do campo NetworkDeviceName . |
Protocol |
additional.fields[].value.string_value |
O valor é retirado do campo Protocol . |
RadiusPacketType |
(não mapeado) | Não está mapeado para o objeto IDM. |
Remote-Address |
principal.ip , target.ip |
O valor é retirado do campo Remote-Address e analisado como um endereço IP. É mapeado para principal.ip para eventos de autenticação e target.ip para eventos de contabilidade e diagnóstico. |
RequestLatency |
additional.fields[].value.string_value |
O valor é retirado do campo RequestLatency . |
Response |
principal.user.userid |
Se Response contiver "User-Name", o nome de utilizador é extraído e mapeado para principal.user.userid . |
SelectedAccessService |
additional.fields[].value.string_value |
O valor é retirado do campo SelectedAccessService . |
SelectedAuthenticationIdentityStores |
security_result.detection_fields[].value |
O valor é retirado do campo SelectedAuthenticationIdentityStores . |
SelectedAuthorizationProfiles |
security_result.detection_fields[].value |
O valor é retirado do campo SelectedAuthorizationProfiles . |
Service-Type |
additional.fields[].value.string_value |
O valor é retirado do campo Service-Type . |
Tunnel-Client-Endpoint |
additional.fields[].value.string_value |
O valor é retirado do campo Tunnel-Client-Endpoint e analisado como um endereço IP. |
User |
target.user.userid |
O valor é retirado do campo User . |
UserName |
target.user.userid , principal.mac |
Se UserName for um endereço MAC, é analisado e mapeado para principal.mac . Caso contrário, é mapeado para target.user.userid . |
ac-user-agent |
network.http.user_agent |
O valor é retirado do campo ac-user-agent . |
cat |
metadata.description |
O valor é retirado do campo cat . |
device-mac |
principal.mac |
O valor é retirado do campo device-mac , são adicionados dois pontos e o valor é convertido em minúsculas. Se device-mac for "00", é substituído por "00:00:00:00:00:00". |
device-platform |
principal.asset.platform_software.platform |
Se device-platform for "win", o valor "WINDOWS" é atribuído a principal.asset.platform_software.platform . |
device-platform-version |
principal.asset.platform_software.platform_version |
O valor é retirado do campo device-platform-version . |
device-public-mac |
principal.mac |
O valor é retirado 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 é retirado do campo device-type . |
device-uid |
principal.asset.asset_id |
O valor é retirado do campo device-uid e é precedido de "ID do recurso: ". |
device-uid-global |
principal.asset.product_object_id |
O valor é retirado do campo device-uid-global . |
hostname |
principal.hostname |
O valor é retirado do campo hostname . |
ip:source-ip |
principal.ip |
O valor é retirado do campo ip:source-ip . |
kv.ADDomain |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.Airespace-Wlan-Id |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.AuthenticationIdentityStore |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.AVPair |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.CVPN3000/ASA/PIX7.x-DAP-Tunnel-Group-Name |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.CVPN3000/ASA/PIX7.x-Group-Based-Address-Pools |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.ExternalGroups |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.FailureReason |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.IdentityAccessRestricted |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.IdentityGroup |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.NAS-Identifier |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.SelectedShellProfile |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.ServiceSelectionMatchedRule |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.State |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.Step |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.Tunnel-Medium-Type |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.Tunnel-Private-Group-ID |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.Tunnel-Type |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.UseCase |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.UserIdentityGroup |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.VendorSpecific |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.attribute-131 |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.attribute-89 |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.cisco-av-pair |
(não mapeado) | Não está mapeado para o objeto IDM. |
kv.cisco-av-pair:CiscoSecure-Group-Id |
(não mapeado) | Não está mapeado para o objeto IDM. |
leef_version |
(não mapeado) | Não está mapeado para o objeto IDM. |
log_header |
metadata.description |
O valor é retirado do campo log_header . |
log_id |
metadata.product_log_id |
O valor é retirado do campo log_id . |
log_type |
metadata.product_event_type |
O valor é retirado do campo log_type . |
message_severity |
(não mapeado) | Não está mapeado para o objeto IDM. |
product |
metadata.product_name |
O valor é retirado do campo product . |
product_version |
metadata.product_version |
O valor é retirado do campo product_version . |
server_host |
target.hostname |
O valor é retirado do campo server_host . |
timestamp |
metadata.event_timestamp |
O valor é retirado do campo timestamp e do campo timezone (depois de remover os dois pontos). O valor combinado é analisado como uma data/hora. |
url |
network.dns.questions[].name |
O valor é retirado do campo url . |
vendor |
metadata.vendor_name |
O valor é retirado do campo vendor . Inicialmente, definido como "GENERIC_EVENT" e, em seguida, potencialmente 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". Inicialmente, é definido como "Cisco" e, em seguida, pode ser substituído pelo campo vendor . Inicialmente, definido como "ACS" e, em seguida, potencialmente substituído pelo campo product . Definido como "CISCO_ACS". Definido como "USERNAME_PASSWORD". Definido como "TACACS". Definido como "UDP" para eventos de diagnóstico e contabilidade RADIUS. Definido como "DNS" para eventos de DNS. Derivado do campo security_action , que é definido com base no êxito ou não do início de sessão. Definido como "successful login occurred" para inícios de sessão bem-sucedidos e "failed login occurred" para inícios de sessão falhados. Também pode ser definido como "passed" para determinados eventos de diagnóstico da loja de identidades. Definido como "BAIXO" para tentativas de início de sessão falhadas. Construído antepondo "ID do recurso: " ao campo device-uid . |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.