Recolha registos do F5 AFM

Compatível com:

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

  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

Instale o agente do Bindplane no seu sistema operativo Windows ou Linux de acordo com as seguintes instruções.

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

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

  1. 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).
  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: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
    

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

  1. Inicie sessão na consola de gestão do dispositivo BIG-IP.
  2. Aceda a Sistema > Licença.
  3. Verifique se o Advanced Firewall Manager tem uma licença e está ativado.
  4. Para ativar o Advanced Firewall Manager, aceda a Sistema > Recurso > Aprovisionamento.
  5. Selecione a caixa de verificação na coluna Provisionamento e selecione Nominal na lista.
  6. Clique em Enviar.

Configure o Logging Pool no F5 AFM

  1. Aceda a Tráfego local > Conjuntos.
  2. Clique em Criar.
  3. 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 <<.
  4. No separador Recurso, selecione o Logging Pool que criou anteriormente na lista Nome do nó.
  5. No campo Endereço, introduza o endereço IP do agente do Bindplane.
  6. No campo Porta de serviço, introduza 5145 ou outra porta conforme definido no agente Bindplane.
  7. Clique em Adicionar.
  8. Clique em Concluir.

Configure o destino do registo formatado no F5 AFM

  1. Aceda a Sistema > Registos > Configuração > Destinos dos registos.
  2. Clique em Criar.
  3. 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).
  4. Clique em Concluído.

Configure o publicador de registos no F5 AFM

  1. Aceda a Sistema > Registos > Configuração > Publicadores de registos.
  2. Clique em Criar.
  3. 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.

Configure o perfil de registo no F5 AFM

  1. Aceda a Segurança > Registos de eventos > Perfil de registo.
  2. Clique em Criar.
  3. 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).
  4. Clique em Concluído.

Configure a associação do perfil do servidor virtual no F5 AFM

  1. Aceda a Tráfego local > Servidores virtuais.
  2. Selecione o servidor virtual que quer modificar.
  3. Aceda ao separador Segurança > Políticas.
  4. Na lista Perfil de registo, selecione Ativado.
  5. No campo Perfil, selecione Logging_Profile e clique em <<.
  6. 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.