Recolha registos do WAF do Barracuda

Compatível com:

Este documento explica como recolher registos da firewall de aplicações Web (WAF) da Barracuda através do Bindplane. O analisador extrai campos dos registos nos formatos JSON e Syslog, normaliza-os e mapeia-os para o modelo de dados unificado (UDM). Processa vários tipos de registos (tráfego, firewall Web) e realiza transformações condicionais com base nos valores dos campos, incluindo a resolução de endereços IP/nomes de anfitriões, o mapeamento da direcionalidade e a normalização da gravidade.

Antes de começar

  • Certifique-se de que tem uma instância do Google Security Operations.
  • Certifique-se de que está a usar o Windows 2016 ou posterior, ou um anfitrião Linux com systemd.
  • Se estiver a executar o serviço através de um proxy, certifique-se de que as portas da firewall estão abertas.
  • Certifique-se de que tem acesso privilegiado à WAF da Barracuda.

Obtenha o ficheiro de autenticação de carregamento do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Agentes de recolha.
  3. Transfira o ficheiro de autenticação de carregamento. Guarde o ficheiro de forma segura no sistema onde o Bindplane vai ser instalado.

Obtenha o ID de cliente do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Perfil.
  3. Copie e guarde o ID do cliente da secção Detalhes da organização.

Instale o agente do Bindplane

Instalação do Windows

  1. Abra a Linha de comandos ou o PowerShell como administrador.
  2. Execute o seguinte 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 o seguinte comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Recursos de instalação adicionais

Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps

  1. Aceda ao ficheiro de configuração:

    1. Localize o ficheiro config.yaml. Normalmente, encontra-se no diretório /etc/bindplane-agent/ no Linux ou no diretório de instalação no Windows.
    2. Abra o ficheiro com um editor de texto (por exemplo, nano, vi ou Bloco de notas).
  2. Edite o ficheiro config.yaml da seguinte forma:

    receivers:
        tcplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:54525"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/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
            ingestion_labels:
                log_type: SYSLOG
                namespace: barracuda_waf
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.

  4. Substitua <customer_id> pelo ID de cliente real.

  5. Atualize /path/to/ingestion-authentication-file.json para o caminho onde o ficheiro de autenticação foi guardado na secção Obtenha o ficheiro de autenticação de carregamento do Google SecOps.

Reinicie o agente do Bindplane para aplicar as alterações

  • 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, pode usar a consola Services ou introduzir o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configure o WAF do Barracuda

  1. Inicie sessão na consola do Barracuda WAF com as credenciais de administrador.
  2. Clique no separador Avançadas> Exportar registos.
  3. Na secção Exportar registos, clique em Adicionar servidor de registo de exportação.
  4. Forneça os seguintes valores:
    • Nome: introduza um nome para o encaminhador do Google SecOps.
    • Tipo de servidor de registo: selecione Syslog.
    • Endereço IP ou nome de anfitrião: introduza o Bindplane endereço IP.
    • Porta: introduza a porta Bindplane.
    • Tipo de ligação: selecione o tipo de ligação TCP (o TCP é recomendado). No entanto, também podem ser usados protocolos UDP ou SSL).
    • Validar certificado do servidor: selecione Não.
    • Certificado do cliente: selecione Nenhum.
    • Registar data/hora e nome do anfitrião: selecione Sim.
    • Clique em Adicionar.

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
action security_result.action Se action for DENY, defina como BLOCK. Caso contrário, defina como ALLOW (especificamente para o tipo de registo WF). Também usado para eventos de firewall genéricos.
appProtocol network.application_protocol Se appProtocol corresponder a TLSv, defina como HTTPS. Caso contrário, use o valor de appProtocol.
attackDetails security_result.description Extraído do registo não processado para o tipo de registo WF.
attackType security_result.summary Parte dos security_result.summary, combinados com ruleType.
bytesReceived network.received_bytes Convertido em número inteiro sem sinal e mapeado para o tipo de registo TR.
bytesSent network.sent_bytes Convertido em número inteiro sem sinal e mapeado para o tipo de registo TR.
hostName target.hostname Se hostName não for um endereço IP, use o respetivo valor. Caso contrário, é unida a target.ip.
httpMethod loginId principal.user.userid Mapeado para o tipo de registo TR quando não é igual a emptyToken.
logType metadata.product_event_type Se TR, defina metadata.product_event_type como Barracuda Access Log. Se WF, defina como Barracuda Web Firewall Log.
message metadata.description Usado quando desc não está vazio.
referrer network.http.referral_url Mapeado para o tipo de registo TR quando não é igual a emptyToken.
responseCode network.http.response_code Convertido em número inteiro e mapeado para o tipo de registo TR.
rule security_result.rule_name Mapeado para o tipo de registo WF.
ruleType security_result.summary Parte dos security_result.summary, combinados com attackType.
sec_desc security_result.rule_name Usado para eventos de firewall genéricos.
server target.ip Unido a target.ip.
serv target.ip Unido a target.ip.
severity security_result.severity Para o tipo de registo WF: convertido em letras maiúsculas. Se EMERGENCY, ALER ou CRITICAL, defina security_result.severity como CRITICAL. Se ERROR, defina como HIGH. Se WARNING, defina como MEDIUM. Se NOTICE, defina como LOW. Caso contrário, defina como INFORMATIONAL.
src principal.ip Também usado para eventos de firewall genéricos e algumas atualizações de estado.
srcPort principal.port Convertido em número inteiro.
target targetPort target.port Convertido em número inteiro.
time metadata.event_timestamp.seconds, metadata.event_timestamp.nanos, timestamp.seconds, timestamp.nanos Combinado com tz e analisado para criar a data/hora do evento. Os segundos e os nanos são extraídos e preenchidos nos respetivos campos.
url urlParams target.url Anexado a url se não for igual a emptyToken para o tipo de registo TR.
userAgent userName target.user.userid, target.user.user_display_name Usado para eventos de firewall genéricos. Se não for igual a emptyToken para o tipo de registo TR, é mapeado para target.user.user_display_name. Codificado para Barracuda. Definido como NETWORK_HTTP se src e target estiverem presentes. Definido como STATUS_UPDATE se apenas src estiver presente. Definir como GENERIC_EVENT como predefinição ou para outros cenários, como a análise CEF. Codificado para BARRACUDA_WAF.

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