Coletar registros do APM do F5 BIG-IP
Este documento descreve como coletar registros do F5 BIG-IP Access Policy Manager (APM) usando um encaminhador do Google Security Operations.
Para mais informações, consulte Ingestão de dados no Google Security Operations.
Um rótulo de ingestão identifica o analisador que normaliza dados de registro brutos para o formato UDM estruturado. As informações neste documento se aplicam ao analisador
com o rótulo de ingestão F5_BIGIP_APM
.
Configurar o F5 BIG-IP APM
- Faça login no portal do utilitário de configuração do BIG-IP usando credenciais de administrador.
- Selecione Principal > Sistema > Registros > Configuração > Registro remoto.
Na seção Propriedades, faça o seguinte:
- No campo IP remoto, insira o endereço IP do encaminhador do Google Security Operations.
- No campo Porta remota, insira um número de porta alto.
Clique em Adicionar.
Clique em Atualizar.
Para registros do APM, apenas o formato syslog da Berkeley Software Distribution (BSD) é compatível.
Com base nas assinaturas no APM, o coletor processa apenas registros do APM. O coletor de eventos APM do F5 BIG-IP também é compatível com registros de várias linhas de execução de dispositivos LTM 11.6 a 12.1.1.
Se você estiver usando iRule, use o formato recomendado. O Google Security Operations só é compatível com o seguinte formato de iRule:
# log_header_requests ################################################################################### ################################################# # Purpose: logs header information to Local Traffic log # # # # Update-Log Date By Description # Created 02/07/2020 E01961 Initial implementation # # ################################################################################### ################################################ when HTTP_REQUEST { set LogString "Client [IP::client_addr]:[TCP::client_port] -> [HTTP::host] [HTTP::uri]" log local5. "=================" log local5. "$LogString (request)" foreach aHeader [HTTP::header names] { log local5. "$aHeader: [HTTP::header value $aHeader]" } # set UserID [URI::query "?[HTTP::payload]" "UserID"] # log local0. "User $UserID attempted login from [IP::client_addr] and referer: [HTTP::header "Referer"]" # log local0. "=============================================" } when HTTP_RESPONSE { log local5. "==================" log local5. "$LogString (response) - status: [HTTP::status]" foreach aHeader [HTTP::header names] { log local5. "$aHeader: [HTTP::header value $aHeader]" } # log local0. "============================================="
Configurar o DNS do F5 BIG-IP
Para configurar o DNS do F5 BIG-IP, faça o seguinte:
- Crie um pool de servidores de geração de registros remotos.
- Crie um destino de registro remoto de alta velocidade.
- Crie um destino de registro de alta velocidade remoto formatado.
- Crie um editor.
- Crie um perfil de geração de registros do DNS personalizado.
- Adicione um perfil de registro de DNS ao listener.
Criar um pool de servidores de geração de registros remotos
- Na guia Principal, selecione DNS > Entrega > Balanceamento de carga > Pools ou tráfego local > Pools.
- Na janela Lista de pools que aparece, clique em Criar.
- Na janela Novo pool, no campo Nome, insira um nome exclusivo para o pool.
- Na seção Novos membros, adicione o endereço IP de cada servidor de
registro remoto que você quer incluir no pool:
- No campo Endereço, insira o endereço IP do encaminhador do Google Security Operations ou selecione um endereço de nó na lista.
- No campo Porta de serviço, digite um número de serviço ou selecione um nome de serviço na lista. Verifique se você configurou a porta correta de geração de registros remota.
- Clique em Adicionar e em Concluído.
Criar um destino de registro remoto de alta velocidade
- Na guia Principal, selecione Sistema > Registros > Configuração > Destinos de registro.
- Na janela Destinos de registros, clique em Criar.
- No campo Nome, insira um nome exclusivo e identificável para esse destino.
- Na lista Tipo, selecione Registro remoto de alta velocidade.
- Na lista Nome do pool, selecione o pool de servidores de registro remotos para onde você quer que o sistema BIG-IP envie mensagens de registro.
- Na lista Protocolo, selecione o protocolo usado pelos membros do pool de registro em alta velocidade.
- Clique em Concluído.
Criar um destino de registro remoto de alta velocidade formatado
- Na guia Principal, selecione Sistema > Registros > Configuração > Destinos de registro.
- Na janela Destinos de registros, clique em Criar.
- No campo Nome, insira um nome exclusivo e identificável para esse destino.
- Na lista Tipo, selecione um destino de geração de registros formatado como Syslog remoto. O sistema BIG-IP agora está configurado para enviar uma string de texto formatada aos servidores de registro.
- Na lista Tipo, selecione um formato para os registros.
- Na guia Encaminhar para, selecione a lista Destino de registro de alta velocidade e escolha o destino que aponta para um pool de servidores syslog remotos para onde você quer que o sistema BIG-IP envie mensagens de registro.
- Clique em Concluído.
Criar um editor
- Na guia Principal, selecione Sistema > Registros > Configuração > Editores de registros.
- Na janela Editores de registros, clique em Criar.
- No campo Nome, insira um nome exclusivo e identificável para o publisher.
- Na lista Editor de registros, selecione o destino criado anteriormente.
- Para mover o destino para a lista selecionada, clique em << Mover.
- Se você estiver usando um destino formatado, selecione o destino recém-criado que corresponda aos seus servidores de registro, como Syslog remoto, Splunk ou ArcSight.
- Clique em Concluído.
Criar um perfil personalizado de geração de registros de DNS
- Na guia Principal, selecione DNS > Entrega > Perfis > Outros Registro em log de DNS ou Tráfego local > Perfis > Outros > Registro em log de DNS.
- Na janela Lista de perfis de geração de registros DNS, clique em Criar.
- No campo Nome, insira um nome exclusivo para o perfil.
- Na lista Editor de registros, selecione um destino para onde o sistema BIG-IP envia entradas de registro DNS.
- Se você quiser que o sistema BIG-IP:
- Para registrar todas as consultas DNS, na configuração Registrar consultas, verifique se a caixa de seleção ativada está marcada.
- Para registrar todas as respostas de DNS, na configuração Registrar respostas, marque a caixa de seleção ativada.
- Para incluir o ID da consulta enviado pelo cliente nas mensagens de registro, na configuração Incluir ID da consulta, marque a caixa de seleção ativada.
- Clique em Concluído.
Adicionar um perfil de geração de registros de DNS ao listener
- Na guia Principal, selecione DNS > Entrega > Listeners > Listener de DNS.
- Na seção Serviço, na lista Perfil de DNS, selecione o perfil de DNS que você configurou anteriormente.
- Clique em Atualizar.
Configurar o encaminhador do Google Security Operations para ingerir registros do APM do F5 BIG-IP
- Acesse Configurações do SIEM > Encaminhadores.
- Clique em Adicionar novo encaminhador.
- No campo Nome do encaminhador, insira um nome exclusivo para ele.
- Clique em Enviar. O encaminhador é adicionado, e a janela Adicionar configuração do coletor aparece.
- No campo Nome do coletor, digite um nome.
- Selecione F5 BIGIP Access Policy Manager como o Tipo de registro.
- Selecione Syslog como o Tipo de coletor.
- Configure os seguintes parâmetros de entrada obrigatórios:
- Protocolo: especifique o protocolo.
- Endereço: especifique o endereço IP ou o nome do host de destino em que o coletor está localizado e os endereços para os dados do syslog.
- Porta: especifique a porta de destino em que o coletor reside e detecta dados do syslog.
- Clique em Enviar.
Para mais informações sobre os encaminhadores do Google Security Operations, consulte Gerenciar configurações de encaminhador na interface do Google Security Operations.
Se você tiver problemas ao criar encaminhadores, entre em contato com o suporte do Google Security Operations.
Referência de mapeamento de campos
Esse analisador do F5 BIG-IP APM extrai campos de mensagens syslog, categorizando-os com base na origem do aplicativo (tmsh, tmm, apmd, httpd ou outro). Em seguida, ele mapeia esses campos extraídos para a UDM, processando vários formatos de registro e enriquecendo os dados com metadados, como gravidade, local e informações do usuário.
Tabela de mapeamento do UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
aplicativo | principal.application | O valor é extraído do campo application pelo filtro grok. |
bytes_in | network.received_bytes | O valor é extraído do campo bytes_in pelo filtro grok e convertido em um número inteiro sem sinal. |
bytes_out | network.sent_bytes | O valor é extraído do campo bytes_out pelo filtro grok e convertido em um número inteiro sem sinal. |
cmd_data | principal.process.command_line | O valor é extraído do campo cmd_data pelo filtro kv. |
destination_ip | target.ip | O valor é extraído do campo destination_ip pelo filtro grok. |
destination_port | target.port | O valor é extraído do campo destination_port pelo filtro grok e convertido em número inteiro. |
pasta | principal.process.file.full_path | O valor é extraído do campo folder pelo filtro kv. |
geoCountry | principal.location.country_or_region | O valor é extraído do campo geoCountry pelo filtro grok. |
geoState | principal.location.state | O valor é extraído do campo geoState pelo filtro grok. |
inner_msg | security_result.description | O valor é extraído do campo inner_msg pelo filtro grok quando nenhuma outra descrição específica está disponível. |
ip_protocol | network.ip_protocol | O valor é extraído do campo ip_protocol pelo filtro grok. |
principal_hostname | principal.hostname | O valor é extraído do campo principal_hostname pelo filtro grok. |
principal_ip | principal.ip | O valor é extraído do campo principal_ip pelo filtro grok. |
process_id | principal.process.pid | O valor é extraído do campo process_id pelo filtro grok. |
papel | user_role.name | O valor é extraído do campo role pelo filtro grok. Se o campo role contiver "admin" (sem diferenciar maiúsculas e minúsculas), o valor será definido como "ADMINISTRATOR". |
gravidade, | security_result.severity_details | O valor original da mensagem do syslog é armazenado aqui. O valor é derivado do campo severity usando a lógica condicional: CRITICAL -> CRITICAL ERR -> ERROR ALERT, EMERGENCY -> HIGH INFO, NOTICE -> INFORMATIONAL DEBUG -> LOW WARN -> MEDIUM |
source_ip | principal.ip | O valor é extraído do campo source_ip pelo filtro grok. |
source_port | principal.port | O valor é extraído do campo source_port pelo filtro grok e convertido em número inteiro. |
status | security_result.summary | O valor é extraído do campo status pelo filtro kv. |
timestamp | metadata.event_timestamp, timestamp | O valor é extraído do campo timestamp pelo filtro grok e analisado em um objeto de carimbo de data/hora. O campo timestamp no objeto event de nível superior também recebe esse valor. |
usuário | principal.user.userid | O valor é extraído do campo user pelo filtro grok, depois da remoção dos prefixos "id\" ou "ID\". O valor é derivado com base na presença de outros campos: Se user existir: USER_UNCATEGORIZED Se source_ip e destination_ip existirem: NETWORK_CONNECTION Se principal_ip ou principal_hostname existirem: STATUS_UPDATE Caso contrário: GENERIC_EVENT Codificado como "BIGIP_APM". Codificado como "F5". Se o campo result for "failed", o valor será definido como "BLOCK". |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.