Coletar registros de APM do F5 BIG-IP
Este documento descreve como coletar registros do F5 BIG-IP Access Policy Manager (APM) usando um forwarder de operações de segurança do Google.
Para mais informações, consulte Ingestão de dados para as operações de segurança do Google.
Um rótulo de transferência identifica o analisador que normaliza os dados de registro brutos para o formato estruturado do UDM. As informações neste documento se aplicam ao analisador
com o rótulo de transferência F5_BIGIP_APM
.
Configurar o APM do F5 BIG-IP
- 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 de operações de segurança do Google.
- No campo Porta remota, insira um número de porta alto.
Clique em Adicionar.
Clique em Atualizar.
Para registros do APM, somente o formato syslog da Berkeley Software Distribution (BSD) é aceito.
Com base nas assinaturas no APM, o coletor processa apenas os registros do APM. O coletor de eventos do APM do F5 BIG-IP também oferece suporte a logs de várias linhas de execução do dispositivo LTM 11.6 para 12.1.1.
Se você estiver usando a iRule, use o formato recomendado dela. O Google Security Operations oferece suporte apenas ao 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 remoto de alta velocidade formatado.
- Crie um editor.
- Crie um perfil de geração de registros de DNS personalizado.
- Adicione um perfil de registro de DNS ao listener.
Criar um pool de servidores de geração de registros remotos
- Na guia Main, selecione DNS > Delivery > Balanceamento de carga > Pools ou tráfego local > Pools.
- Na janela Lista de pools que aparece, clique em Criar.
- Na janela New pool que aparece, no campo Name, forneça 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, digite o endereço IP do encaminhador de operações de segurança do Google ou selecione um endereço de nó na lista de nós.
- No campo Porta do serviço, digite um número de serviço ou selecione um nome de serviço na lista. Verifique se você configurou a porta de registro remoto correta.
- Clique em Adicionar e em Concluído.
Criar um destino de registro remoto de alta velocidade
- Na guia Main, selecione System > Logs > Configuration > Log destinations.
- Na janela Destinos de registro que aparece, clique em Criar.
- No campo Nome, forneça 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 remoto para o qual você quer que o sistema BIG-IP envie mensagens de registro.
- Na lista Protocolo, selecione o protocolo usado pelos membros do pool de registro de alta velocidade.
- Clique em Concluído.
Criar um destino de registro remoto de alta velocidade formatado
- Na guia Main, selecione System > Logs > Configuration > Log Destinations.
- Na janela Destinos de registro que aparece, clique em Criar.
- No campo Nome, forneça um nome exclusivo e identificável para esse destino.
- Na lista Type, selecione um destino de registro formatado como Syslog remoto. O sistema BIG-IP agora está configurado para enviar uma string de texto formatado aos servidores de registro.
- Na lista Tipo, selecione um formato para os registros.
- Na guia Forward To, selecione a lista Destino de registro de alta velocidade e, em seguida, selecione o destino que aponta para um pool de servidores syslog remotos para que o sistema BIG-IP envie mensagens de registro.
- Clique em Concluído.
Criar um editor
- Na guia Main, selecione System > Logs > Configuration > Log publishers.
- Na janela Log publishers que aparece, clique em Criar.
- No campo Nome, insira um nome exclusivo e identificável para o editor.
- Na lista Editor de registro, 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 corresponde aos seus servidores de registro, como Syslog remoto, Splunk ou ArcSight.
- Clique em Concluído.
Criar um perfil de geração de registros de DNS personalizado
- Na guia Principal, selecione DNS > Entrega > Perfis > Outros Registro de DNS ou Tráfego local > Perfis > Outros > Registro de DNS.
- Na janela Lista de perfis de registro de DNS que aparece, clique em Criar.
- No campo Nome, forneça um nome exclusivo para o perfil.
- Na lista Editor de registro, selecione um destino para o qual o sistema BIG-IP envia entradas de registro DNS.
- Se você quiser o sistema BIG-IP:
- Para registrar todas as consultas DNS, na configuração Registrar consultas, verifique se a caixa de seleção ativada está selecionada.
- Para registrar todas as respostas do 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 Main, selecione DNS > Delivery > Listeners > DNS listener.
- Na seção Serviço, na lista Perfil DNS, selecione o perfil DNS que você configurou anteriormente.
- Clique em Atualizar.
Configurar o forwarder das Operações de segurança do Google para processar registros de 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.
- Clique em Enviar. O encaminhador é adicionado, e a janela Add collector configuration é exibida.
- 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 reside 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 encaminhadores na interface do Google Security Operations.
Se você tiver problemas ao criar encaminhadores, entre em contato com o suporte de operações de segurança do Google.
Referência do mapeamento de campo
Esse analisador de APM do F5 BIG-IP extrai campos de mensagens do syslog e os categoriza 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 é retirado do campo bytes_in extraído pelo filtro grok e convertido em um número inteiro sem sinal. |
bytes_out | network.sent_bytes | O valor é retirado do campo bytes_out extraído pelo filtro grok e convertido em um número inteiro sem sinal. |
cmd_data | principal.process.command_line | O valor é retirado do campo cmd_data extraído pelo filtro kv. |
destination_ip | target.ip | O valor é extraído do campo destination_ip pelo filtro grok. |
destination_port | target.port | O valor é retirado do campo destination_port extraído pelo filtro grok e convertido em número inteiro. |
pasta | principal.process.file.full_path | O valor é retirado do campo folder extraído 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 é retirado do campo inner_msg extraído 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 distinção entre maiúsculas e minúsculas), o valor será definido como "ADMINISTRATOR". |
gravidade, | security_result.severity_details | O valor original da mensagem 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 é retirado do campo source_port extraído pelo filtro grok e convertido em número inteiro. |
status | security_result.summary | O valor é retirado do campo status extraído pelo filtro kv. |
timestamp | metadata.event_timestamp, timestamp | O valor é retirado do campo timestamp extraído 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 é retirado do campo user extraído pelo filtro grok, depois de remover os 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 Fixado em "BIGIP_APM". Fixado em "F5". Se o campo result for "falha", o valor será definido como "BLOQUEIO". |
Alterações
2023-06-06
- Parser recém-criado.