Coletar registros do WAF da Radware

Compatível com:

Este documento explica como coletar os registros do firewall de aplicativos da Web (WAF, na sigla em inglês) da Radware usando um encaminhador do Google Security Operations. O analisador extrai campos de mensagens syslog do firewall Radware usando padrões grok e os mapeia para a 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.
  • 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 o Radware Vision Reporter está instalado e configurado no AppWall.
  • Verifique se você tem acesso privilegiado ao portal do WAF da Radware.

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 agente do 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

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

Configurar o agente do Bindplane para ingerir 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 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
    
  • 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 Bindplane Agent no Windows, use o console Serviços ou digite o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar o WAF Radware AppWall

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

  • Configure o AppWall 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).
  • Configurar o Vision Reporter para enviar registros ao agente do Bindplane.

Configurar o AppWall independente usando o Vision Reporter

  1. Faça login no console do Radware WAF usando credenciais de administrador.
  2. Acesse Configuração > Serviços > Suporte de visão > Vision Reporter.
    • Para ativar o registro em registros, selecione a caixa de seleção Enviar eventos ao Vision Reporter.
    • Endereço do Vision Reporter: insira o endereço IP do Vision Reporter.
    • Porta: 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 ao Vision Reporter.
  3. Clique em Salvar.

Configure o AppWall integrado no Alteon usando o Vision Reporter (preferencial para registro de dados de solicitação HTTP)

  1. Faça login no console do WAF da Radware usando credenciais de administrador.
  2. Acesse Configuração > Segurança > Segurança da Web > Vision Reporter.
    • Para ativar o registro em registros, selecione a caixa de seleção Enviar eventos ao Vision Reporter.
    • Marque a caixa de seleção Enviar eventos ao Vision Reporter.
    • Endereço IP do Vision Reporter: insira o endereço IP do Vision Reporter.
    • Porta: digite 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 Encaminhador do Google SecOps.
    • Tipo de exportação de registros: selecione Syslog (formato RFC 5424) para geração de registros estruturada.
    • Em IP do servidor 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". Definido como "GENERIC_EVENT" se src_ip ou dst_ip estiverem faltando. Defina como "USER_LOGIN" se username estiver presente e command não estiver. Pode ser substituído por uma 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", "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.

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