Collecter les journaux F5 BIG-IP LTM
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
- Connectez-vous à SSH à l'aide des identifiants racine.
Connectez-vous à Traffic Management Shell (tmsh) à l'aide de la commande suivante :
tmsh
Envoyez des messages de journaux filtrés à des serveurs syslog distants à l'aide de la commande suivante :
modify /sys syslog remote-servers none
Supprimez l'instruction remote-servers, puis ajoutez une instruction syslog
include
qui définit une règle de filtrage et le serveur distant.Pour définir le filtre syslog requis qui fait référence au serveur distant, utilisez la commande suivante :
edit /sys syslog all-properties
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é.
Pour quitter l'éditeur de texte, appuyez sur Échap, puis saisissez wq!.
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
- Accédez à Paramètres SIEM > Transférateurs.
- Cliquez sur Ajouter un nouveau transfert.
- Dans le champ Nom du transitaire, saisissez un nom unique pour le transitaire.
- Cliquez sur Envoyer. Le redirecteur est ajouté et la fenêtre Ajouter une configuration de collecteur s'affiche.
- Dans le champ Nom du collecteur, saisissez un nom.
- Sélectionnez F5 BIGIP LTM comme Type de journal.
- Sélectionnez Syslog comme type de collecteur.
- 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.
- 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.