Raccogliere i log LTM di F5 BIG-IP
Questo documento descrive come raccogliere i log di F5 BIG-IP Local Traffic Manager (LTM) utilizzando un forwarder Google Security Operations.
Per ulteriori informazioni, consulta Importazione dei dati in Google Security Operations.
Un'etichetta di importazione identifica il parser che normalizza i dati di log non elaborati in formato UDM strutturato. Le informazioni contenute in questo documento si applicano al parser con l'etichetta di importazione F5_BIGIP_LTM
.
Configura F5 BIG-IP LTM
- Accedi a SSH utilizzando le credenziali root.
Accedi a Traffic Management Shell (tmsh) con il seguente comando:
tmsh
Invia i messaggi di log filtrati ai server syslog remoti con il seguente comando:
modify /sys syslog remote-servers none
Rimuovi l'istruzione remote-servers e aggiungi un'istruzione syslog
include
che definisce una regola di filtro e il server remoto.Per definire il filtro syslog richiesto che fa riferimento al server remoto, utilizza il seguente comando:
edit /sys syslog all-properties
Sostituisci il comando
include none
con il seguente filtro e aggiungi l'indirizzo IP e il numero di 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); }; "
Sostituisci IP_ADDRESS con l'indirizzo IP del forwarder di Google Security Operations e port con il numero di porta elevato.
Per uscire dall'editor di testo, premi Esc e poi digita wq!.
Salva la configurazione con il seguente comando:
save /sys config
Configura il forwarder Google Security Operations e syslog per l'importazione dei log F5 BIG-IP LTM
- Vai a Impostazioni SIEM > Forwarder.
- Fai clic su Aggiungi nuovo inoltro.
- Nel campo Nome forwarder, inserisci un nome univoco per il forwarder.
- Fai clic su Invia. Il forwarder viene aggiunto e viene visualizzata la finestra Aggiungi configurazione del raccoglitore.
- Nel campo Nome del raccoglitore, digita un nome.
- Seleziona F5 BIGIP LTM come Tipo di log.
- Seleziona Syslog come Tipo di raccoglitore.
- Configura i seguenti parametri di input obbligatori:
- Protocollo: specifica il protocollo.
- Indirizzo: specifica l'indirizzo IP del forwarder di Google Security Operations.
- Porta: specifica la porta.
- Fai clic su Invia.
Per saperne di più sui forwarder di Google Security Operations, consulta la documentazione sui forwarder di Google Security Operations. Per informazioni sui requisiti per ciascun tipo di forwarder, consulta Configurazione del forwarder per tipo.
Se riscontri problemi durante la creazione degli inoltri, contatta l'assistenza Google Security Operations.
Riferimento alla mappatura dei campi
Questo parser normalizza i log di F5 BIG-IP Local Traffic Manager (LTM), gestendo sia i formati chiave-valore che syslog. Estrae campi come indirizzi IP, nomi utente, azioni e descrizioni, li mappa all'UDM e classifica gli eventi in base ai contenuti dei log e ai campi estratti, tra cui connessioni di rete, accessi/disconnessioni degli utenti ed eventi generici.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
Access_Profile |
event.idm.read_only_udm.additional.fields[].key:"Access_Profile", event.idm.read_only_udm.additional.fields[].value.string_value |
Mappato direttamente dalla chiave Access_Profile nelle coppie chiave-valore analizzate. |
Client_IP |
event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] |
Mappato direttamente dalla chiave Client_IP nelle coppie chiave-valore analizzate. Utilizzato anche per compilare l'IP dell'asset principale. Imposta has_principal su true. |
Country |
event.idm.read_only_udm.principal.location.country_or_region |
Mappato direttamente dalla chiave Country nelle coppie chiave-valore analizzate. |
Listener |
event.idm.read_only_udm.additional.fields[].key:"Listener", event.idm.read_only_udm.additional.fields[].value.string_value |
Mappato direttamente dalla chiave Listener nelle coppie chiave-valore analizzate. |
Session_ID |
event.idm.read_only_udm.network.session_id |
Mappato direttamente dalla chiave Session_ID nelle coppie chiave-valore analizzate. |
State |
event.idm.read_only_udm.principal.location.state |
Mappato direttamente dalla chiave State nelle coppie chiave-valore analizzate. |
Virtual_IP |
event.idm.read_only_udm.target.ip[], event.idm.read_only_udm.target.asset.ip[] |
Mappato direttamente dalla chiave Virtual_IP nelle coppie chiave-valore analizzate. Utilizzato anche per compilare l'IP dell'asset di destinazione. Imposta has_target su true. |
about |
event.idm.read_only_udm.about |
Compilato da vari campi come snat , vs_name , path , query , node , pool_member , vs , client , blade e device se sono presenti nel log non elaborato e analizzati correttamente. |
action_data |
event.idm.read_only_udm.target.process.command_line |
Mappato direttamente per i log di elaborazione di scriptd . |
attack_type |
event.idm.read_only_udm.security_result.category_details[] |
Mappato direttamente. |
blade |
event.idm.read_only_udm.about.resource.attribute.labels[].key:"blade", event.idm.read_only_udm.about.resource.attribute.labels[].value |
Mappato direttamente dalla chiave blade nelle coppie chiave-valore analizzate. |
bytes_in |
event.idm.read_only_udm.network.received_bytes |
Mappato direttamente, convertito in numero intero senza segno. |
bytes_out |
event.idm.read_only_udm.network.sent_bytes |
Mappato direttamente, convertito in numero intero senza segno. |
captcha_result |
event.idm.read_only_udm.additional.fields[].key:"captcha_result", event.idm.read_only_udm.additional.fields[].value.string_value |
Mappato direttamente. |
client |
event.idm.read_only_udm.about.resource.attribute.labels[].key:"client", event.idm.read_only_udm.about.resource.attribute.labels[].value |
Mappato direttamente dalla chiave client nelle coppie chiave-valore analizzate. |
client_ip |
event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] |
Mappato direttamente. Utilizzato anche per compilare l'IP dell'asset principale. Imposta has_principal su true. |
client_port |
event.idm.read_only_udm.principal.port |
Mappato direttamente, convertito in numero intero. |
collection_time |
event.timestamp |
Il timestamp della voce di log viene utilizzato come timestamp dell'evento. |
command_line |
event.idm.read_only_udm.target.process.command_line |
Mappati direttamente per i log di processo CROND e alcuni log logger . |
data |
message |
Il messaggio di log non elaborato. Queste informazioni vengono analizzate e utilizzate per compilare vari campi 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 |
Mappato direttamente. |
dgl_value |
event.idm.read_only_udm.principal.resource.attribute.labels[].key:"DataGroup_List", event.idm.read_only_udm.principal.resource.attribute.labels[].value |
Mappato direttamente. |
description |
event.idm.read_only_udm.metadata.description , event.idm.read_only_udm.security_result.description |
Mappato direttamente per alcuni tipi di log o utilizzato come parte della descrizione del risultato di sicurezza. |
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 |
Mappato direttamente. Utilizzato anche per compilare il nome host dell'asset principale. Imposta has_principal su true. |
dest_ip |
event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip |
Mappato direttamente. Utilizzato anche per compilare l'IP dell'asset di destinazione. Imposta has_principal su true. |
dest_port |
event.idm.read_only_udm.target.port |
Mappato direttamente. |
dvc |
event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname, event.idm.read_only_udm.intermediary.hostname |
Analizzato per estrarre il nome host o l'IP. Utilizzato per compilare il nome host principale o intermedio. |
errdefs_msgno |
event.idm.read_only_udm.additional.fields[].key:"errdefs_msgno", event.idm.read_only_udm.additional.fields[].value.string_value |
Mappato direttamente dalla chiave errdefs_msgno nelle coppie chiave-valore analizzate. |
error_reason |
event.idm.read_only_udm.principal.resource.attribute.labels[].key:"error_reason", event.idm.read_only_udm.principal.resource.attribute.labels[].value |
Mappato direttamente. |
false_positive |
event.idm.read_only_udm.additional.fields[].key:"false_positive", event.idm.read_only_udm.additional.fields[].value.string_value |
Mappato direttamente. |
function_id |
event.idm.read_only_udm.principal.resource.attribute.labels[].key:"function_id", event.idm.read_only_udm.principal.resource.attribute.labels[].value |
Mappato direttamente. |
geoContinent |
event.idm.read_only_udm.principal.location.continent |
Non mappato nell'esempio fornito, ma verrebbe mappato al continente se disponibile. |
geoCountry |
event.idm.read_only_udm.principal.location.country_or_region |
Mappato direttamente. |
geoState |
event.idm.read_only_udm.principal.location.state |
Mappato direttamente. |
header.Referer |
event.idm.read_only_udm.network.http.referral_url |
Mappato direttamente. |
header.User-Agent |
event.idm.read_only_udm.network.http.user_agent, event.idm.read_only_udm.network.http.parsed_user_agent |
Mappato direttamente. Convertito anche in user agent analizzato. |
header.X-Forwarded-For |
event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] |
Analizzato per estrarre gli IP e unirli all'IP principale e all'IP dell'asset principale. |
host |
event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname |
Mappato direttamente. Utilizzato anche per compilare il nome host dell'asset di destinazione. Imposta has_target su true. |
http_host |
event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname |
Mappato direttamente. Utilizzato anche per compilare il nome host dell'asset di destinazione. Imposta has_target su true. |
http_method |
event.idm.read_only_udm.network.http.method |
Mappato direttamente. Imposta event_type su NETWORK_HTTP se presente. |
ip_client |
event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] |
Mappato direttamente. Utilizzato anche per compilare l'IP dell'asset principale. Imposta has_principal su true. |
kv_msg |
Vari campi | Analizzati come coppie chiave-valore e utilizzati per compilare vari campi UDM. |
Level |
event.idm.read_only_udm.security_result.severity |
Mappato alla gravità se il campo severity non è presente. Convertiti in valori di gravità UDM (ad es. "Info" -> "INFORMATIONAL"). |
Listener |
event.idm.read_only_udm.additional.fields[].key:"Listener", event.idm.read_only_udm.additional.fields[].value.string_value |
Mappato direttamente. |
log_message |
event.idm.read_only_udm.principal.resource.attribute.labels[].value, event.idm.read_only_udm.security_result.description |
Ulteriormente analizzato per estrarre request_uri o description . |
log_type |
event.idm.read_only_udm.metadata.log_type |
Mappato direttamente dal campo log_type del log non elaborato. |
loglevel |
event.idm.read_only_udm.security_result.severity |
Mappato alla gravità. Convertiti in valori di gravità UDM (ad es. "warning" -> "MEDIUM", "err" -> "HIGH"). Utilizzato anche per la logica di avvisi/eventi significativi. |
manage_ip_addr |
event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] |
Mappato direttamente. Utilizzato anche per compilare l'IP dell'asset principale. Imposta has_principal su true. |
method |
event.idm.read_only_udm.network.http.method |
Mappato direttamente. Imposta event_type su NETWORK_HTTP . |
method_req |
event.idm.read_only_udm.network.http.method |
Mappato direttamente. |
msg1 |
event.idm.read_only_udm.security_result.description |
Utilizzato come descrizione del risultato di sicurezza se non viene analizzato ulteriormente. |
node |
event.idm.read_only_udm.about.resource.attribute.labels[].key:"node", event.idm.read_only_udm.about.resource.attribute.labels[].value |
Mappato direttamente dalla chiave node nelle coppie chiave-valore analizzate. |
partition_name |
event.idm.read_only_udm.additional.fields[].key:"partition_name", event.idm.read_only_udm.additional.fields[].value.string_value |
Mappato direttamente. |
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 |
Mappato direttamente. |
policy_name |
event.idm.read_only_udm.security_result.detection_fields[].key:"policy_name", event.idm.read_only_udm.security_result.detection_fields[].value |
Mappato direttamente. |
pool_member |
event.idm.read_only_udm.about.resource.attribute.labels[].key:"pool_member", event.idm.read_only_udm.about.resource.attribute.labels[].value |
Mappato direttamente dalla chiave pool_member nelle coppie chiave-valore analizzate. |
principalHost |
event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname |
Mappato direttamente. Utilizzato anche per compilare il nome host dell'asset principale. Imposta has_principal su true. |
principalIp |
event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[], event.idm.read_only_udm.observer.ip |
Mappato direttamente. Utilizzato anche per compilare l'IP dell'asset principale e l'IP dell'osservatore. Imposta has_principal su true. |
principalPort |
event.idm.read_only_udm.principal.port |
Mappato direttamente, convertito in numero intero. |
process |
event.idm.read_only_udm.target.application |
Mappato direttamente. |
product_event_type |
event.idm.read_only_udm.metadata.product_event_type |
Mappato direttamente. |
proto |
event.idm.read_only_udm.network.ip_protocol |
Mappato al protocollo IP dopo la conversione del numero di protocollo in nome del protocollo utilizzando una ricerca. |
query |
event.idm.read_only_udm.about.resource.attribute.labels[].key:"query", event.idm.read_only_udm.about.resource.attribute.labels[].value |
Mappato direttamente dalla chiave query nelle coppie chiave-valore analizzate. |
query_string |
event.idm.read_only_udm.additional.fields[].key:"query_string", event.idm.read_only_udm.additional.fields[].value.string_value |
Mappato direttamente. |
reason |
event.idm.read_only_udm.security_result.description |
Mappato direttamente per i log di elaborazione apmd con livello di log di avviso o errore. |
reason_code |
event.idm.read_only_udm.principal.resource.attribute.labels[].key:"reason_code", event.idm.read_only_udm.principal.resource.attribute.labels[].value |
Mappato direttamente. |
req_status |
event.idm.read_only_udm.security_result.detection_fields[].key:"req_status", event.idm.read_only_udm.security_result.detection_fields[].value |
Mappato direttamente. |
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 |
Utilizzato per determinare il protocollo dell'applicazione (HTTP) e mappato come etichetta. |
request_status |
event.idm.read_only_udm.additional.fields[].key:"request_status", event.idm.read_only_udm.additional.fields[].value.string_value |
Mappato direttamente. |
request_uri |
event.idm.read_only_udm.target.url |
Mappato direttamente. |
resp_code |
event.idm.read_only_udm.network.http.response_code |
Mappato direttamente, convertito in numero intero. |
response_code |
event.idm.read_only_udm.network.http.response_code |
Mappato direttamente, convertito in numero intero. |
rule_name |
event.idm.read_only_udm.security_result.rule_name |
Mappato direttamente. |
sec_action |
event.idm.read_only_udm.security_result.action[] |
Mappato all'azione. "Continua" viene convertito in "CONSENTI". Gli altri valori vengono convertiti in "BLOCK". |
security_result |
event.idm.read_only_udm.security_result |
Unito all'oggetto security_result. |
session_id |
event.idm.read_only_udm.network.session_id |
Mappato direttamente. |
severity |
event.idm.read_only_udm.security_result.severity |
Mappato alla gravità. Convertiti in valori di gravità UDM (ad es. "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 |
Mappato direttamente. |
sig_names |
event.idm.read_only_udm.additional.fields[].key:"sig_names", event.idm.read_only_udm.additional.fields[].value.string_value |
Mappato direttamente. |
sni_host |
event.idm.read_only_udm.network.tls.client.server_name |
Mappato direttamente. |
snat |
event.idm.read_only_udm.about.resource.attribute.labels[].key:"snat", event.idm.read_only_udm.about.resource.attribute.labels[].value |
Mappato direttamente dalla chiave snat nelle coppie chiave-valore analizzate. |
snat_ip |
event.idm.read_only_udm.principal.nat_ip[] |
Mappato direttamente. |
snat_port |
event.idm.read_only_udm.principal.nat_port |
Mappato direttamente, convertito in numero intero. |
src_ip |
event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] |
Mappato direttamente. Utilizzato anche per compilare l'IP dell'asset principale. |
src_port |
event.idm.read_only_udm.principal.port |
Mappato direttamente. |
ssl_cipher |
event.idm.read_only_udm.network.tls.cipher |
Mappato direttamente. |
ssl_function |
event.idm.read_only_udm.principal.resource.attribute.labels[].key:"ssl_function", event.idm.read_only_udm.principal.resource.attribute.labels[].value |
Mappato direttamente. |
ssl_version |
event.idm.read_only_udm.network.tls.version_protocol |
Mappato direttamente. |
staged_sig_ids |
event.idm.read_only_udm.additional.fields[].key:"staged_sig_ids", event.idm.read_only_udm.additional.fields[].value.string_value |
Mappato direttamente. |
staged_sig_names |
event.idm.read_only_udm.additional.fields[].key:"staged_sig_names", event.idm.read_only_udm.additional.fields[].value.string_value |
Mappato direttamente. |
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 |
Mappato direttamente. |
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 |
Mappato direttamente. |
status |
event.idm.read_only_udm.security_result.summary |
Mappato direttamente per i log di elaborazione di scriptd . |
summary |
event.idm.read_only_udm.security_result.summary |
Mappato direttamente per alcuni tipi di log. |
support_id |
event.idm.read_only_udm.additional.fields[].key:"Support_Id", event.idm.read_only_udm.additional.fields[].value.string_value |
Mappato direttamente. |
systems |
event.idm.read_only_udm.principal.asset.attribute.labels[].key, event.idm.read_only_udm.principal.asset.attribute.labels[].value |
Analizzati per estrarre le informazioni di sistema e mapparle come etichette della risorsa principale. |
targetFile |
event.idm.read_only_udm.target.file.full_path |
Mappato direttamente per i log di elaborazione di scriptd . |
targetIp |
event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip |
Mappato direttamente. Utilizzato anche per compilare l'IP dell'asset di destinazione. Imposta has_target su true. |
targetPort |
event.idm.read_only_udm.target.port |
Mappato direttamente, convertito in numero intero. |
threat_campaign_names |
event.idm.read_only_udm.additional.fields[].key:"threat_campaign_names", event.idm.read_only_udm.additional.fields[].value.string_value |
Mappato direttamente. |
timestamp |
event.timestamp |
Mappato direttamente dopo l'analisi e il rebase. |
tls_version |
event.idm.read_only_udm.network.tls.version |
Mappato direttamente. |
tlsproto |
event.idm.read_only_udm.network.tls.version_protocol |
Mappato direttamente. Se il valore è HTTP/1.1, viene mappato "HTTP". |
unit_host |
event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname |
Mappato direttamente. Utilizzato anche per compilare il nome host dell'asset principale. Imposta has_principal su true. |
uri |
event.idm.read_only_udm.target.url |
Mappato direttamente. |
uri_path |
event.idm.read_only_udm.target.url |
Mappato direttamente, concatenato con uri_query se presente. |
url |
event.idm.read_only_udm.principal.url |
Mappato direttamente. |
url_string |
event.idm.read_only_udm.network.http.referral_url |
Mappato direttamente. |
user_agent |
event.idm.read_only_udm.network.http.user_agent |
Mappato direttamente. |
userId |
event.idm.read_only_udm.principal.user.userid, event.idm.read_only_udm.target.user.userid |
Mappato direttamente. Utilizzato anche per compilare l'ID utente di destinazione. Imposta has_principal_user su true. |
vendor_name |
event.idm.read_only_udm.metadata.vendor_name |
Codificato su "F5". |
violations |
event.idm.read_only_udm.security_result.detection_fields[].key:"violations", event.idm.read_only_udm.security_result.detection_fields[].value |
Mappato direttamente. |
vs |
event.idm.read_only_udm.about.resource.attribute.labels[].key:"vs", event.idm.read_only_udm.about.resource.attribute.labels[].value |
Mappato direttamente dalla chiave vs nelle coppie chiave-valore analizzate. |
vs_name |
event.idm.read_only_udm.about.resource.attribute.labels[].key:"vs_name", event.idm.read_only_udm.about.resource.attribute.labels[].value |
Mappato direttamente dalla chiave vs_name nelle coppie chiave-valore analizzate. |
N/D | event.idm.read_only_udm.metadata.event_type |
Determinato dalla logica del parser in base alla presenza di determinati campi. Il valore predefinito è GENERIC_EVENT . Può essere NETWORK_CONNECTION , USER_LOGIN , USER_LOGOUT , USER_UNCATEGORIZED , STATUS_UPDATE o NETWORK_HTTP . |
N/D | event.idm.read_only_udm.metadata.product_name |
Codificato in modo permanente su "BIG-IP Local Traffic Manager (LTM)". |
N/D | event.idm.read_only_udm.metadata.vendor_name |
Codificato su "F5". |
N/D | event.idm.read_only_udm.metadata.event_timestamp |
Copiato dal livello superiore event.timestamp . |
N/D | event.idm.read_only_udm.security_result.severity |
Determinato dalla logica del parser in base ai campi severity o Level , se presenti. Il valore predefinito è UNKNOWN_SEVERITY . Può essere INFORMATIONAL , LOW , MEDIUM , HIGH o CRITICAL . |
N/D | event.idm.read_only_udm.security_result.summary |
Imposta "Errore di autenticazione" per log apmd specifici. |
N/D | event.idm.read_only_udm.extensions.auth.type |
Imposta "VPN" per log apmd e sshd specifici. In caso contrario, imposta AUTHTYPE_UNSPECIFIED per gli eventi USER_LOGIN e USER_LOGOUT . |
N/D | event.idm.read_only_udm.network.ip_protocol |
Se proto non è presente, il valore predefinito è "TCP". In caso contrario, viene determinato dal campo proto . |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.