Coletar registros do sistema de prevenção de intrusões sem fio (WIPS) da Cisco
Neste documento, explicamos como ingerir registros do Cisco Wireless Intrusion Prevention
System (WIPS) no Google Security Operations usando o Bindplane. O analisador
extrai pares de chave-valor das mensagens do syslog e mapeia esses valores para
campos do modelo de dados unificado (UDM). Ele determina o event_type
adequado com base na presença de informações principais, de destino e do usuário, além de categorizar eventos de segurança com base em eventType
e outros campos.
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
- Instância do Google SecOps
- Windows 2016 ou 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.
- Acesso privilegiado ao ponto de acesso (AP) / controlador de LAN sem fio (WLC) da Cisco
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 com segurança 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
Instale o agente do Bindplane no 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 o 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_file_path: '/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 log_type: 'CISCO_WIPS' 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
<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 em 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 sistema adaptativo de prevenção contra invasões sem fio (aWIPS) no Cisco Catalyst
- Faça login no Cisco Catalyst usando SSH.
Insira a configuração global para ativar o aWIPS no perfil do AP:
configure terminal ap profile <profile-name> awips
Configure o intervalo de limitação do syslog para 60 segundos:
awips-syslog throttle period 60
Configurar o Syslog usando perfis de AP da Cisco
No perfil de junção de AP (via CLI):
configure terminal ap profile <profile-name> syslog host <Bindplane_IP_address> syslog level informational syslog facility local0 end
Configurar o Syslog no WLC da Cisco (GUI)
- Faça login na UI da Web do WLC.
- Acesse Gerenciamento > Registros > Configuração.
- Insira o endereço IP do agente do Bindplane no campo Endereço IP do servidor Syslog.
- Clique em Adicionar.
- Informe os seguintes detalhes de configuração:
- Gravidade do Syslog: selecione Informativa.
- Facilidade do Syslog: selecione Uso local 0.
- Clique em Aplicar.
- Clique em Save Configuration.
Configurar o Syslog em pontos de acesso usando o WLC (CLI)
Host syslog da AP global:
config ap syslog host global <Bindplane_IP_address>
Configure o host syslog do ponto de acesso específico:
config ap syslog host specific <AP-name> <Bindplane_IP_address>
Defina a gravidade do syslog do AP:
config ap logging syslog level informational
Defina a facilidade para mensagens de AP:
config logging syslog facility local0
Tabela de mapeamento da UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
applicationCategoryData |
security_result.summary |
Mapeado diretamente. |
applicationSpecificAlarmID |
target.resource.attribute.labels.applicationSpecificAlarmID |
Convertido em um rótulo no recurso de destino. |
attackerMacAddr |
target.mac |
Mapeado diretamente. |
authEntityId |
principal.resource.attribute.labels.authEntityId |
Convertido em um rótulo no recurso principal. |
category |
security_result.category_details |
Mapeado diretamente. |
detectingApCount |
target.resource.attribute.labels.detectingApCount |
Convertido em um rótulo no recurso de destino. |
description |
metadata.description |
Mapeado diretamente. |
displayName |
principal.user.userid |
Extraído usando a expressão regular host/(?P<user_id>[\\w-]+) de displayName se o padrão corresponder. |
eventType |
metadata.product_event_type |
Mapeado diretamente. |
instanceId |
principal.resource.attribute.labels.instanceId |
Convertido em um rótulo no recurso principal. |
instanceUuid |
metadata.product_log_id |
Mapeado diretamente. |
instanceVersion |
principal.resource.attribute.labels.instanceVersion |
Convertido em um rótulo no recurso principal. |
macInfo |
target.resource.attribute.labels.macInfo |
Convertido em um rótulo no recurso de destino. |
notificationDeliveryMechanism |
target.resource.attribute.labels.notificationDeliveryMechanism , network.ip_protocol |
Convertido em um rótulo no recurso de destino. Se o valor contiver "snmp" (sem diferenciar maiúsculas de minúsculas), network.ip_protocol será definido como "UDP". |
previousSeverity |
target.resource.attribute.labels.previousSeverity |
Convertido em um rótulo no recurso de destino. Definido como "AUTHTYPE_UNSPECIFIED" se eventType for "USER_AUTHENTICATION_FAILURE" e user_id não estiver vazio. Copiado do timestamp do registro. Determinado pela lógica do analisador com base em várias condições: "USER_LOGIN" se eventType for "USER_AUTHENTICATION_FAILURE" e user_id não estiver vazio. "NETWORK_CONNECTION" se is_target_present e is_principal_present forem verdadeiros. "STATUS_UPDATE" se is_principal_present for verdadeiro. "USER_UNCATEGORIZED" se user_id não estiver vazio. "GENERIC_EVENT" caso contrário. Codificado como "CISCO_WIPS". Codificado como "Sistema de prevenção de intrusões sem fio (WIPS)". Codificado como "Cisco". Defina como "UDP" se notificationDeliveryMechanism contiver "snmp" (sem diferenciação de maiúsculas e minúsculas). Mapeado de reportingEntityAddress ou source se não forem IPs. Mapeado de reportingEntityAddress ou source se forem IPs. Extraído usando uma expressão regular de source se for um endereço MAC. Convertido em um rótulo no recurso principal. Convertido em um rótulo no recurso principal. |
reportingEntityAddress |
principal.ip , principal.hostname |
Se for um endereço IP, mapeado para principal.ip . Caso contrário, será mapeado para principal.hostname . |
severity |
security_result.severity |
Mapeado com base nestas condições: "CRITICAL" se severity for "0", "1", "CRITICAL" ou "VERY-HIGH". "HIGH" se severity for "2", "3", "4" ou "HIGH". "MEDIUM" se severity for "5" ou "MEDIUM". "LOW" se severity for "6", "7" ou "LOW". |
sigAlertDescription |
security_result.description |
Mapeado diretamente. |
signatureName |
target.resource.attribute.labels.signatureName |
Convertido em um rótulo no recurso de destino. |
source |
principal.hostname , principal.ip , principal.mac |
Se for um endereço IP, mapeado para principal.ip . Se for um endereço MAC, mapeado para principal.mac . Caso contrário, será mapeado para principal.hostname . |
srcObjectClassId |
principal.resource.attribute.labels.srcObjectClassId |
Convertido em um rótulo no recurso principal. |
srcObjectId |
principal.resource.attribute.labels.srcObjectId |
Convertido em um rótulo no recurso principal. |
subclassName |
security_result.rule_name |
Mapeado diretamente. Definido como "BLOCK" se applicationSpecificAlarmID contiver "BlockList" (sem diferenciação de maiúsculas e minúsculas) ou se eventType for "SIGNATURE_ATTACK", "MALICIOUS_ROGUE_AP_DETECTED" ou "USER_AUTHENTICATION_FAILURE". Determinado pela lógica do analisador com base em eventType : "NETWORK_MALICIOUS" se eventType for "MALICIOUS_ROGUE_AP_DETECTED". "NETWORK_SUSPICIOUS" se eventType for "SIGNATURE_ATTACK". "AUTH_VIOLATION" se eventType for "USER_AUTHENTICATION_FAILURE". |
timestamp |
metadata.event_timestamp |
Os campos seconds e nanos são mapeados diretamente. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.