Recolha registos do F5 AFM
Este documento explica como carregar registos de gestão avançada de firewall da F5 para o Google Security Operations através do Bindplane. O analisador transforma os registos dos formatos SYSLOG e CSV ou CSV num modelo de dados unificado (UDM). Primeiro, tenta analisar a mensagem de registo através de padrões grok específicos do formato SYSLOG e, se não tiver êxito, processa-a como um ficheiro CSV, extraindo e mapeando campos para a estrutura UDM.
Antes de começar
Certifique-se de que tem os seguintes pré-requisitos:
- Instância do Google SecOps
- Windows 2016 ou posterior, ou um anfitrião Linux com
systemd
- Se estiver a ser executado através de um proxy, as portas da firewall estão abertas
- Acesso privilegiado ao F5 BIG-IP e à gestão avançada da firewall F5
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
Instale o agente do Bindplane no seu sistema operativo Windows ou Linux de acordo com as seguintes instruções.
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 o 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:5145" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/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: 'F5_AFM' 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
Ative o F5 BIG-IP Advanced Firewall Manager
- Inicie sessão na consola de gestão do dispositivo BIG-IP.
- Aceda a Sistema > Licença.
- Verifique se o Advanced Firewall Manager tem uma licença e está ativado.
- Para ativar o Advanced Firewall Manager, aceda a Sistema > Recurso > Aprovisionamento.
- Selecione a caixa de verificação na coluna Provisionamento e selecione Nominal na lista.
- Clique em Enviar.
Configure o Logging Pool no F5 AFM
- Aceda a Tráfego local > Conjuntos.
- Clique em Criar.
- Indique os seguintes detalhes de configuração:
- Nome: introduza um nome para o conjunto de registo (por exemplo, logging_pool).
- Monitor de estado: na lista Disponível, selecione TCP e clique em <<.
- No separador Recurso, selecione o Logging Pool que criou anteriormente na lista Nome do nó.
- No campo Endereço, introduza o endereço IP do agente do Bindplane.
- No campo Porta de serviço, introduza
5145
ou outra porta conforme definido no agente Bindplane. - Clique em Adicionar.
- Clique em Concluir.
Configure o destino do registo formatado no F5 AFM
- Aceda a Sistema > Registos > Configuração > Destinos dos registos.
- Clique em Criar.
- Indique os seguintes detalhes de configuração:
- Nome: introduza um nome para o destino do formato de registo (por exemplo,
Logging_Format_Destination
). - Descrição: introduza uma descrição.
- Tipo: selecione Syslog remoto.
- Formato Syslog: selecione Syslog.
- Destino do registo de alta velocidade: selecione o destino do registo de alta velocidade (por exemplo,
Logging_HSL_Destination
).
- Nome: introduza um nome para o destino do formato de registo (por exemplo,
- Clique em Concluído.
Configure o publicador de registos no F5 AFM
- Aceda a Sistema > Registos > Configuração > Publicadores de registos.
- Clique em Criar.
- Indique os seguintes detalhes de configuração:
- Nome: introduza um nome para o publicador (por exemplo,
Log_Publisher
). - Descrição: introduza uma descrição.
- Destinos: selecione o nome do destino do registo que criou no passo Configurar o conjunto de registos no F5 AFM e clique em << para adicionar itens à lista Selecionado.
- Nome: introduza um nome para o publicador (por exemplo,
Configure o perfil de registo no F5 AFM
- Aceda a Segurança > Registos de eventos > Perfil de registo.
- Clique em Criar.
- Indique os seguintes detalhes de configuração:
- Nome: introduza um nome para o perfil de registo (por exemplo, Logging_Profile).
- Firewall de rede: selecione a caixa de verificação Ativada.
- Publicador: selecione o publicador de registos que configurou anteriormente (por exemplo,
Log_Publisher
). - Registar correspondências de regras: selecione as caixas de verificação Aceitar, Ignorar e Rejeitar.
- Registar erros de IP: selecione a caixa de verificação Ativado.
- Registar erros de TCP: selecione a caixa de verificação Ativado.
- Registar eventos TCP: selecione a caixa de verificação Ativado.
- Formato de armazenamento: selecione Lista de campos.
- Delimitador: introduza
,
(vírgula) como delimitador para eventos. - Opções de armazenamento: selecione todas as opções na lista Itens disponíveis e clique em <<.
- No separador Estatísticas de IP, selecione o publicador de registos que configurou (por exemplo,
Log_Publisher
).
- Clique em Concluído.
Configure a associação do perfil do servidor virtual no F5 AFM
- Aceda a Tráfego local > Servidores virtuais.
- Selecione o servidor virtual que quer modificar.
- Aceda ao separador Segurança > Políticas.
- Na lista Perfil de registo, selecione Ativado.
- No campo Perfil, selecione Logging_Profile e clique em <<.
- Clique em Atualizar.
Tabela de mapeamento do UDM
Campo de registo | Mapeamento do UDM | Lógica |
---|---|---|
acl_policy_name | security_result.detection_fields.acl_policy_name | Valor da coluna 22 se o formato de registo for SYSLOG, caso contrário, valor da coluna 13 |
acl_policy_type | security_result.detection_fields.acl_policy_type | Valor da coluna 21 se o formato do registo for SYSLOG, caso contrário, valor da coluna 18 |
acl_rule_name | security_result.rule_name | Valor da coluna23 se o formato do registo for SYSLOG, caso contrário, valor da coluna11 |
acl_rule_uuid | security_result.rule_id | Valor do campo acl_rule_uuid do padrão grok |
ação | security_result.action | Se o valor da coluna 25 for Drop , Reject ou Block , então BLOQUEAR. Caso contrário, se o valor da coluna 25 for Accept , Accept decisively , Established ou Allow , então PERMITIR |
attackID | security_result.detection_fields.attackID | Valor da coluna12 se o formato do registo for CSV sem src_ip |
bigip_hostname | intermediary.hostname | Valor da coluna2 se o formato de registo for SYSLOG, caso contrário, valor da coluna3 |
bigip_ip | intermediary.ip | Valor da coluna2 se o formato de registo for SYSLOG, caso contrário, valor da coluna1 |
context_name | additional.fields.context_name.string_value | Valor da coluna4 se o formato de registo for SYSLOG, caso contrário, valor da coluna10 se existir src_ip, caso contrário, valor da coluna5 |
context_type | additional.fields.context_type.string_value | Valor da coluna3 se o formato de registo for SYSLOG, caso contrário, valor da coluna4 se existir src_ip, caso contrário, valor da coluna4 |
dest_fqdn | additional.fields.dest_fqdn.string_value | Valor da coluna7 se o formato de registo for SYSLOG, caso contrário, valor da coluna13 |
dest_geo | additional.fields.dest_geo.string_value | Valor da coluna 14 |
dest_ip | target.asset.ip, target.ip | Valor da coluna8 se o formato de registo for SYSLOG, caso contrário, valor da coluna6 se existir src_ip, caso contrário, valor da coluna6 |
dest_port | target.port | Valor da coluna10 se o formato de registo for SYSLOG, caso contrário, valor da coluna8 se existir src_ip, caso contrário, valor da coluna8 |
drop_reason | security_result.summary | Valor da coluna 26 se o formato do registo for SYSLOG, caso contrário, valor da coluna 19 |
eventId | additional.fields.eventId.string_value | Valor capturado no padrão grok |
flow_id | additional.fields.flow_id.string_value | Valor da coluna 29 se o formato do registo for SYSLOG, caso contrário, valor da coluna 17 |
loglevel | security_result.severity | Se o valor do campo loglevel do padrão grok for warning ,debug ou notice , então é MÉDIO. Caso contrário, se o valor for info ou informational , então é INFORMATIVO. Caso contrário, se o valor for err ou error , então é ALTO. Caso contrário, se o valor for alert , crit ou emer , então é CRÍTICO |
packetsReceived | network.received_packets | Valor da coluna 15 se o formato do registo for CSV sem src_ip |
processar | target.application | Valor do campo de processo do padrão grok |
protocol_number_src | network.ip_protocol | Valor da coluna12 se o formato de registo for SYSLOG, caso contrário, valor extraído da variável ip_protocol_out |
route_domain | additional.fields.route_domain.string_value | Valor da coluna13 se o formato de registo for SYSLOG, caso contrário, valor da coluna9 |
source_fqdn | additional.fields.source_fqdn.string_value | Valor da coluna5 se o formato de registo for SYSLOG, caso contrário, valor da coluna7 |
src_geo | additional.fields.src_geo.string_value | Valor da coluna8 |
src_ip | principal.asset.ip, principal.ip | Valor de column6 se o formato de registo for SYSLOG, caso contrário, valor de column9 se o formato de registo for CSV sem src_ip, caso contrário, valor de column5 |
src_port | principal.port | Valor da coluna 9 se o formato do registo for SYSLOG, caso contrário, valor da coluna 7 se o formato do registo for CSV sem src_ip, caso contrário, valor da coluna 7 |
ts | metadata.event_timestamp | Valor do campo ts do padrão grok |
vlan | additional.fields.vlan.string_value | Valor da coluna11 se o formato do registo for SYSLOG, caso contrário, valor da coluna21 |
metadata.event_type | Se src_ip e dest_ip existirem, então NETWORK_CONNECTION; caso contrário, se apenas src_ip existir, então STATUS_UPDATE; caso contrário, GENERIC_EVENT | |
metadata.log_type | F5_AFM | |
metadata.product_name | Gestão avançada da firewall | |
metadata.vendor_name | F5 |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.