Coletar registros do Aruba ClearPass
Este documento explica como coletar registros do Aruba ClearPass usando o Bindplane. O analisador tenta limpar e estruturar os registros recebidos removendo campos desnecessários e padronizando o formato da mensagem. Em seguida, dependendo se o registro segue o formato CEF ou uma estrutura diferente, o código usa uma combinação de padrões grok, extrações de chave-valor e lógica condicional para mapear campos relevantes para o modelo de dados unificado (UDM, na sigla em inglês), categorizando cada evento em um tipo específico de ocorrência de segurança.
Antes de começar
- Verifique se você tem uma instância do Google Security Operations.
- Use o Windows 2016 ou uma versão mais recente ou um host Linux com
systemd
. - Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.
- Verifique se você tem acesso privilegiado a um Aruba ClearPass.
Receber o arquivo de autenticação de ingestão do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- Baixe o arquivo de autenticação de ingestão. Salve o arquivo de forma segura no sistema em que o Bindplane será instalado.
Receber o ID do cliente do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Perfil.
- Copie e salve o ID do cliente na seção Detalhes da organização.
Instalar o agente do Bindplane
Instalação do Windows
- Abra o Prompt de Comando ou o PowerShell como administrador.
Execute este comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalação do Linux
- Abra um terminal com privilégios de root ou sudo.
Execute este comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Outros recursos de instalação
- Para mais opções de instalação, consulte este guia de instalação.
Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps
Acesse o arquivo de configuração:
- Localize o arquivo
config.yaml
. Normalmente, ele fica no diretório/etc/bindplane-agent/
no Linux ou no diretório de instalação no Windows. - Abra o arquivo usando um editor de texto (por exemplo,
nano
,vi
ou Bloco de Notas).
- Localize o arquivo
Edite o arquivo
config.yaml
da seguinte forma:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization ingestion_labels: log_type: CLEARPASS raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
Substitua
<customer_id>
pelo ID do cliente real.Atualize
/path/to/ingestion-authentication-file.json
para o caminho em que o arquivo de autenticação foi salvo na seção Receber arquivo de autenticação de ingestão do Google SecOps.
Reinicie o agente do Bindplane para aplicar as mudanças
Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:
sudo systemctl restart bindplane-agent
Para reiniciar o agente do Bindplane no Windows, use o console Serviços ou insira o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar o servidor syslog do Aruba ClearPass
- Faça login no console do ClearPass Policy Manager.
- Selecione Administração > Servidores externos > Destinos do Syslog.
- Clique em Adicionar.
- Na janela Adicionar destino do syslog, especifique os seguintes detalhes:
- Endereço do host: insira o endereço IP do Bindplane.
- Porta do servidor: digite o número da porta do Bindplane.
- Protocolo: selecione UDP. Também é possível selecionar TCP, dependendo da configuração do Bindplane.
- Clique em Salvar.
Configurar filtros de exportação do syslog
- Acesse Administração > Servidores externos > Filtros de exportação do Syslog.
- Clique em Adicionar.
- Na janela Adicionar filtros Syslog, especifique o seguinte na guia Geral:
- Nome: insira o nome do filtro de exportação do syslog com base na tabela em Itens do modelo de exportação.
- Exportar modelo: selecione o modelo de exportação adequado com base na tabela em Itens do modelo de exportação.
- Tipo de formato de evento de exportação: selecione Padrão.
- Servidores Syslog: selecione o endereço IP do Bindplane.
- Na lista Modelo de exportação, quando você seleciona os modelos de exportação Sessão ou Insight, a guia Filtro e colunas é ativada. Siga estas etapas:
- Clique na guia Filtro e colunas.
- Filtro de dados: confira se o valor padrão Todos os pedidos está selecionado.
- Seleção de colunas: selecione o grupo de campos predefinido com base na tabela em Exportar itens de modelo.
- Colunas selecionadas: verifique se os campos preenchidos automaticamente correspondem à tabela em Exportar itens de modelo.
- Clique na guia Resumo.
- Clique em Salvar.
- Na lista Modelo de exportação, quando você seleciona os modelos Eventos do sistema e Registros de auditoria, a guia Filtro e colunas não é ativada. Acesse a guia Resumo e clique em Salvar.
- Repita as etapas para adicionar filtros de exportação do syslog a todos os modelos de exportação de Sessão, Insight, Registros de auditoria e Eventos do sistema com base nos detalhes da tabela em Resumo dos itens do modelo de exportação.
Exportar itens de modelo
A tabela a seguir descreve os itens que você precisa configurar para cada modelo de exportação. Os campos padrão listados em "Colunas selecionadas" são compatíveis com a análise de eventos. Verifique se todos os campos mencionados na tabela em "Colunas selecionadas (padrão)" estão presentes e na mesma ordem. Crie modelos de filtro de exportação do syslog exatamente como fornecidos na tabela, incluindo o nome do filtro que diferencia maiúsculas de minúsculas.
Nome do filtro de exportação do Syslog (diferencia maiúsculas de minúsculas) | Exportar modelo | Grupos de campos predefinidos | Colunas selecionadas (padrão) |
---|---|---|---|
ACPPM_radauth | Registros de insight | Autenticações do Radius | Auth.Username Auth.Host-MAC-Address Auth.Protocol Auth.NAS-IP-Address CppmNode.CPPM-Node Auth.Login-Status Auth.Service Auth.Source Auth.Roles Auth.Enforcement-Profiles |
ACPPM_radfailedauth | Registros de insight | Falhas de autenticação do Radius | Auth.Username Auth.Host-MAC-Address Auth.NAS-IP-Address CppmNode.CPPM-Node Auth.Service CppmErrorCode.Error-Code-Details CppmAlert.Alerts |
ACPPM_radacct | Registros de insight | Contabilidade RADIUS | Radius.Username Radius.Calling-Station-Id Radius.Framed-IP-Address Radius.NAS-IP-Address Radius.Start-Time Radius.End-Time Radius.Duration Radius.Input-bytes Radius.Output-bytes |
ACPPM_tacauth | Registros de insight | Autenticação TACACS | tacacs.Username tacacs.Remote-Address tacacs.Request-Type tacacs.NAS-IP-Address tacacs.Service tacacs.Auth-Source tacacs.Roles tacacs.Enforcement-Profiles tacacs.Privilege-Level |
ACPPM_tacfailedauth | Registros de insight | tacacs Failed Authentication | tacacs.Username tacacs.Remote-Address tacacs.Request-Type tacacs.NAS-IP-Address tacacs.Service CppmErrorCode.Error-Code-Details CppmAlert.Alerts |
ACPPM_webauth | Registros de insight | WEBAUTH | Auth.Username Auth.Host-MAC-Address Auth.Host-IP-Address Auth.Protocol Auth.System-Posture-Token CppmNode.CPPM-Node Auth.Login-Status Auth.Service Auth.Source Auth.Roles Auth.Enforcement-Profiles |
ACPPM_webfailedauth | Registros de insight | WEBAUTH Failed Authentications | Auth.Username Auth.Host-MAC-Address Auth.Host-IP-Address Auth.Protocol Auth.System-Posture-Token CppmNode.CPPM-Node Auth.Login-Status Auth.Service CppmErrorCode.Error-Code-Details CppmAlert.Alerts |
ACPPM_appauth | Registros de insight | Autenticação de aplicativos | Auth.Username Auth.Host-IP-Address Auth.Protocol CppmNode.CPPM-Node Auth.Login-Status Auth.Service Auth.Source Auth.Roles Auth.Enforcement-Profiles |
ACPPM_failedappauth | Registros de insight | Falha na autenticação do aplicativo | Auth.Username Auth.Host-IP-Address Auth.Protocol CppmNode.CPPM-Node Auth.Login-Status Auth.Service CppmErrorCode.Error-Code-Details CppmAlert.Alerts |
ACPPM_endpoints | Registros de insight | Endpoints | Endpoint.MAC-Address Endpoint.MAC-Vendor Endpoint.IP-Address Endpoint.Username Endpoint.Device-Category Endpoint.Device-Family Endpoint.Device-Name Endpoint.Conflict Endpoint.Status Endpoint.Added-At Endpoint.Updated-At |
ACPPM_cpguest | Registros de insight | Clearpass Guest | Guest.Username Guest.MAC-Address Guest.Visitor-Name Guest.Visitor-Company Guest.Role-Name Guest.Enabled Guest.Created-At Guest.Starts-At Guest.Expires-At |
ACPPM_onbenroll | Registros de insight | Registro de integração | OnboardEnrollment.Username OnboardEnrollment.Device-Name OnboardEnrollment.MAC-Address OnboardEnrollment.Device-Product OnboardEnrollment.Device-Version OnboardEnrollment.Added-At OnboardEnrollment.Updated-At |
ACPPM_onbcert | Registros de insight | Certificado de bordo | OnboardCert.Username OnboardCert.Mac-Address OnboardCert.Subject OnboardCert.Issuer OnboardCert.Valid-From OnboardCert.Valid-To OnboardCert.Revoked-At |
ACPPM_onboscp | Registros de insight | Integrar o OCSP | OnboardOCSP.Remote-Address OnboardOCSP.Response-Status-Name OnboardOCSP.Timestamp |
ACPPM_cpsysevent | Registros de insight | Clearpass System Events | CppmNode.CPPM-Node CppmSystemEvent.Source CppmSystemEvent.Level CppmSystemEvent.Category CppmSystemEvent.Action CppmSystemEvent.Timestamp |
ACPPM_cpconfaudit | Registros de insight | Auditoria de configuração do Clearpass | CppmConfigAudit.Name CppmConfigAudit.Action CppmConfigAudit.Category CppmConfigAudit.Updated-By CppmConfigAudit.Updated-At |
ACPPM_possummary | Registros de insight | Resumo da postura | Endpoint.MAC-Address Endpoint.IP-Address Endpoint.Hostname Endpoint.Usermame Endpoint.System-Agent-Type Endpoint.System-Agent-Version Endpoint.System-Client-OS Endpoint.System-Posture-Token Endpoint.Posture-Healthy Endpoint.Posture-Unhealthy |
ACPPM_posfwsummary | Registros de insight | Resumo do firewall de postura | Endpoint.MAC-Address Endpoint.IP-Address Endpoint.Hostname Endpoint.Usermame Endpoint.System-Agent-Type Endpoint.System-Agent-Version Endpoint.System-Client-OS Endpoint.System-Posture-Token Endpoint.Firewall-APT Endpoint.Firewall-Input Endpoint.Firewall-Output |
ACPPM_poavsummary | Registros de insight | Resumo do antivírus de postura | Endpoint.MAC-Address Endpoint.IP-Address Endpoint.Hostname Endpoint.Usermame Endpoint.System-Agent-Type Endpoint.System-Agent-Version Endpoint.System-Client-OS Endpoint.System-Posture-Token Endpoint.Antivirus-APT Endpoint.Antivirus-Input Endpoint.Antivirus-Output |
ACPPM_posassummary | Registros de insight | Resumo do antispyware de postura | Endpoint.MAC-Address Endpoint.IP-Address Endpoint.Hostname Endpoint.Usermame Endpoint.System-Agent-Type Endpoint.System-Agent-Version Endpoint.System-Client-OS Endpoint.System-Posture-Token Endpoint.Antispyware-APT Endpoint.Antispyware-Input Endpoint.Antispyware-Output |
ACPPM_posdskencrpsummary | Registros de insight | Resumo da criptografia de disco de postura | Endpoint.MAC-Address Endpoint.IP-Address Endpoint.Hostname Endpoint.Usermame Endpoint.System-Agent-Type Endpoint.System-Agent-Version Endpoint.System-Client-OS Endpoint.System-Posture-Token Endpoint.DiskEncryption-APT Endpoint.DiskEncryption-Input Endpoint.DiskEncryption-Output |
ACPPM_loggedusers | Registros de sessão | Usuários conectados | Common.Username Common.Service Common.Roles Common.Host-MAC-Address RADIUS.Acct-Framed-IP-Address Common.NAS-IP-Address Common.Request-Timestamp |
ACPPM_failedauth | Registros de sessão | Falhas de autenticação | Common.Username Common.Service Common.Roles RADIUS.Auth-Source RADIUS.Auth-Method Common.System-Posture-Token Common.Enforcement-Profiles Common.Host-MAC-Address Common.NAS-IP-Address Common.Error-Code Common.Alerts Common.Request-Timestamp |
ACPPM_radacctsession | Registros de sessão | Contabilidade RADIUS | RADIUS.Acct-Username RADIUS.Acct-NAS-IP-Address RADIUS.Acct-NAS-Port RADIUS.Acct-NAS-Port-Type RADIUS.Acct-Calling-Station-Id RADIUS.Acct-Framed-IP-Address RADIUS.Acct-Session-Id RADIUS.Acct-Session-Time RADIUS.Acct-Output-Pkts RADIUS.Acct-Input-Pkts RADIUS.Acct-Output-Octets RADIUS.Acct-Input.Octets RADIUS.Acct-Service-Name RADIUS.Acct-Timestamp |
ACPPM_tacadmin | Registros de sessão | Administração do tacacs+ | Common.Username Common.Service tacacs.Remote-Address tacacs.Privilege.Level Common.Request-Timestamp |
ACPPM_tacacct | Registros de sessão | Contabilidade do tacacs+ | Common.Username Common.Service tacacs.Remote-Address tacacs.Acct-Flags tacacs.Privilege.Level Common.Request-Timestamp |
ACPPM_webauthsession | Registros de sessão | Autenticação da Web | Common.Username Common.Host-MAC-Address WEBAUTH.Host-IP-Address Common.Roles Common.System-Posture-Token Common.Enforcement-Profiles Common.Request-Timestamp |
ACPPM_guestacc | Registros de sessão | Acesso para convidados | Common.Username RADIUS.Auth-Method Common.Host-MAC-Address Common.Roles Common.System-Posture-Token Common.Enforcement-Profiles Common.Request-Timestamp |
ACPPM_auditrecords | Registros de auditoria | Não aplicável | Não aplicável |
ACPPM_systemevents | Eventos do sistema | Não aplicável | Não aplicável |
Tabela de mapeamento do UDM
Campo de registro | Mapeamento da UDM | Lógica |
---|---|---|
Ação | security_result.action | O valor é mapeado do campo "Ação" se o valor for "ALLOW" ou "BLOCK". |
Auth.Enforcement-Profiles | security_result.detection_fields.value | O valor é mapeado do campo "Auth.Enforcement-Profiles" |
Auth.Host-MAC-Address | principal.mac | O valor é mapeado do campo "Auth.Host-MAC-Address" depois de convertido para o formato de endereço MAC separado por dois pontos. |
Auth.Login-Status | security_result.detection_fields.value | O valor é mapeado do campo "Auth.Login-Status". |
Auth.NAS-IP-Address | target.ip | O valor é mapeado do campo "Auth.NAS-IP-Address". |
Auth.Protocol | intermediary.application | O valor é mapeado do campo "Auth.Protocol". |
Auth.Service | security_result.detection_fields.value | O valor é mapeado do campo "Auth.Service" |
Auth.Source | principal.hostname | O valor é mapeado do campo "Auth.Source" depois de remover todos os caracteres alfanuméricos e espaços iniciais. |
Auth.Username | principal.user.user_display_name | O valor é mapeado do campo "Auth.Username". |
Categoria | metadata.event_type | Se o valor for "Logged in", o campo da UDM será definido como "USER_LOGIN". Se o valor for "Desconectado", o campo UDM será definido como "USER_LOGOUT". |
Common.Alerts | security_result.description | O valor é mapeado do campo "Common.Alerts" |
Common.Enforcement-Profiles | security_result.detection_fields.value | O valor é mapeado do campo "Common.Enforcement-Profiles". |
Common.Login-Status | security_result.detection_fields.value | O valor é mapeado do campo "Common.Login-Status" |
Common.NAS-IP-Address | target.ip | O valor é mapeado do campo "Common.NAS-IP-Address". |
Common.Roles | principal.user.group_identifiers | O valor é mapeado do campo "Common.Roles". |
Common.Service | security_result.detection_fields.value | O valor é mapeado do campo "Common.Service" |
Common.Username | principal.user.userid | O valor é mapeado do campo "Common.Username". |
Componente | intermediary.application | O valor é mapeado do campo "Componente". |
Descrição | metadata.description | O valor é mapeado do campo "Description" depois de substituir os caracteres de nova linha pelo símbolo de barra vertical. Se o campo "Descrição" contiver "User", "Address" e "Role", ele será analisado como pares de chave-valor e mapeado para os campos correspondentes do UDM. Se o campo "Description" (Descrição) contiver "Unable connection with" (Não foi possível se conectar com), o nome do host de destino será extraído e mapeado para "target.hostname". |
EntityName | principal.hostname | O valor é mapeado do campo "EntityName" |
InterIP | target.ip | O valor é mapeado do campo "InterIP". |
Nível | security_result.severity | Se o valor for "ERROR" ou "FATAL", o campo UDM será definido como "HIGH". Se o valor for "WARN", o campo UDM será definido como "MEDIUM". Se o valor for "INFO" ou "DEBUG", o campo UDM será definido como "LOW". |
LogNumber | metadata.product_log_id | O valor é mapeado do campo "LogNumber" |
RADIUS.Acct-Framed-IP-Address | principal.ip | O valor é mapeado do campo "RADIUS.Acct-Framed-IP-Address". |
Carimbo de data/hora | metadata.event_timestamp | O valor é mapeado do campo "Timestamp" depois de convertido para UTC e analisado como um carimbo de data/hora. |
Usuário | principal.user.userid | O valor é mapeado do campo "Usuário" |
agent_ip | principal.ip, principal.asset.ip | O valor é mapeado do campo "agent_ip" |
comunidade | additional.fields.value.string_value | O valor é mapeado do campo "community" |
descr | metadata.description | O valor é mapeado do campo "descr" |
empresa | additional.fields.value.string_value | O valor é mapeado do campo "enterprise" |
eventDescription | metadata.description | O valor é mapeado do campo "eventDescription" após a remoção das aspas. |
generic_num | additional.fields.value.string_value | O valor é mapeado do campo "generic_num" |
prin_mac | principal.mac | O valor é mapeado do campo "prin_mac" depois de convertido para o formato de endereço MAC separado por dois pontos. |
prin_port | principal.port | O valor é mapeado do campo "prin_port" e convertido em número inteiro. |
specificTrap_name | additional.fields.value.string_value | O valor é mapeado do campo "specificTrap_name". |
specificTrap_num | additional.fields.value.string_value | O valor é mapeado do campo "specificTrap_num" |
tempo de atividade | additional.fields.value.string_value | O valor é mapeado do campo "uptime" |
version | metadata.product_version | O valor é mapeado do campo "version" |
extensions.auth.type | O valor é definido como "SSO". | |
metadata.event_type | O valor é determinado com base em vários campos de registro e na lógica do analisador. Consulte o código do analisador para mais detalhes | |
metadata.log_type | O valor é definido como "CLEARPASS". | |
metadata.product_name | O valor é definido como "ClearPass". | |
metadata.vendor_name | O valor é definido como "ArubaNetworks". |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.