Coletar registros do F5 BIG-IP LTM

Compatível com:

Este documento explica como ingerir registros do F5 BIG-IP LTM no Google Security Operations usando o Bindplane.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Uma instância do Google SecOps
  • Um host Windows 2016 ou mais recente ou Linux com systemd
  • Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente Bindplane.
  • Acesso administrativo ao dispositivo F5 BIG-IP LTM (TMSH ou UI da Web)

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 de 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 seu 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

Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps

  1. Acesse o arquivo de configuração:

    1. 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.
    2. 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:
        # UDP syslog listener (RFC5424 over UDP)
        udplog:
          listen_address: "0.0.0.0:514"
    
      exporters:
        chronicle/chronicle_w_labels:
          compression: gzip
          # Adjust the path to the credentials file you downloaded in Step 1
          creds_file_path: "/opt/observiq-otel-collector/ingestion-auth.json"
          # Replace with your actual customer ID from Step 2
          customer_id: "<YOUR_CUSTOMER_ID>"
          # Select the appropriate regional endpoint based on where your Google SecOps instance is provisioned
          # For regional endpoints, see: [https://cloud.google.com/chronicle/docs/reference/ingestion-api#regional_endpoints](https://cloud.google.com/chronicle/docs/reference/ingestion-api#regional_endpoints)
          endpoint: "<YOUR_REGIONAL_ENDPOINT>"
          # Set the log_type to ensure the correct parser is applied
          log_type: "F5_BIGIP_LTM"
          raw_log_field: body
          # You can optionally add other custom ingestion labels here if needed
          ingestion_labels:
    
      service:
        pipelines:
          logs/f5ltm:
            receivers: [udplog]
            exporters: [chronicle/chronicle_w_labels]
    
    • O listen_address é definido como 0.0.0.0:514 para aceitar syslog de qualquer origem. Ajuste se precisar restringir a interfaces específicas.
    • A porta UDP 514 é a porta syslog padrão. Se a porta 514 exigir privilégios de root, use uma porta acima de 1024 (por exemplo, 5514) e ajuste a configuração do F5 de acordo com isso.
    • Para TCP em vez de UDP, crie um receptor tcplog e defina o protocolo de registro de alta velocidade remoto F5 como tcp.
  3. Salve o arquivo e saia do editor.

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
    

Configurar o encaminhamento syslog do F5 BIG-IP LTM

Opção A: usar o TMSH (interface de linha de comando)

  1. Criar pool para destino syslog

    1. Conecte-se ao dispositivo F5 BIG-IP LTM via SSH.
    2. Execute os comandos a seguir:

      tmsh create ltm pool f5_syslog_pool members add { <BINDPLANE_IP>:514 } monitor gateway_icmp
      
      • Substitua <BINDPLANE_IP> pelo endereço IP do host do agente do Bindplane.
  2. Criar destino de registro

    tmsh create sys log-config destination remote-high-speed-log f5_hsl_dest protocol udp pool-name f5_syslog_pool
    
    tmsh create sys log-config destination remote-syslog f5_remote_syslog_dest format rfc5424 remote-high-speed-log f5_hsl_dest
    
  3. Criar editor de registros

    tmsh create sys log-config publisher f5_log_publisher destinations add { f5_remote_syslog_dest }
    
  4. Criar perfil de geração de registros de solicitações

    tmsh create ltm profile request-log f5_ltm_request_log \
      request-log-pool f5_syslog_pool request-log-protocol mds-udp \
      request-log-template 'event_source="request_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",event_timestamp="$DATE_HTTP"' \
      request-logging enabled \
      response-log-pool f5_syslog_pool response-log-protocol mds-udp \
      response-log-template 'event_source="response_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",http_statcode="$HTTP_STATCODE",event_timestamp="$DATE_HTTP"' \
      response-logging enabled
    
  5. Aplicar perfil de geração de registros ao servidor virtual

    tmsh modify ltm virtual <VIRTUAL_SERVER_NAME> profiles add { f5_ltm_request_log }
    
    • Substitua <VIRTUAL_SERVER_NAME> pelo nome do servidor virtual.
  6. Salvar configuração

    tmsh save sys config
    

Opção B: usar a interface da Web do F5 (utilitário de configuração)

  1. Criar pool para destino syslog

    1. Faça login na interface da Web do F5 BIG-IP LTM.
    2. Acesse Tráfego local > Pools > Lista de pools.
    3. Clique em Criar.
    4. Informe os seguintes detalhes de configuração:
      • Nome: insira f5_syslog_pool.
      • Monitores de integridade: selecione gateway_icmp.
    5. Na seção Recursos, em Novos membros:
      • Endereço: insira o endereço IP do agente do Bindplane.
      • Porta do serviço: insira 514.
    6. Clique em Adicionar.
    7. Clique em Concluído.
  2. Criar destino de registro remoto de alta velocidade

    1. Acesse Sistema > Registros > Configuração > Destinos de registro.
    2. Clique em Criar.
    3. Informe os seguintes detalhes de configuração:
      • Nome: insira f5_hsl_dest.
      • Tipo: selecione Registro remoto de alta velocidade.
      • Protocolo: selecione UDP.
      • Nome do pool: selecione f5_syslog_pool.
    4. Clique em Concluído.
  3. Criar destino de syslog remoto

    1. Acesse Sistema > Registros > Configuração > Destinos de registro.
    2. Clique em Criar.
    3. Informe os seguintes detalhes de configuração:
      • Nome: insira f5_remote_syslog_dest.
      • Tipo: selecione Syslog remoto.
      • Formato Syslog: selecione RFC5424.
      • Registro remoto de alta velocidade: selecione f5_hsl_dest.
    4. Clique em Concluído.
  4. Criar editor de registros

    1. Acesse Sistema > Registros > Configuração > Editores de registros.
    2. Clique em Criar.
    3. Informe os seguintes detalhes de configuração:
      • Nome: insira f5_log_publisher.
      • Destinos: mova f5_remote_syslog_dest de Disponível para Selecionado.
    4. Clique em Concluído.
  5. Criar perfil de geração de registros de solicitações

    1. Acesse Tráfego local > Perfis > Outros > Registro de solicitações.
    2. Clique em Criar.
    3. Informe os seguintes detalhes de configuração:
      • Nome: insira f5_ltm_request_log.
      • Perfil do familiar responsável: selecione request-log.
    4. Em Configurações de solicitação:

      • Registro de solicitações: selecione Ativado.
      • Protocolo de registro de solicitações: selecione mds-udp.
      • Pool de registros de solicitações: selecione f5_syslog_pool.
      • Modelo de registro de solicitação: insira o seguinte:

        event_source="request_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",event_timestamp="$DATE_HTTP"
        
    5. Em Configurações de resposta:

      • Registro de respostas: selecione Ativado.
      • Protocolo de registro de resposta: selecione mds-udp.
      • Pool de registros de resposta: selecione f5_syslog_pool.
      • Modelo de registro de resposta: insira o seguinte:

        event_source="response_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",http_statcode="$HTTP_STATCODE",event_timestamp="$DATE_HTTP"
        
  6. Clique em Concluído.

Aplicar perfil de geração de registros de solicitações ao servidor virtual

  1. Acesse Tráfego local > Servidores virtuais > Lista de servidores virtuais.
  2. Clique no nome do servidor virtual.
  3. Acesse a guia Recursos.
  4. Em iRules e perfis, clique em Gerenciar ao lado de Perfis.
  5. Em Disponível, localize f5_ltm_request_log e mova para Selecionado.
  6. Clique em Concluído.
  7. Clique em Atualizar.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
hostname principal.hostname Nome do host do Syslog (dispositivo que emitiu o registro)
client_ip principal.ip Endereço IP de origem do cliente
client_port principal.port Porta de origem (se incluída no modelo)
server_ip target.ip IP de destino (membro do pool)
server_port target.port Porta de destino (membro do pool)
http_method network.http.method Método de solicitação HTTP
http_uri network.http.url URI da solicitação HTTP (incluindo caminho/consulta, se houver)
http_host network.http.host Cabeçalho HTTP Host
http_statcode network.http.response_code Código de status da resposta HTTP
user_agent network.http.user_agent Cabeçalho do user agent
virtual_name target.application Nome do servidor virtual F5
event_timestamp metadata.event_timestamp Horário do evento no dispositivo
event_source metadata.product_event_type Tag de tipo de evento (request_logging, response_logging)

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.