Coletar registros do sistema de prevenção de intrusões sem fio (WIPS) da Cisco

Compatível com:

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

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. 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

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. 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

  1. Abra o Prompt de Comando ou o PowerShell como administrador.
  2. Execute este comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Instalação do Linux

  1. Abra um terminal com privilégios de root ou sudo.
  2. 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

  1. 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).
  2. 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

  1. Faça login no Cisco Catalyst usando SSH.
  2. Insira a configuração global para ativar o aWIPS no perfil do AP:

    configure terminal
    ap profile <profile-name>
    awips
    
  3. 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

  1. 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)

  1. Faça login na UI da Web do WLC.
  2. Acesse Gerenciamento > Registros > Configuração.
  3. Insira o endereço IP do agente do Bindplane no campo Endereço IP do servidor Syslog.
  4. Clique em Adicionar.
  5. Informe os seguintes detalhes de configuração:
    • Gravidade do Syslog: selecione Informativa.
    • Facilidade do Syslog: selecione Uso local 0.
  6. Clique em Aplicar.
  7. Clique em Save Configuration.

Configurar o Syslog em pontos de acesso usando o WLC (CLI)

  1. Host syslog da AP global:

    config ap syslog host global <Bindplane_IP_address>
    
  2. Configure o host syslog do ponto de acesso específico:

    config ap syslog host specific <AP-name> <Bindplane_IP_address>
    
  3. Defina a gravidade do syslog do AP:

    config ap logging syslog level informational
    
  4. 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.