Collecter les journaux F5 BIG-IP LTM

Compatible avec :

Ce document explique comment collecter les journaux F5 BIG-IP Local Traffic Manager (LTM) à l'aide d'un transmetteur Google Security Operations.

Pour en savoir plus, consultez Ingestion de données dans Google Security Operations.

Une étiquette d'ingestion identifie l'analyseur qui normalise les données de journaux brutes au format UDM structuré. Les informations de ce document s'appliquent au parseur avec le libellé d'ingestion F5_BIGIP_LTM.

Configurer F5-BIG-IP LTM

  1. Connectez-vous à SSH à l'aide des identifiants racine.
  2. Connectez-vous à Traffic Management Shell (tmsh) à l'aide de la commande suivante :

    tmsh

  3. Envoyez des messages de journaux filtrés à des serveurs syslog distants à l'aide de la commande suivante :

    modify /sys syslog remote-servers none

  4. Supprimez l'instruction remote-servers, puis ajoutez une instruction syslog include qui définit une règle de filtrage et le serveur distant.

  5. Pour définir le filtre syslog requis qui fait référence au serveur distant, utilisez la commande suivante :

    edit /sys syslog all-properties

  6. Remplacez la commande include none par le filtre suivant, puis ajoutez l'adresse IP et le numéro de port.

    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);
    
    };
    
    "
    

    Remplacez IP_ADDRESS par l'adresse IP du redirecteur Google Security Operations et port par le numéro de port élevé.

  7. Pour quitter l'éditeur de texte, appuyez sur Échap, puis saisissez wq!.

  8. Enregistrez la configuration à l'aide de la commande suivante :

    save /sys config

Configurer le redirecteur Google Security Operations et syslog pour ingérer les journaux F5 BIG-IP LTM

  1. Accédez à Paramètres SIEM > Transférateurs.
  2. Cliquez sur Ajouter un nouveau transfert.
  3. Dans le champ Nom du transitaire, saisissez un nom unique pour le transitaire.
  4. Cliquez sur Envoyer. Le redirecteur est ajouté et la fenêtre Ajouter une configuration de collecteur s'affiche.
  5. Dans le champ Nom du collecteur, saisissez un nom.
  6. Sélectionnez F5 BIGIP LTM comme Type de journal.
  7. Sélectionnez Syslog comme type de collecteur.
  8. Configurez les paramètres d'entrée obligatoires suivants :
    • Protocole : spécifiez le protocole.
    • Adresse : spécifiez l'adresse IP du redirecteur Google Security Operations.
    • Port : spécifiez le port.
  9. Cliquez sur Envoyer.

Pour en savoir plus sur les redirecteurs Google Security Operations, consultez la documentation sur les redirecteurs Google Security Operations. Pour en savoir plus sur les exigences de chaque type de redirecteur, consultez Configuration des redirecteurs par type.

Si vous rencontrez des problèmes lors de la création de redirecteurs, contactez l'assistance Google Security Operations.

Référence du mappage de champs

Ce parseur normalise les journaux F5 BIG-IP Local Traffic Manager (LTM), en gérant les formats clé-valeur et syslog. Il extrait des champs tels que les adresses IP, les noms d'utilisateur, les actions et les descriptions, les mappe à l'UDM et catégorise les événements en fonction du contenu du journal et des champs extraits, y compris les connexions réseau, les connexions/déconnexions des utilisateurs et les événements génériques.

Table de mappage UDM

Champ de journal Mappage UDM Logique
Access_Profile event.idm.read_only_udm.additional.fields[].key:"Access_Profile", event.idm.read_only_udm.additional.fields[].value.string_value Mappé directement à partir de la clé Access_Profile dans les paires clé/valeur analysées.
Client_IP event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Mappé directement à partir de la clé Client_IP dans les paires clé/valeur analysées. Également utilisé pour renseigner l'adresse IP de l'élément principal. Définit has_principal sur "true".
Country event.idm.read_only_udm.principal.location.country_or_region Mappé directement à partir de la clé Country dans les paires clé/valeur analysées.
Listener event.idm.read_only_udm.additional.fields[].key:"Listener", event.idm.read_only_udm.additional.fields[].value.string_value Mappé directement à partir de la clé Listener dans les paires clé/valeur analysées.
Session_ID event.idm.read_only_udm.network.session_id Mappé directement à partir de la clé Session_ID dans les paires clé/valeur analysées.
State event.idm.read_only_udm.principal.location.state Mappé directement à partir de la clé State dans les paires clé/valeur analysées.
Virtual_IP event.idm.read_only_udm.target.ip[], event.idm.read_only_udm.target.asset.ip[] Mappé directement à partir de la clé Virtual_IP dans les paires clé/valeur analysées. Également utilisé pour remplir l'adresse IP de l'actif cible. Définit has_target sur "true".
about event.idm.read_only_udm.about Ce champ est renseigné à partir de différents champs tels que snat, vs_name, path, query, node, pool_member, vs, client, blade et device s'ils sont présents dans le journal brut et analysés avec succès.
action_data event.idm.read_only_udm.target.process.command_line Mappé directement pour les journaux de processus scriptd.
attack_type event.idm.read_only_udm.security_result.category_details[] Mappé directement.
blade event.idm.read_only_udm.about.resource.attribute.labels[].key:"blade", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappé directement à partir de la clé blade dans les paires clé/valeur analysées.
bytes_in event.idm.read_only_udm.network.received_bytes Mappé directement, converti en entier non signé.
bytes_out event.idm.read_only_udm.network.sent_bytes Mappé directement, converti en entier non signé.
captcha_result event.idm.read_only_udm.additional.fields[].key:"captcha_result", event.idm.read_only_udm.additional.fields[].value.string_value Mappé directement.
client event.idm.read_only_udm.about.resource.attribute.labels[].key:"client", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappé directement à partir de la clé client dans les paires clé/valeur analysées.
client_ip event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Mappé directement. Également utilisé pour renseigner l'adresse IP de l'élément principal. Définit has_principal sur "true".
client_port event.idm.read_only_udm.principal.port Mappé directement, converti en entier.
collection_time event.timestamp L'horodatage de l'entrée de journal est utilisé comme horodatage de l'événement.
command_line event.idm.read_only_udm.target.process.command_line Mappé directement pour les journaux de processus CROND et certains journaux logger.
data message Message de journal brut. Il est analysé et utilisé pour remplir différents champs 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 Mappé directement.
dgl_value event.idm.read_only_udm.principal.resource.attribute.labels[].key:"DataGroup_List", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mappé directement.
description event.idm.read_only_udm.metadata.description, event.idm.read_only_udm.security_result.description Directement mappé pour certains types de journaux ou utilisé dans la description des résultats de sécurité.
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 Mappé directement. Sert également à renseigner le nom d'hôte de l'élément principal. Définit has_principal sur "true".
dest_ip event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip Mappé directement. Également utilisé pour remplir l'adresse IP de l'actif cible. Définit has_principal sur "true".
dest_port event.idm.read_only_udm.target.port Mappé directement.
dvc event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname, event.idm.read_only_udm.intermediary.hostname Analysé pour extraire le nom d'hôte ou l'adresse IP. Permet de renseigner le nom d'hôte principal ou intermédiaire.
errdefs_msgno event.idm.read_only_udm.additional.fields[].key:"errdefs_msgno", event.idm.read_only_udm.additional.fields[].value.string_value Mappé directement à partir de la clé errdefs_msgno dans les paires clé/valeur analysées.
error_reason event.idm.read_only_udm.principal.resource.attribute.labels[].key:"error_reason", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mappé directement.
false_positive event.idm.read_only_udm.additional.fields[].key:"false_positive", event.idm.read_only_udm.additional.fields[].value.string_value Mappé directement.
function_id event.idm.read_only_udm.principal.resource.attribute.labels[].key:"function_id", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mappé directement.
geoContinent event.idm.read_only_udm.principal.location.continent Non mappé dans l'exemple fourni, mais serait mappé sur le continent s'il était disponible.
geoCountry event.idm.read_only_udm.principal.location.country_or_region Mappé directement.
geoState event.idm.read_only_udm.principal.location.state Mappé directement.
header.Referer event.idm.read_only_udm.network.http.referral_url Mappé directement.
header.User-Agent event.idm.read_only_udm.network.http.user_agent, event.idm.read_only_udm.network.http.parsed_user_agent Mappé directement. Également converti en user-agent analysé.
header.X-Forwarded-For event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Analysé pour extraire les adresses IP et les fusionner dans l'adresse IP principale et l'adresse IP de l'actif principal.
host event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname Mappé directement. Également utilisé pour remplir le nom d'hôte de l'élément cible. Définit has_target sur "true".
http_host event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname Mappé directement. Également utilisé pour remplir le nom d'hôte de l'élément cible. Définit has_target sur "true".
http_method event.idm.read_only_udm.network.http.method Mappé directement. Définit event_type sur NETWORK_HTTP, le cas échéant.
ip_client event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Mappé directement. Également utilisé pour renseigner l'adresse IP de l'élément principal. Définit has_principal sur "true".
kv_msg Différents champs Analysé sous forme de paires clé/valeur et utilisé pour remplir différents champs UDM.
Level event.idm.read_only_udm.security_result.severity Mappé à la gravité si le champ severity n'est pas présent. Converties en valeurs de gravité UDM (par exemple, "Info" → "INFORMATIONAL").
Listener event.idm.read_only_udm.additional.fields[].key:"Listener", event.idm.read_only_udm.additional.fields[].value.string_value Mappé directement.
log_message event.idm.read_only_udm.principal.resource.attribute.labels[].value, event.idm.read_only_udm.security_result.description Analysé plus en détail pour extraire request_uri ou description.
log_type event.idm.read_only_udm.metadata.log_type Mappé directement à partir du champ log_type du journal brut.
loglevel event.idm.read_only_udm.security_result.severity Mappé à la gravité. Converties en valeurs de gravité UDM (par exemple, "warning" -> "MEDIUM", "err" -> "HIGH"). Également utilisé pour la logique d'alerte/d'événement important.
manage_ip_addr event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Mappé directement. Également utilisé pour renseigner l'adresse IP de l'élément principal. Définit has_principal sur "true".
method event.idm.read_only_udm.network.http.method Mappé directement. Définit event_type sur NETWORK_HTTP.
method_req event.idm.read_only_udm.network.http.method Mappé directement.
msg1 event.idm.read_only_udm.security_result.description Description du résultat de sécurité utilisée si elle n'est pas analysée plus en détail.
node event.idm.read_only_udm.about.resource.attribute.labels[].key:"node", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappé directement à partir de la clé node dans les paires clé/valeur analysées.
partition_name event.idm.read_only_udm.additional.fields[].key:"partition_name", event.idm.read_only_udm.additional.fields[].value.string_value Mappé directement.
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 Mappé directement.
policy_name event.idm.read_only_udm.security_result.detection_fields[].key:"policy_name", event.idm.read_only_udm.security_result.detection_fields[].value Mappé directement.
pool_member event.idm.read_only_udm.about.resource.attribute.labels[].key:"pool_member", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappé directement à partir de la clé pool_member dans les paires clé/valeur analysées.
principalHost event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mappé directement. Sert également à renseigner le nom d'hôte de l'élément principal. Définit has_principal sur "true".
principalIp event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[], event.idm.read_only_udm.observer.ip Mappé directement. Également utilisé pour renseigner l'adresse IP de l'asset principal et l'adresse IP de l'observateur. Définit has_principal sur "true".
principalPort event.idm.read_only_udm.principal.port Mappé directement, converti en entier.
process event.idm.read_only_udm.target.application Mappé directement.
product_event_type event.idm.read_only_udm.metadata.product_event_type Mappé directement.
proto event.idm.read_only_udm.network.ip_protocol Mappé au protocole IP après conversion du numéro de protocole en nom de protocole à l'aide d'une recherche.
query event.idm.read_only_udm.about.resource.attribute.labels[].key:"query", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappé directement à partir de la clé query dans les paires clé/valeur analysées.
query_string event.idm.read_only_udm.additional.fields[].key:"query_string", event.idm.read_only_udm.additional.fields[].value.string_value Mappé directement.
reason event.idm.read_only_udm.security_result.description Mappé directement pour les journaux de processus apmd avec un niveau de journalisation d'avertissement ou d'erreur.
reason_code event.idm.read_only_udm.principal.resource.attribute.labels[].key:"reason_code", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mappé directement.
req_status event.idm.read_only_udm.security_result.detection_fields[].key:"req_status", event.idm.read_only_udm.security_result.detection_fields[].value Mappé directement.
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 Utilisé pour déterminer le protocole d'application (HTTP) et mappé en tant que libellé.
request_status event.idm.read_only_udm.additional.fields[].key:"request_status", event.idm.read_only_udm.additional.fields[].value.string_value Mappé directement.
request_uri event.idm.read_only_udm.target.url Mappé directement.
resp_code event.idm.read_only_udm.network.http.response_code Mappé directement, converti en entier.
response_code event.idm.read_only_udm.network.http.response_code Mappé directement, converti en entier.
rule_name event.idm.read_only_udm.security_result.rule_name Mappé directement.
sec_action event.idm.read_only_udm.security_result.action[] Mappé à l'action. "Continuer" est converti en "AUTORISER". Les autres valeurs sont converties en "BLOCK".
security_result event.idm.read_only_udm.security_result Fusionné dans l'objet security_result.
session_id event.idm.read_only_udm.network.session_id Mappé directement.
severity event.idm.read_only_udm.security_result.severity Mappé à la gravité. Converties en valeurs de gravité UDM (par exemple, "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 Mappé directement.
sig_names event.idm.read_only_udm.additional.fields[].key:"sig_names", event.idm.read_only_udm.additional.fields[].value.string_value Mappé directement.
sni_host event.idm.read_only_udm.network.tls.client.server_name Mappé directement.
snat event.idm.read_only_udm.about.resource.attribute.labels[].key:"snat", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappé directement à partir de la clé snat dans les paires clé/valeur analysées.
snat_ip event.idm.read_only_udm.principal.nat_ip[] Mappé directement.
snat_port event.idm.read_only_udm.principal.nat_port Mappé directement, converti en entier.
src_ip event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Mappé directement. Également utilisé pour renseigner l'adresse IP de l'élément principal.
src_port event.idm.read_only_udm.principal.port Mappé directement.
ssl_cipher event.idm.read_only_udm.network.tls.cipher Mappé directement.
ssl_function event.idm.read_only_udm.principal.resource.attribute.labels[].key:"ssl_function", event.idm.read_only_udm.principal.resource.attribute.labels[].value Mappé directement.
ssl_version event.idm.read_only_udm.network.tls.version_protocol Mappé directement.
staged_sig_ids event.idm.read_only_udm.additional.fields[].key:"staged_sig_ids", event.idm.read_only_udm.additional.fields[].value.string_value Mappé directement.
staged_sig_names event.idm.read_only_udm.additional.fields[].key:"staged_sig_names", event.idm.read_only_udm.additional.fields[].value.string_value Mappé directement.
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 Mappé directement.
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 Mappé directement.
status event.idm.read_only_udm.security_result.summary Mappé directement pour les journaux de processus scriptd.
summary event.idm.read_only_udm.security_result.summary Directement mappé pour certains types de journaux.
support_id event.idm.read_only_udm.additional.fields[].key:"Support_Id", event.idm.read_only_udm.additional.fields[].value.string_value Mappé directement.
systems event.idm.read_only_udm.principal.asset.attribute.labels[].key, event.idm.read_only_udm.principal.asset.attribute.labels[].value Les informations système sont analysées et mappées sous forme de libellés à l'actif principal.
targetFile event.idm.read_only_udm.target.file.full_path Mappé directement pour les journaux de processus scriptd.
targetIp event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip Mappé directement. Également utilisé pour remplir l'adresse IP de l'actif cible. Définit has_target sur "true".
targetPort event.idm.read_only_udm.target.port Mappé directement, converti en entier.
threat_campaign_names event.idm.read_only_udm.additional.fields[].key:"threat_campaign_names", event.idm.read_only_udm.additional.fields[].value.string_value Mappé directement.
timestamp event.timestamp Directement mappé après l'analyse et le rebasage.
tls_version event.idm.read_only_udm.network.tls.version Mappé directement.
tlsproto event.idm.read_only_udm.network.tls.version_protocol Mappé directement. Si la valeur est HTTP/1.1, "HTTP" est mappé.
unit_host event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mappé directement. Sert également à renseigner le nom d'hôte de l'élément principal. Définit has_principal sur "true".
uri event.idm.read_only_udm.target.url Mappé directement.
uri_path event.idm.read_only_udm.target.url Mappé directement, concaténé avec uri_query si présent.
url event.idm.read_only_udm.principal.url Mappé directement.
url_string event.idm.read_only_udm.network.http.referral_url Mappé directement.
user_agent event.idm.read_only_udm.network.http.user_agent Mappé directement.
userId event.idm.read_only_udm.principal.user.userid, event.idm.read_only_udm.target.user.userid Mappé directement. Sert également à renseigner l'ID de l'utilisateur cible. Définit has_principal_user sur "true".
vendor_name event.idm.read_only_udm.metadata.vendor_name Codé en dur sur "F5".
violations event.idm.read_only_udm.security_result.detection_fields[].key:"violations", event.idm.read_only_udm.security_result.detection_fields[].value Mappé directement.
vs event.idm.read_only_udm.about.resource.attribute.labels[].key:"vs", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappé directement à partir de la clé vs dans les paires clé/valeur analysées.
vs_name event.idm.read_only_udm.about.resource.attribute.labels[].key:"vs_name", event.idm.read_only_udm.about.resource.attribute.labels[].value Mappé directement à partir de la clé vs_name dans les paires clé/valeur analysées.
N/A event.idm.read_only_udm.metadata.event_type Déterminé par la logique de l'analyseur en fonction de la présence de certains champs. La valeur par défaut est GENERIC_EVENT. Il peut s'agir de NETWORK_CONNECTION, USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED, STATUS_UPDATE ou NETWORK_HTTP.
N/A event.idm.read_only_udm.metadata.product_name Codé en dur sur "BIG-IP Local Traffic Manager (LTM)".
N/A event.idm.read_only_udm.metadata.vendor_name Codé en dur sur "F5".
N/A event.idm.read_only_udm.metadata.event_timestamp Copié à partir de l'élément event.timestamp de premier niveau.
N/A event.idm.read_only_udm.security_result.severity Déterminé par la logique de l'analyseur en fonction des champs severity ou Level, le cas échéant. La valeur par défaut est UNKNOWN_SEVERITY. Il peut s'agir de INFORMATIONAL, LOW, MEDIUM, HIGH ou CRITICAL.
N/A event.idm.read_only_udm.security_result.summary Définissez la valeur sur "Échec de l'authentification" pour des journaux apmd spécifiques.
N/A event.idm.read_only_udm.extensions.auth.type Définissez la valeur sur "VPN" pour les journaux apmd et sshd spécifiques. Sinon, définissez-le sur AUTHTYPE_UNSPECIFIED pour les événements USER_LOGIN et USER_LOGOUT.
N/A event.idm.read_only_udm.network.ip_protocol La valeur par défaut est "TCP" si proto n'est pas présent. Sinon, la valeur est déterminée par le champ proto.

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.