Recolha registos do F5 BIG-IP LTM
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
- Inicie sessão no SSH com as credenciais de raiz.
Inicie sessão no Traffic Management Shell (tmsh) com o seguinte comando:
tmsh
Envie mensagens de registo filtradas para servidores syslog remotos com o seguinte comando:
modify /sys syslog remote-servers none
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.Para definir o filtro syslog necessário que faz referência ao servidor remoto, use o seguinte comando:
edit /sys syslog all-properties
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.
Para sair do editor de texto, prima Esc e, de seguida, introduza wq!.
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
- Aceda a Definições do SIEM > Encaminhadores.
- Clique em Adicionar novo encaminhador.
- No campo Nome do encaminhador, introduza um nome exclusivo para o encaminhador.
- Clique em Enviar. O encaminhador é adicionado e é apresentada a janela Adicionar configuração do coletor.
- No campo Nome do coletor, introduza um nome.
- Selecione F5 BIGIP LTM como o Tipo de registo.
- 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 do encaminhador do Google Security Operations.
- Porta: especifique a porta.
- 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.