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
,vi
ou Bloco de notas).
- Localize o ficheiro
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
Substitua 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.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
- 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
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.