Coletar registros do F5 AFM
Este documento explica como ingerir registros do F5 Advanced Firewall Management no Google Security Operations usando o Bindplane. O analisador transforma os registros dos formatos SYSLOG e CSV ou CSV em um modelo de dados unificado (UDM). Primeiro, ele tenta analisar a mensagem de registro usando padrões grok específicos do formato SYSLOG. Se não for possível, ele processa como um arquivo CSV, extraindo e mapeando campos para a estrutura da UDM.
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
- Instância do Google SecOps
- Windows 2016 ou mais recente ou um host Linux com
systemd
- Se estiver executando por trás de um proxy, as portas do firewall estarão abertas.
- Acesso privilegiado ao F5 BIG-IP e ao F5 Advanced Firewall Management
Receber o arquivo de autenticação de ingestão do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- Baixe o arquivo de autenticação de ingestão. Salve o arquivo de forma segura no sistema em que o Bindplane será instalado.
Receber o ID do cliente do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Perfil.
- Copie e salve o ID do cliente na seção Detalhes da organização.
Instalar o agente do Bindplane
Instale o agente do Bindplane no sistema operacional Windows ou Linux de acordo com as instruções a seguir.
Instalação do Windows
- Abra o Prompt de Comando ou o PowerShell como administrador.
Execute este 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 root ou sudo.
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
Para mais opções de instalação, consulte o guia de instalação.
Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps
- 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).
- Localize o arquivo
Edite o arquivo
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 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 agente do Bindplane no Windows, use o console Serviços ou insira o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Ativar o F5 BIG-IP Advanced Firewall Manager
- Faça login no console de gerenciamento do dispositivo BIG-IP.
- Acesse Sistema > Licença.
- Verifique se o Advanced Firewall Manager está licenciado e ativado.
- Para ativar o Gerenciador avançado de firewall, acesse Sistema > Recurso > Provisionamento.
- Marque a caixa de seleção na coluna Provisionamento e selecione Nominal na lista.
- Clique em Enviar.
Configurar o pool de geração de registros no F5 AFM
- Acesse Tráfego local > Pools.
- Clique em Criar.
- Informe os seguintes detalhes de configuração:
- Nome: insira um nome para o pool de registros (por exemplo, logging_pool).
- Monitor de integridade: na lista Disponível, selecione TCP e clique em <<.
- Na guia Recurso, selecione o Pool de registros que você criou antes na lista Nome do nó.
- No campo Endereço, insira o endereço IP do agente do Bindplane.
- No campo Porta do serviço, insira
5145
ou outra porta conforme definido no agente do Bindplane. - Clique em Adicionar.
- Clique em Concluir.
Configurar o destino do registro formatado no F5 AFM
- Acesse Sistema > Registros > Configuração > Destinos de registro.
- Clique em Criar.
- Informe os seguintes detalhes de configuração:
- Nome: insira um nome para o destino do formato de geração de registros (por exemplo,
Logging_Format_Destination
). - Descrição: digite uma descrição.
- Tipo: selecione Syslog remoto.
- Formato do Syslog: selecione Syslog.
- Destino de registro de alta velocidade: selecione o destino de registro de alta velocidade (por exemplo,
Logging_HSL_Destination
).
- Nome: insira um nome para o destino do formato de geração de registros (por exemplo,
- Clique em Concluído.
Configurar o editor de registros no F5 AFM
- Acesse Sistema > Registros > Configuração > Editores de registros.
- Clique em Criar.
- Informe os seguintes detalhes de configuração:
- Nome: insira um nome para o publisher (por exemplo,
Log_Publisher
). - Descrição: digite uma descrição.
- Destinos: selecione o nome do destino de registro que você criou na etapa Configurar o pool de registros no F5 AFM e clique em << para adicionar itens à lista Selecionados.
- Nome: insira um nome para o publisher (por exemplo,
Configurar o perfil de geração de registros no F5 AFM
- Acesse Segurança > Registros de eventos > Perfil de geração de registros.
- Clique em Criar.
- Informe os seguintes detalhes de configuração:
- Nome: insira um nome para o perfil de registro (por exemplo, Logging_Profile).
- Firewall de rede: marque a caixa de seleção Ativado.
- Editor: selecione o editor de registros que você configurou antes (por exemplo,
Log_Publisher
). - Correspondências de regra de registro: marque as caixas de seleção Aceitar, Descartar e Rejeitar.
- Registrar erros de IP: marque a caixa de seleção Ativado.
- Registrar erros de TCP: marque a caixa de seleção Ativado.
- Registrar eventos TCP: marque a caixa de seleção Ativado.
- Formato de armazenamento: selecione Lista de campos.
- Delimitador: insira
,
(vírgula) como o delimitador de eventos. - Opções de armazenamento: selecione todas as opções na lista Itens disponíveis e clique em <<.
- Na guia Inteligência de IP, selecione o editor de registros que você configurou (por exemplo,
Log_Publisher
).
- Clique em Concluído.
Configurar a associação de perfil de servidor virtual no F5 AFM
- Acesse Tráfego local > Servidores virtuais.
- Selecione o servidor virtual a ser modificado.
- Acesse a guia Segurança > Políticas.
- Na lista Perfil de registro, selecione Ativado.
- No campo Perfil, selecione Logging_Profile e clique em <<.
- Clique em Atualizar.
Tabela de mapeamento da UDM
Campo de registro | Mapeamento da UDM | Lógica |
---|---|---|
acl_policy_name | security_result.detection_fields.acl_policy_name | Valor de column22 se o formato de registro for SYSLOG. Caso contrário, valor de column13. |
acl_policy_type | security_result.detection_fields.acl_policy_type | Valor de column21 se o formato de registro for SYSLOG, caso contrário, valor de column18 |
acl_rule_name | security_result.rule_name | Valor de column23 se o formato de registro for SYSLOG. Caso contrário, valor de column11. |
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 de column25 for Drop , Reject ou Block , então BLOCK. Caso contrário, se o valor de column25 for Accept , Accept decisively , Established ou Allow , então ALLOW. |
attackID | security_result.detection_fields.attackID | Valor de "column12" se o formato do registro for CSV sem src_ip |
bigip_hostname | intermediary.hostname | Valor de column2 se o formato de registro for SYSLOG, caso contrário, valor de column3 |
bigip_ip | intermediary.ip | Valor de column2 se o formato de registro for SYSLOG. Caso contrário, valor de column1. |
context_name | additional.fields.context_name.string_value | Valor de column4 se o formato de registro for SYSLOG. Caso contrário, valor de column10 se houver src_ip. Caso contrário, valor de column5. |
context_type | additional.fields.context_type.string_value | Valor de column3 se o formato de registro for SYSLOG. Caso contrário, valor de column4 se houver src_ip. Caso contrário, valor de column4. |
dest_fqdn | additional.fields.dest_fqdn.string_value | Valor de column7 se o formato de registro for SYSLOG. Caso contrário, valor de column13. |
dest_geo | additional.fields.dest_geo.string_value | Valor da coluna14 |
dest_ip | target.asset.ip, target.ip | Valor de column8 se o formato de registro for SYSLOG. Caso contrário, valor de column6 se houver src_ip. Caso contrário, valor de column6. |
dest_port | target.port | Valor de column10 se o formato de registro for SYSLOG. Caso contrário, valor de column8 se houver src_ip. Caso contrário, valor de column8. |
drop_reason | security_result.summary | Valor de column26 se o formato de registro for SYSLOG, caso contrário, valor de column19 |
eventId | additional.fields.eventId.string_value | Valor capturado no padrão grok |
flow_id | additional.fields.flow_id.string_value | Valor de column29 se o formato de registro for SYSLOG. Caso contrário, valor de column17. |
loglevel | security_result.severity | Se o valor do campo "loglevel" do padrão grok for warning , debug ou notice , será "MEDIUM". Se o valor for info ou informational , será "INFORMATIONAL". Se o valor for err ou error , será "HIGH". Se o valor for alert , crit ou emer , será "CRITICAL". |
packetsReceived | network.received_packets | Valor de column15 se o formato de registro for CSV sem src_ip |
difusão reversa que restaura | target.application | Valor do campo de processo do padrão grok |
protocol_number_src | network.ip_protocol | Valor de column12 se o formato de registro for SYSLOG. Caso contrário, o valor extraído da variável ip_protocol_out |
route_domain | additional.fields.route_domain.string_value | Valor de column13 se o formato de registro for SYSLOG. Caso contrário, valor de column9. |
source_fqdn | additional.fields.source_fqdn.string_value | Valor de column5 se o formato de registro for SYSLOG. Caso contrário, valor de column7. |
src_geo | additional.fields.src_geo.string_value | Valor de column8 |
src_ip | principal.asset.ip, principal.ip | Valor de column6 se o formato de registro for SYSLOG. Caso contrário, valor de column9 se o formato de registro for CSV sem src_ip. Caso contrário, valor de column5. |
src_port | principal.port | Valor de column9 se o formato de registro for SYSLOG. Caso contrário, valor de column7 se o formato de registro for CSV sem src_ip. Caso contrário, valor de column7. |
ts | metadata.event_timestamp | Valor do campo "ts" do padrão grok |
vlan | additional.fields.vlan.string_value | Valor de column11 se o formato de registro for SYSLOG. Caso contrário, valor de column21. |
metadata.event_type | Se src_ip e dest_ip existirem, NETWORK_CONNECTION. Se apenas src_ip existir, STATUS_UPDATE. Caso contrário, GENERIC_EVENT. | |
metadata.log_type | F5_AFM | |
metadata.product_name | Gerenciamento avançado de firewall | |
metadata.vendor_name | F5 |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.