Recolha registos do WAF do Barracuda
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
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Agentes de recolha.
- 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
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Perfil.
- Copie e guarde o ID do cliente da secção Detalhes da organização.
Instale o agente do Bindplane
Instalação do Windows
- Abra a Linha de comandos ou o PowerShell como administrador.
Execute o seguinte 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 raiz ou sudo.
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
- Para ver opções de instalação adicionais, consulte este guia de instalação.
Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps
Aceda ao ficheiro de configuração:
- 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. - Abra o ficheiro com um editor de texto (por exemplo,
nano,viou Bloco de notas).
- Localize o ficheiro
Edite o ficheiro
config.yamlda 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_labelsSubstitua a porta e o endereço IP conforme necessário na sua infraestrutura.
Substitua
<customer_id>pelo ID de cliente real.Atualize
/path/to/ingestion-authentication-file.jsonpara 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-agentPara 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
- Inicie sessão na consola do Barracuda WAF com as credenciais de administrador.
- Clique no separador Avançadas> Exportar registos.
- Na secção Exportar registos, clique em Adicionar servidor de registo de exportação.
- 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
Bindplaneendereç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.