Coletar registros do Aruba IPS
Este documento explica como ingerir registros do Aruba IPS no Google Security Operations usando o Bindplane. O analisador extrai eventos, notificações, pontos de acesso desonestos e informações de pontos de acesso WIDS de registros formatados em JSON. Ele transforma os dados de registro brutos em UDM mapeando campos, processando vários tipos de eventos (login/logout do usuário, eventos de rede, eventos de segurança) e enriquecendo os dados com informações contextuais, como canal, SSID, BSSID e gravidade. O analisador também realiza a normalização de carimbos de data/hora e o tratamento de erros para JSON malformado.
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
- Uma instância do Google SecOps
- Um host Windows 2016 ou mais recente ou Linux com
systemd - Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente Bindplane.
- Acesso privilegiado ao console de gerenciamento ou à CLI do dispositivo Aruba
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 de 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
Instale o agente do Bindplane no seu sistema operacional Windows ou Linux de acordo com as instruções a seguir.
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,viou Bloco de Notas).
- Localize o arquivo
Edite o arquivo
config.yamlda 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_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: YOUR_CUSTOMER_ID_HERE endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'ARUBA_IPS' raw_log_field: body ingestion_labels: 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
<YOUR_CUSTOMER_ID_HERE>pelo ID do cliente real. - Atualize
/path/to/ingestion-authentication-file.jsonpara 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. - Atualize o valor de
endpointpara corresponder à região do seu locatário.
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-agentPara 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 encaminhamento de syslog em dispositivos Aruba
Escolha o método de configuração com base no tipo de dispositivo Aruba:
Opção A: controladores Aruba (AOS-8)
Esta opção detalha as etapas para configurar o encaminhamento de Syslog em controladores Aruba que executam o AOS-8.
Usando a WebUI (recomendado para o formato CEF)
- Faça login na interface da Web do controlador Aruba.
- Na hierarquia de nós da Rede gerenciada, acesse Configuração > Sistema > Logging > Servidores Syslog.
- Para adicionar um servidor de geração de registros, clique em + na seção Servidores Syslog.
- Informe os seguintes detalhes de configuração:
- Endereço IP do servidor: insira o endereço IP do agente do Bindplane.
- Porta: digite
514(ou a porta configurada no Bindplane). - Protocolo: selecione UDP ou TCP, dependendo da configuração do agente do Bindplane.
- Clique em Aplicar.
- Para selecionar os tipos de mensagens que você quer registrar, escolha Níveis de geração de registros.
- Selecione a categoria ou subcategoria que será registrada.
- Para selecionar o nível de gravidade da categoria ou subcategoria, escolha uma opção na lista suspensa Nível de registro.
- Selecione o formato de geração de registros CEF ou BSD-standard na lista suspensa Formato.
- O CEF (Common Event Format) do ArcSight é recomendado para geração de registros estruturada.
- Clique em Enviar.
- Clique em Alterações pendentes.
- Na janela Mudanças pendentes, marque a caixa de seleção e clique em Implantar mudanças.
Opção B: Aruba Instant AP
Esta seção descreve o procedimento para configurar um servidor Syslog em um ponto de acesso (AP) Aruba Instant pela interface da Web ou pela interface de linha de comando (CLI).
Como usar a interface da Web
- Faça login na interface da Web do Aruba Instant.
- Na janela principal do Instant, clique no link Sistema.
- Clique em Mostrar opções avançadas.
- Clique na guia Monitoramento.
- Os detalhes da guia "Monitoring" são exibidos.
- No campo Servidor Syslog, na seção Servidores, insira o endereço IP do agente do Bindplane.
- Na seção Níveis de facilidade do Syslog, selecione os valores necessários para configurar os níveis de facilidade do Syslog.
- Nível do Syslog: registro detalhado sobre os níveis do Syslog.
- AP-Debug: registro detalhado sobre o dispositivo Instant AP.
- Rede: registro sobre a mudança de rede, por exemplo, quando um novo Instant AP é adicionado a uma rede.
- Segurança: registro sobre segurança de rede, por exemplo, quando um cliente se conecta usando a senha errada.
- Sistema: registro sobre configuração e status do sistema.
- Usuário: registros importantes sobre o cliente.
- User-Debug: registro detalhado sobre o cliente.
- Sem fio: registro sobre rádio.
- Clique em OK para salvar a configuração.
Como usar a CLI
- Faça login na CLI do Aruba Instant AP.
Insira o modo de configuração:
configure terminalConfigure o servidor e o nível do syslog:
syslog-server <BINDPLANE_IP_ADDRESS> syslog-level warnings
- Substitua
<BINDPLANE_IP_ADDRESS>pelo endereço IP do host do agente do Bindplane. - Ajuste o nível de gravidade conforme necessário.
Opção C: Aruba AOS-S (switches)
- Faça login na CLI do switch Aruba AOS-S.
Insira o modo de configuração:
configureConfigure o servidor syslog:
logging <BINDPLANE_IP_ADDRESS> logging severity warnings- Substitua
<BINDPLANE_IP_ADDRESS>pelo endereço IP do host do agente do Bindplane. - Ajuste o nível de gravidade conforme necessário.
- Substitua
Salve a configuração:
write memory
Opção D: Aruba Central (local)
- Faça login na interface da Web do Aruba Central.
- Acesse Sistema > Administração do sistema > Notificações > Servidor Syslog.
- Clique em Adicionar ou Ativar.
- Informe os seguintes detalhes de configuração:
- Host: insira o endereço IP do agente do Bindplane.
- Porta: digite
514(ou a porta configurada no Bindplane). - Protocolo: selecione UDP ou TCP, dependendo da configuração do agente do Bindplane.
- Unidade: selecione Local7 ou conforme necessário.
- Gravidade: selecione o nível mínimo de registro (por exemplo, Aviso ou Informações).
- Clique em Salvar.
Tabela de mapeamento do UDM
| Campo de registro | Mapeamento do UDM | Lógica |
|---|---|---|
notifications.created_timestamp |
metadata.event_timestamp.seconds |
O campo de registro bruto notifications.created_timestamp é convertido em segundos e mapeado. Os nanossegundos são perdidos na conversão. |
notifications.customer_id |
metadata.product_log_id |
Mapeamento direto. |
notifications.device_id |
principal.resource.product_object_id |
Mapeamento direto. |
notifications.group_name |
principal.group.group_display_name |
Mapeamento direto. |
notifications.id |
metadata.product_log_id |
Mapeamento direto. |
notifications.timestamp |
metadata.event_timestamp.seconds |
O campo de registro bruto notifications.timestamp é convertido em segundos e mapeado. |
rogue_aps.acknowledged |
security_result.detection_fields.value em que security_result.detection_fields.key é "confirmado" |
Convertido em string e mapeado. |
rogue_aps.containment_status |
metadata.description |
Mapeamento direto. |
rogue_aps.cust_id |
metadata.product_log_id |
Mapeamento direto. |
rogue_aps.encryption |
security_result.detection_fields.value em que security_result.detection_fields.key é "encryption" |
Mapeamento direto. |
rogue_aps.first_det_device |
principal.resource.product_object_id |
Mapeamento direto. |
rogue_aps.first_det_device_name |
principal.hostname |
Mapeamento direto. |
rogue_aps.first_seen |
principal.domain.first_seen_time.seconds |
Analisado como uma data e os segundos desde o período são mapeados. |
rogue_aps.group_name |
principal.group.group_display_name |
Mapeamento direto. |
rogue_aps.id |
principal.mac |
Em minúsculas e mapeado. |
rogue_aps.labels |
security_result.detection_fields.value em que security_result.detection_fields.key é "labels" |
Mapeamento direto. |
rogue_aps.last_det_device |
security_result.about.user.product_object_id |
Mapeamento direto. |
rogue_aps.last_det_device_name |
target.hostname |
Mapeamento direto. |
rogue_aps.last_seen |
principal.domain.last_seen_time.seconds |
Analisado como uma data e os segundos desde o período são mapeados. Também usado como o carimbo de data/hora do evento, se presente. |
rogue_aps.mac_vendor |
target.administrative_domain |
Mapeamento direto. |
rogue_aps.name |
target.user.userid |
Mapeamento direto. |
rogue_aps.overridden |
security_result.detection_fields.value em que security_result.detection_fields.key é "substituído" |
Convertido em string e mapeado. |
rogue_aps.signal |
security_result.detection_fields.value em que security_result.detection_fields.key é "indicador" |
Convertido em string e mapeado. |
rogue_aps.ssid |
security_result.detection_fields.value em que security_result.detection_fields.key é "ssid" |
Mapeamento direto. |
site |
principal.location.name |
Mapeamento direto. |
wids_aps_info_list.attack_type |
metadata.description |
Mapeamento direto. |
wids_aps_info_list.detected_ap |
principal.hostname |
Mapeamento direto. |
wids_aps_info_list.description |
security_result.description |
Mapeamento direto. Também usado para extrair vários campos usando grok. |
wids_aps_info_list.event_time |
metadata.event_timestamp.seconds |
Convertido em string e usado como o carimbo de data/hora do evento, se presente. |
wids_aps_info_list.event_type |
metadata.product_event_type |
Mapeamento direto. |
wids_aps_info_list.macaddr |
principal.mac |
Em minúsculas e mapeado. |
wids_aps_info_list.radio_band |
security_result.detection_fields.value em que security_result.detection_fields.key é "radio_band" |
Mapeamento direto. |
wids_aps_info_list.virtual_controller |
target.hostname |
Mapeamento direto. Definido como true se notifications.severity for "Emergency", "Alert" ou "Critical". Definido como true se notifications.severity for "Emergency", "Alert" ou "Critical". Determinado pelos campos events.event_type ou notifications.type ou definido como GENERIC_EVENT por padrão. Vários mapeamentos são derivados da lógica: STATUS_STARTUP, STATUS_SHUTDOWN, STATUS_UPDATE, USER_LOGIN, USER_LOGOUT. Sempre definido como "ARUBA_IPS". Sempre definido como "ARUBA_IPS". Sempre definido como "ARUBA". Defina como "DHCP" se events.event_type for "Client DHCP Acknowledged" ou "Client DHCP Timeout". Defina como "BOOTREPLY" se events.event_type for "Client DHCP Acknowledged" ou "Client DHCP Timeout". Extraído de events.description usando grok se events.event_type for "Client DHCP Acknowledged". Definido como "ACK" se events.event_type for "Client DHCP Acknowledged" e events.description contiver um endereço IP. Caso contrário, defina como "WIN_EXPIRED". Defina como "ACCESS POINT" se events.event_type começar com "Radio", "WLAN", "AP" ou for "Security". Defina como "DEVICE" se events.event_type começar com "Radio", "WLAN", "AP" ou for "Security". Mapeado de events.client_mac para a maioria dos eventos do cliente ou rogue_aps.last_det_device para eventos de APs invasores. Definido como "AUTH_VIOLATION" para valores específicos de events.event_type ou se notifications.description contiver "DoS Attack" ou "disconnect attack". Definido para valores events.event_type específicos. Vários pares de chave-valor são adicionados com base em campos extraídos, como bssid, channel, previous_channel, ssid, previous bssid, acknowledged, overriden, encryption, signal, labels e radio_band. Mapeado de wids_aps_info_list.description para eventos de WIDs. Determinado por notifications.severity ou wids_aps_info_list.level. Definido como "level: %{wids_aps_info_list.level}" para eventos do WIDS. Definido para valores events.event_type específicos. Mapeado de rogue_aps.mac_vendor para eventos de APs não autorizados. Mapeado de rogue_aps.last_det_device_name para eventos de APs não autorizados ou wids_aps_info_list.virtual_controller para eventos de WIDs. Extraído de events.description usando grok se events.event_type for "Segurança". Mapeado de notifications.client_mac para eventos de notificação, events.client_mac para eventos de cliente, target_mac extraído de wids_aps_info_list.description para eventos de WIDs ou rogue_aps.id para eventos de APs não autorizados. Definido como "CLIENT" para a maioria dos eventos do cliente. Definido como "DEVICE" para a maioria dos eventos do cliente. Definido como "ACTIVE" se events.event_type for "Security". Mapeado de rogue_aps.name para eventos de APs não autorizados. |
events.bssid |
security_result.detection_fields.value em que security_result.detection_fields.key é "bssid" |
Mapeamento direto. |
events.client_mac |
target.mac |
Mapeamento direto. Também usado para preencher security_result.about.user.product_object_id em eventos do cliente e target.ip em eventos de "Segurança". |
events.description |
metadata.description |
Mapeamento direto para eventos de AP e rádio. Usado para extrair vários campos usando grok para outros tipos de eventos. |
events.device_mac |
principal.mac |
Mapeamento direto. |
events.device_serial |
principal.resource.product_object_id |
Mapeamento direto. |
events.events_details.2.channel |
security_result.detection_fields.value em que security_result.detection_fields.key é "channel" |
Mapeamento direto. |
events.group_name |
principal.group.group_display_name |
Mapeamento direto. |
events.hostname |
principal.hostname |
Mapeamento direto. |
events.timestamp |
metadata.event_timestamp.seconds |
Convertidos em string, os milissegundos são removidos e mapeados. Também usado como o carimbo de data/hora do evento, se presente. |
timestamp |
metadata.event_timestamp |
Usado como carimbo de data/hora do evento se outros campos de carimbo de data/hora não estiverem presentes. Definido como "ACTIVE" para a maioria dos eventos de cliente e de segurança. Definido como "AUTHTYPE_UNSPECIFIED" se events.event_type for "Client 802.1x Radius Reject". Extraído de events.description usando grok se events.event_type for "Segurança". |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.