Recolha registos do F5 BIG-IP LTM

Compatível com:

Este documento descreve como pode recolher registos do F5 BIG-IP Local Traffic Manager (LTM) através de um encaminhador do Google Security Operations.

Para mais informações, consulte o artigo Ingestão de dados no Google Security Operations.

Uma etiqueta de carregamento identifica o analisador que normaliza os dados de registo não processados para o formato UDM estruturado. As informações neste documento aplicam-se ao analisador com a etiqueta de carregamento F5_BIGIP_LTM.

Configure o F5 BIG-IP LTM

  1. Inicie sessão no SSH com as credenciais de raiz.
  2. Inicie sessão no Traffic Management Shell (tmsh) com o seguinte comando:

    tmsh

  3. Envie mensagens de registo filtradas para servidores syslog remotos com o seguinte comando:

    modify /sys syslog remote-servers none

  4. Remova a declaração remote-servers e, em seguida, adicione uma declaração syslog include que defina uma regra de filtro e o servidor remoto.

  5. Para definir o filtro syslog necessário que faz referência ao servidor remoto, use o seguinte comando:

    edit /sys syslog all-properties

  6. Substitua o comando include none pelo seguinte filtro e adicione o endereço IP e o número da porta.

    include "
    
    filter f_remote_loghost {
    
    level(debug..emerg);
    
    };
    
    filter f_ssl_acc {
    
    not match(\"ssl_acc\");
    
    };
    
    filter f_ssl_req {
    
    not match(\"ssl_req\");
    
    };
    
    destination d_remote_loghost {
    
    udp(IP_ADDRESS PORT);
    
    };
    
    log {
    
    source(s_syslog_pipe);
    
    filter(f_remote_loghost);
    
    filter(f_ssl_acc);
    
    filter(f_ssl_req);
    
    destination(d_remote_loghost);
    
    };
    
    "
    

    Substitua IP_ADDRESS pelo endereço IP do encaminhador do Google Security Operations e port pelo número da porta elevada.

  7. Para sair do editor de texto, prima Esc e, de seguida, introduza wq!.

  8. Guarde a configuração com o seguinte comando:

    save /sys config

Configure o encaminhador e o syslog do Google Security Operations para carregar registos do F5 BIG-IP LTM

  1. Aceda a Definições do SIEM > Encaminhadores.
  2. Clique em Adicionar novo encaminhador.
  3. No campo Nome do encaminhador, introduza um nome exclusivo para o encaminhador.
  4. Clique em Enviar. O encaminhador é adicionado e é apresentada a janela Adicionar configuração do coletor.
  5. No campo Nome do coletor, introduza um nome.
  6. Selecione F5 BIGIP LTM como o Tipo de registo.
  7. Selecione Syslog como o tipo de coletor.
  8. Configure os seguintes parâmetros de entrada obrigatórios:
    • Protocolo: especifique o protocolo.
    • Endereço: especifique o endereço IP do encaminhador do Google Security Operations.
    • Porta: especifique a porta.
  9. Clique em Enviar.

Para mais informações sobre os encaminhadores do Google Security Operations, consulte a documentação dos encaminhadores do Google Security Operations. Para obter informações sobre os requisitos de cada tipo de encaminhador, consulte o artigo Configuração do encaminhador por tipo.

Se tiver problemas ao criar encaminhadores, contacte o apoio técnico das Operações de segurança da Google.

Referência de mapeamento de campos

Este analisador normaliza os registos do F5 BIG-IP Local Traffic Manager (LTM), processando os formatos de chave-valor e syslog. Extrai campos como endereços IP, nomes de utilizador, ações e descrições, mapeando-os para o UDM, e categoriza eventos com base no conteúdo dos registos e nos campos extraídos, incluindo ligações de rede, inícios/fins de sessão de utilizadores e eventos genéricos.

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
Access_Profile event.idm.read_only_udm.additional.fields[].key:"Access_Profile", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente a partir da chave Access_Profile nos pares de chave-valor analisados.
Client_IP event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Mapeado diretamente a partir da chave Client_IP nos pares de chave-valor analisados. Também é usado para preencher o IP do recurso principal. Define has_principal como verdadeiro.
Country event.idm.read_only_udm.principal.location.country_or_region Mapeado diretamente a partir da chave Country nos pares de chave-valor analisados.
Listener event.idm.read_only_udm.additional.fields[].key:"Listener", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente a partir da chave Listener nos pares de chave-valor analisados.
Session_ID event.idm.read_only_udm.network.session_id Mapeado diretamente a partir da chave Session_ID nos pares de chave-valor analisados.
State event.idm.read_only_udm.principal.location.state Mapeado diretamente a partir da chave State nos pares de chave-valor analisados.
Virtual_IP event.idm.read_only_udm.target.ip[], event.idm.read_only_udm.target.asset.ip[] Mapeado diretamente a partir da chave Virtual_IP nos pares de chave-valor analisados. Também é usado para preencher o IP do recurso de destino. Define has_target como verdadeiro.
about event.idm.read_only_udm.about Preenchido a partir de vários campos, como snat, vs_name, path, query, node, pool_member, vs, client, blade e device, se estiverem presentes no registo não processado e forem analisados com êxito.
action_data event.idm.read_only_udm.target.process.command_line Mapeado diretamente para os registos de processos scriptd.
attack_type event.idm.read_only_udm.security_result.category_details[] Mapeado diretamente.
blade event.idm.read_only_udm.about.resource.attribute.labels[].key:"blade", event.idm.read_only_udm.about.resource.attribute.labels[].value Mapeado diretamente a partir da chave blade nos pares de chave-valor analisados.
bytes_in event.idm.read_only_udm.network.received_bytes Mapeado diretamente, convertido em número inteiro não assinado.
bytes_out event.idm.read_only_udm.network.sent_bytes Mapeado diretamente, convertido em número inteiro não assinado.
captcha_result event.idm.read_only_udm.additional.fields[].key:"captcha_result", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente.
client event.idm.read_only_udm.about.resource.attribute.labels[].key:"client", event.idm.read_only_udm.about.resource.attribute.labels[].value Mapeado diretamente a partir da chave client nos pares de chave-valor analisados.
client_ip event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Mapeado diretamente. Também é usado para preencher o IP do recurso principal. Define has_principal como verdadeiro.
client_port event.idm.read_only_udm.principal.port Mapeado diretamente, convertido em número inteiro.
collection_time event.timestamp A data/hora da entrada no registo é usada como a data/hora do evento.
command_line event.idm.read_only_udm.target.process.command_line Mapeados diretamente para os registos de processos CROND e alguns registos logger.
data message A mensagem de registo não processada. Este valor é analisado e usado para preencher vários campos da UDM.
dgl_count event.idm.read_only_udm.principal.resource.attribute.labels[].key:"DataGroup_Value", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mapeado diretamente.
dgl_value event.idm.read_only_udm.principal.resource.attribute.labels[].key:"DataGroup_List", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mapeado diretamente.
description event.idm.read_only_udm.metadata.description, event.idm.read_only_udm.security_result.description Mapeado diretamente para alguns tipos de registos ou usado como parte da descrição do resultado de segurança.
device event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname, event.idm.read_only_udm.about.resource.attribute.labels[].key:"device", event.idm.read_only_udm.about.resource.attribute.labels[].value Mapeado diretamente. Também é usado para preencher o nome do anfitrião do recurso principal. Define has_principal como verdadeiro.
dest_ip event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip Mapeado diretamente. Também é usado para preencher o IP do recurso de destino. Define has_principal como verdadeiro.
dest_port event.idm.read_only_udm.target.port Mapeado diretamente.
dvc event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname, event.idm.read_only_udm.intermediary.hostname Analisado para extrair o nome do anfitrião ou o IP. Usado para preencher o nome de anfitrião principal ou o nome de anfitrião intermediário.
errdefs_msgno event.idm.read_only_udm.additional.fields[].key:"errdefs_msgno", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente a partir da chave errdefs_msgno nos pares de chave-valor analisados.
error_reason event.idm.read_only_udm.principal.resource.attribute.labels[].key:"error_reason", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mapeado diretamente.
false_positive event.idm.read_only_udm.additional.fields[].key:"false_positive", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente.
function_id event.idm.read_only_udm.principal.resource.attribute.labels[].key:"function_id", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mapeado diretamente.
geoContinent event.idm.read_only_udm.principal.location.continent Não mapeado no exemplo fornecido, mas seria mapeado para o continente, se disponível.
geoCountry event.idm.read_only_udm.principal.location.country_or_region Mapeado diretamente.
geoState event.idm.read_only_udm.principal.location.state Mapeado diretamente.
header.Referer event.idm.read_only_udm.network.http.referral_url Mapeado diretamente.
header.User-Agent event.idm.read_only_udm.network.http.user_agent, event.idm.read_only_udm.network.http.parsed_user_agent Mapeado diretamente. Também convertido em agente do utilizador analisado.
header.X-Forwarded-For event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Analisado para extrair IPs e fundi-los no IP principal e no IP do recurso principal.
host event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname Mapeado diretamente. Também é usado para preencher o nome do anfitrião do recurso de destino. Define has_target como verdadeiro.
http_host event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname Mapeado diretamente. Também é usado para preencher o nome do anfitrião do recurso de destino. Define has_target como verdadeiro.
http_method event.idm.read_only_udm.network.http.method Mapeado diretamente. Define event_type como NETWORK_HTTP, se estiver presente.
ip_client event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Mapeado diretamente. Também é usado para preencher o IP do recurso principal. Define has_principal como verdadeiro.
kv_msg Vários campos Analisados como pares de chave-valor e usados para preencher vários campos UDM.
Level event.idm.read_only_udm.security_result.severity Mapeado para a gravidade se o campo severity não estiver presente. Convertido em valores de gravidade da UDM (por exemplo, "Info" -> "INFORMATIONAL").
Listener event.idm.read_only_udm.additional.fields[].key:"Listener", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente.
log_message event.idm.read_only_udm.principal.resource.attribute.labels[].value, event.idm.read_only_udm.security_result.description Analisado mais detalhadamente para extrair request_uri ou description.
log_type event.idm.read_only_udm.metadata.log_type Mapeado diretamente a partir do campo log_type do registo não processado.
loglevel event.idm.read_only_udm.security_result.severity Mapeado para a gravidade. Convertido em valores de gravidade da UDM (por exemplo, "warning" -> "MEDIUM", "err" -> "HIGH"). Também usado para a lógica de alertas/eventos significativos.
manage_ip_addr event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Mapeado diretamente. Também é usado para preencher o IP do recurso principal. Define has_principal como verdadeiro.
method event.idm.read_only_udm.network.http.method Mapeado diretamente. Define event_type como NETWORK_HTTP.
method_req event.idm.read_only_udm.network.http.method Mapeado diretamente.
msg1 event.idm.read_only_udm.security_result.description Usado como a descrição do resultado de segurança se não for analisado mais detalhadamente.
node event.idm.read_only_udm.about.resource.attribute.labels[].key:"node", event.idm.read_only_udm.about.resource.attribute.labels[].value Mapeado diretamente a partir da chave node nos pares de chave-valor analisados.
partition_name event.idm.read_only_udm.additional.fields[].key:"partition_name", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente.
path event.idm.read_only_udm.target.url, event.idm.read_only_udm.about.resource.attribute.labels[].key:"path", event.idm.read_only_udm.about.resource.attribute.labels[].value Mapeado diretamente.
policy_name event.idm.read_only_udm.security_result.detection_fields[].key:"policy_name", event.idm.read_only_udm.security_result.detection_fields[].value Mapeado diretamente.
pool_member event.idm.read_only_udm.about.resource.attribute.labels[].key:"pool_member", event.idm.read_only_udm.about.resource.attribute.labels[].value Mapeado diretamente a partir da chave pool_member nos pares de chave-valor analisados.
principalHost event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mapeado diretamente. Também é usado para preencher o nome do anfitrião do recurso principal. Define has_principal como verdadeiro.
principalIp event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[], event.idm.read_only_udm.observer.ip Mapeado diretamente. Também é usado para preencher o IP do recurso principal e o IP do observador. Define has_principal como verdadeiro.
principalPort event.idm.read_only_udm.principal.port Mapeado diretamente, convertido em número inteiro.
process event.idm.read_only_udm.target.application Mapeado diretamente.
product_event_type event.idm.read_only_udm.metadata.product_event_type Mapeado diretamente.
proto event.idm.read_only_udm.network.ip_protocol Mapeado para o protocolo IP após a conversão do número do protocolo para o nome do protocolo através de uma pesquisa.
query event.idm.read_only_udm.about.resource.attribute.labels[].key:"query", event.idm.read_only_udm.about.resource.attribute.labels[].value Mapeado diretamente a partir da chave query nos pares de chave-valor analisados.
query_string event.idm.read_only_udm.additional.fields[].key:"query_string", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente.
reason event.idm.read_only_udm.security_result.description Mapeado diretamente para registos de processos apmd com nível de registo de aviso ou erro.
reason_code event.idm.read_only_udm.principal.resource.attribute.labels[].key:"reason_code", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mapeado diretamente.
req_status event.idm.read_only_udm.security_result.detection_fields[].key:"req_status", event.idm.read_only_udm.security_result.detection_fields[].value Mapeado diretamente.
request event.idm.read_only_udm.principal.resource.attribute.labels[].key:"request_type", event.idm.read_only_udm.principal.resource.attribute.labels[].value, event.idm.read_only_udm.network.application_protocol Usado para determinar o protocolo de aplicação (HTTP) e mapeado como uma etiqueta.
request_status event.idm.read_only_udm.additional.fields[].key:"request_status", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente.
request_uri event.idm.read_only_udm.target.url Mapeado diretamente.
resp_code event.idm.read_only_udm.network.http.response_code Mapeado diretamente, convertido em número inteiro.
response_code event.idm.read_only_udm.network.http.response_code Mapeado diretamente, convertido em número inteiro.
rule_name event.idm.read_only_udm.security_result.rule_name Mapeado diretamente.
sec_action event.idm.read_only_udm.security_result.action[] Mapeado para ação. "Continuar" é convertido em "PERMITIR". Outros valores são convertidos em "BLOCK".
security_result event.idm.read_only_udm.security_result Unido ao objeto security_result.
session_id event.idm.read_only_udm.network.session_id Mapeado diretamente.
severity event.idm.read_only_udm.security_result.severity Mapeado para a gravidade. Convertido em valores de gravidade da UDM (por exemplo, "Error" -> "ERROR", "Informational" -> "INFORMATIONAL").
sig_ids event.idm.read_only_udm.additional.fields[].key:"sig_ids", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente.
sig_names event.idm.read_only_udm.additional.fields[].key:"sig_names", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente.
sni_host event.idm.read_only_udm.network.tls.client.server_name Mapeado diretamente.
snat event.idm.read_only_udm.about.resource.attribute.labels[].key:"snat", event.idm.read_only_udm.about.resource.attribute.labels[].value Mapeado diretamente a partir da chave snat nos pares de chave-valor analisados.
snat_ip event.idm.read_only_udm.principal.nat_ip[] Mapeado diretamente.
snat_port event.idm.read_only_udm.principal.nat_port Mapeado diretamente, convertido em número inteiro.
src_ip event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Mapeado diretamente. Também é usado para preencher o IP do recurso principal.
src_port event.idm.read_only_udm.principal.port Mapeado diretamente.
ssl_cipher event.idm.read_only_udm.network.tls.cipher Mapeado diretamente.
ssl_function event.idm.read_only_udm.principal.resource.attribute.labels[].key:"ssl_function", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mapeado diretamente.
ssl_version event.idm.read_only_udm.network.tls.version_protocol Mapeado diretamente.
staged_sig_ids event.idm.read_only_udm.additional.fields[].key:"staged_sig_ids", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente.
staged_sig_names event.idm.read_only_udm.additional.fields[].key:"staged_sig_names", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente.
staged_sig_set_names event.idm.read_only_udm.additional.fields[].key:"staged_sig_set_names", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente.
staged_threat_campaign_names event.idm.read_only_udm.additional.fields[].key:"staged_threat_campaign_names", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente.
status event.idm.read_only_udm.security_result.summary Mapeado diretamente para os registos de processos scriptd.
summary event.idm.read_only_udm.security_result.summary Mapeado diretamente para alguns tipos de registos.
support_id event.idm.read_only_udm.additional.fields[].key:"Support_Id", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente.
systems event.idm.read_only_udm.principal.asset.attribute.labels[].key, event.idm.read_only_udm.principal.asset.attribute.labels[].value Analisados para extrair informações do sistema e mapeá-las como etiquetas para o recurso principal.
targetFile event.idm.read_only_udm.target.file.full_path Mapeado diretamente para os registos de processos scriptd.
targetIp event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip Mapeado diretamente. Também é usado para preencher o IP do recurso de destino. Define has_target como verdadeiro.
targetPort event.idm.read_only_udm.target.port Mapeado diretamente, convertido em número inteiro.
threat_campaign_names event.idm.read_only_udm.additional.fields[].key:"threat_campaign_names", event.idm.read_only_udm.additional.fields[].value.string_value Mapeado diretamente.
timestamp event.timestamp Mapeado diretamente após a análise e a rebase.
tls_version event.idm.read_only_udm.network.tls.version Mapeado diretamente.
tlsproto event.idm.read_only_udm.network.tls.version_protocol Mapeado diretamente. Se o valor for HTTP/1.1, é mapeado "HTTP".
unit_host event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mapeado diretamente. Também é usado para preencher o nome do anfitrião do recurso principal. Define has_principal como verdadeiro.
uri event.idm.read_only_udm.target.url Mapeado diretamente.
uri_path event.idm.read_only_udm.target.url Mapeado diretamente, concatenado com uri_query, se presente.
url event.idm.read_only_udm.principal.url Mapeado diretamente.
url_string event.idm.read_only_udm.network.http.referral_url Mapeado diretamente.
user_agent event.idm.read_only_udm.network.http.user_agent Mapeado diretamente.
userId event.idm.read_only_udm.principal.user.userid, event.idm.read_only_udm.target.user.userid Mapeado diretamente. Também é usado para preencher o ID do utilizador de destino. Define has_principal_user como verdadeiro.
vendor_name event.idm.read_only_udm.metadata.vendor_name Codificado como "F5".
violations event.idm.read_only_udm.security_result.detection_fields[].key:"violations", event.idm.read_only_udm.security_result.detection_fields[].value Mapeado diretamente.
vs event.idm.read_only_udm.about.resource.attribute.labels[].key:"vs", event.idm.read_only_udm.about.resource.attribute.labels[].value Mapeado diretamente a partir da chave vs nos pares de chave-valor analisados.
vs_name event.idm.read_only_udm.about.resource.attribute.labels[].key:"vs_name", event.idm.read_only_udm.about.resource.attribute.labels[].value Mapeado diretamente a partir da chave vs_name nos pares de chave-valor analisados.
N/A event.idm.read_only_udm.metadata.event_type Determinado pela lógica do analisador com base na presença de determinados campos. A predefinição é GENERIC_EVENT. Pode ser NETWORK_CONNECTION, USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED, STATUS_UPDATE ou NETWORK_HTTP.
N/A event.idm.read_only_udm.metadata.product_name Codificado de forma rígida para "BIG-IP Local Traffic Manager (LTM)".
N/A event.idm.read_only_udm.metadata.vendor_name Codificado como "F5".
N/A event.idm.read_only_udm.metadata.event_timestamp Copiado do event.timestamp de nível superior.
N/A event.idm.read_only_udm.security_result.severity Determinado pela lógica do analisador com base nos campos severity ou Level, se estiverem presentes. A predefinição é UNKNOWN_SEVERITY. Pode ser INFORMATIONAL, LOW, MEDIUM, HIGH ou CRITICAL.
N/A event.idm.read_only_udm.security_result.summary Definido como "Falha de autenticação" para registos apmd específicos.
N/A event.idm.read_only_udm.extensions.auth.type Definido como "VPN" para registos específicos de apmd e sshd. Caso contrário, defina como AUTHTYPE_UNSPECIFIED para eventos USER_LOGIN e USER_LOGOUT.
N/A event.idm.read_only_udm.network.ip_protocol A predefinição é "TCP" se proto não estiver presente. Caso contrário, é determinado pelo campo proto.

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