Coletar registros do F5 AFM

Compatível com:

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

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. 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

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. 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

  1. Abra o Prompt de Comando ou o PowerShell como administrador.
  2. Execute este 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 root ou sudo.
  2. 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

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

  1. Faça login no console de gerenciamento do dispositivo BIG-IP.
  2. Acesse Sistema > Licença.
  3. Verifique se o Advanced Firewall Manager está licenciado e ativado.
  4. Para ativar o Gerenciador avançado de firewall, acesse Sistema > Recurso > Provisionamento.
  5. Marque a caixa de seleção na coluna Provisionamento e selecione Nominal na lista.
  6. Clique em Enviar.

Configurar o pool de geração de registros no F5 AFM

  1. Acesse Tráfego local > Pools.
  2. Clique em Criar.
  3. 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 <<.
  4. Na guia Recurso, selecione o Pool de registros que você criou antes na lista Nome do nó.
  5. No campo Endereço, insira o endereço IP do agente do Bindplane.
  6. No campo Porta do serviço, insira 5145 ou outra porta conforme definido no agente do Bindplane.
  7. Clique em Adicionar.
  8. Clique em Concluir.

Configurar o destino do registro formatado no F5 AFM

  1. Acesse Sistema > Registros > Configuração > Destinos de registro.
  2. Clique em Criar.
  3. 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).
  4. Clique em Concluído.

Configurar o editor de registros no F5 AFM

  1. Acesse Sistema > Registros > Configuração > Editores de registros.
  2. Clique em Criar.
  3. 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.

Configurar o perfil de geração de registros no F5 AFM

  1. Acesse Segurança > Registros de eventos > Perfil de geração de registros.
  2. Clique em Criar.
  3. 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).
  4. Clique em Concluído.

Configurar a associação de perfil de servidor virtual no F5 AFM

  1. Acesse Tráfego local > Servidores virtuais.
  2. Selecione o servidor virtual a ser modificado.
  3. Acesse a guia Segurança > Políticas.
  4. Na lista Perfil de registro, selecione Ativado.
  5. No campo Perfil, selecione Logging_Profile e clique em <<.
  6. 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.