Coletar registros do Radware WAF

Compatível com:

Este documento explica como coletar os registros do firewall de aplicativo da Web (WAF, na sigla em inglês) do Radware usando um forwarder de operações de segurança do Google. O analisador extrai campos das mensagens syslog do firewall Radware usando padrões Grok e os mapeia para o UDM. Ele processa vários formatos de registro, preenche campos de resultados de segurança com base nos detalhes do ataque e categoriza eventos com base em attack_id, enriquecendo os dados para ingestão do Google SecOps.

Antes de começar

  • Verifique se você tem uma instância do Google Security Operations.
  • Verifique se você está usando o Windows 2016 ou uma versão mais recente ou um host Linux com systemd.
  • Se estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.
  • Verifique se o Radware Vision Reporter está instalado e configurado no AppWall.
  • Verifique se você tem acesso privilegiado ao portal do Radware WAF.

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. Faça o download do arquivo de autenticação de transferência. Salve o arquivo com segurança no sistema em que o agente Bindplane será instalado.

Receber o ID de 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

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 raiz 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

Configurar o agente do Bindplane para processar o Syslog e enviar ao Google SecOps

  1. Acesse o arquivo de configuração:

    • Localize o arquivo config.yaml. Normalmente, ele está 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 Notepad).
  2. Edite o arquivo config.yaml da seguinte forma:

    receivers:
      udplog:
        # Replace with your specific IP and port
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Path to the ingestion authentication file
        creds: '/path/to/your/ingestion-auth.json'
        # Your Chronicle customer ID
        customer_id: 'your_customer_id'
        endpoint: malachiteingestion-pa.googleapis.com
        ingestion_labels:
          log_type: SYSLOG
          namespace: radware_waf
          raw_log_field: body
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    

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 Services ou digite o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar o WAF Radware AppWall

Para concluir as tarefas, faça as seguintes três configurações:

  • Configure o AppWall de forma independente usando o Vision Reporter.
  • Configure o AppWall integrado no Alteon usando o Vision Reporter (inclua dados de solicitação HTTP nos detalhes do evento).
  • Configure o Vision Reporter para enviar registros ao agente do Bindplane.

Configurar o AppWall autônomo usando o Vision Reporter

  1. Faça login no console do Radware WAF usando as credenciais de administrador.
  2. Acesse Configuração > Serviços > Suporte à visão > Vision Reporter.
    • Ative o registro selecionando a caixa de seleção Enviar eventos para o Vision Reporter.
    • Endereço do Vision Reporter: insira o endereço IP do Vision Reporter.
    • Port: digite o número da porta.
    • Protocolo: selecione UDP ou TCP.
    • Para incluir dados de resposta HTTP, marque a caixa de seleção Enviar respostas para o Vision Reporter.
  3. Clique em Salvar.

Configurar o AppWall integrado no Alteon usando o Vision Reporter (preferência para o registro de dados de solicitação HTTP)

  1. Faça login no console do Radware WAF usando as credenciais de administrador.
  2. Acesse Configuração > Segurança > Segurança da Web > Vision Reporter.
    • Ative o registro selecionando a caixa de seleção Enviar eventos para o Vision Reporter.
    • Marque a caixa de seleção Enviar eventos para o Vision Reporter.
    • Endereço IP do Vision Reporter: insira o endereço IP do Vision Reporter.
    • Port: insira um número de porta alto.
    • Segurança: selecione UDP ou TCP.
  3. Clique em Salvar.

Configurar o Vision Reporter para enviar registros ao agente do Bindplane

  1. Faça login no console do administrador do Radware Vision Reporter.
  2. Acesse Configuração > SIEM e registro externo.
  3. Clique em + Adicionar novo destino do SIEM.
    • Nome do destino: digite Google SecOps Forwarder.
    • Tipo de exportação de registro: selecione Syslog (formato RFC 5424) para geração de registros estruturados.
    • Endereço IP do servidor de syslog remoto: insira o endereço IP do agente do Bindplane.
    • Porta: insira uma porta que o agente do Bindplane detecta (por exemplo, 514 para UDP, 601 para TCP).
    • Protocolo: selecione UDP ou TCP, dependendo da configuração do Bindplane.
  4. Clique em Salvar.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
action event.idm.read_only_udm.security_result.action Se action for "drop", defina como "BLOCK".
attack_desc event.idm.read_only_udm.security_result.description Mapeado diretamente.
attack_type event.idm.read_only_udm.security_result.threat_name Mapeado diretamente.
command event.idm.read_only_udm.principal.process.command_line Mapeado diretamente.
description event.idm.read_only_udm.security_result.description Mapeado diretamente se attack_desc estiver vazio.
dst_ip event.idm.read_only_udm.target.ip Mapeado diretamente.
dst_port event.idm.read_only_udm.target.port Mapeado diretamente, convertido em número inteiro. Defina como "MACHINE" se username estiver presente e command não estiver. Copiado do campo collection_time do registro bruto. O padrão é "NETWORK_CONNECTION". Defina como "GENERIC_EVENT" se src_ip ou dst_ip estiverem ausentes. Defina como "USER_LOGIN" se username estiver presente e command não estiver. Pode ser substituído pela lógica baseada em attack_id. Defina como "RADWARE_FIREWALL". Mapeado do campo product. Defina como "Radware".
intermediary_ip event.idm.read_only_udm.intermediary.ip Mapeado diretamente.
obv_ip event.idm.read_only_udm.observer.ip Mapeado diretamente.
product event.idm.read_only_udm.metadata.product_name Mapeado diretamente.
protocol_number_src event.idm.read_only_udm.network.ip_protocol Analisado usando a lógica parse_ip_protocol.include.
rule_id event.idm.read_only_udm.security_result.rule_id Mapeado diretamente. Derivado com base no valor de attack_id. Os valores incluem "ACL_VIOLATION", "NETWORK_DENIAL_OF_SERVICE", "NETWORK_SUSPICIOUS" e "NETWORK_RECON".
src_ip event.idm.read_only_udm.principal.ip Mapeado diretamente.
src_port event.idm.read_only_udm.principal.port Mapeado diretamente, convertido em número inteiro.
ts event.idm.read_only_udm.metadata.event_timestamp Analisado e convertido em carimbo de data/hora.
username event.idm.read_only_udm.target.user.userid Mapeado diretamente se command não estiver presente.
username event.idm.read_only_udm.principal.user.userid Mapeado diretamente se command estiver presente.

Alterações

2023-12-08

  • Um padrão Grok foi modificado para analisar corretamente "src_ip".

2023-11-23

  • Foram adicionados novos padrões Grok para oferecer suporte a um novo padrão não analisado de SYSLOGS.
  • Inclusão de suporte ao novo padrão de data "ts".
  • Inicialização de "attack_type", "attack_desc", "protocol_number_src", "security_result", "action" e "product" como nulo.
  • Adição de verificação de nulos a "product" antes do mapeamento para "event.idm.read_only_udm.metadata.product_name".
  • Foi adicionada uma verificação de valor nulo a "rule_id" antes do mapeamento para "event.idm.read_only_udm.security_result.rule_id".
  • Adição de verificação de valor nulo em "attack_desc" antes do mapeamento para "event.idm.read_only_udm.security_result.description".
  • Adição de verificação de nulos a "attack_type" antes do mapeamento para "event.idm.read_only_udm.security_result.threat_name".
  • "Nome de usuário" foi mapeado para "event.idm.read_only_udm.principal.user.userid".
  • "command" foi associado a "event.idm.read_only_udm.principal.process.command_line".
  • "description" foi associado a "event.idm.read_only_udm.security_result.description".
  • "intermediary_ip" foi mapeado para "event.idm.read_only_udm.intermediary.ip".

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.