Collecter les journaux Versa Networks Secure Access Service Edge (SASE)
Ce document explique comment ingérer les journaux Versa Networks Secure Access Service Edge (SASE) dans Google Security Operations à l'aide de l'agent Bindplane.
Versa Networks SASE est une plate-forme unifiée de sécurité et de mise en réseau qui génère des messages syslog pour les événements de pare-feu, les journaux de menaces, la classification des applications, le filtrage d'URL, les détections IDS/IPS et les événements d'alarme. L'analyseur extrait les paires clé/valeur des messages syslog et les mappe au modèle de données unifié (UDM).
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Une instance Google SecOps
- Windows Server 2016 ou version ultérieure, ou hôte Linux avec
systemd - Connectivité réseau entre l'agent BindPlane et le nœud Versa Analytics
- Si vous exécutez l'agent derrière un proxy, assurez-vous que les ports du pare-feu sont ouverts conformément aux exigences de l'agent BindPlane.
- Accès privilégié à Versa SASE
Obtenir les identifiants Google SecOps pour l'agent Bindplane
Pour authentifier l'agent Bindplane auprès de Google SecOps, choisissez l'une des méthodes suivantes :
- Nouveaux déploiements : utilisez l'API Chronicle (option 1).
- Déploiements existants : continuez à utiliser le fichier d'authentification pour l'ingestion (option 2) jusqu'à l'arrêt de l'API Ingestion le 20 juillet 2027.
Option 1 : Créer un compte de service pour l'API Chronicle (recommandé)
- Connectez-vous à la consoleGoogle Cloud et sélectionnez le projet Google Cloud associé à votre instance Google SecOps.
- Accédez à IAM et administration > Comptes de service.
- Cliquez sur Créer un compte de service.
- Fournissez les informations de configuration suivantes :
- Nom du compte de service : saisissez un nom pour le compte (par exemple,
bindplane-ingest). - Description du compte de service : saisissez une description (par exemple,
Bindplane agent log ingestion).
- Nom du compte de service : saisissez un nom pour le compte (par exemple,
- Cliquez sur Créer et continuer.
- Dans la section Autoriser ce compte de service à accéder au projet, cliquez sur Sélectionner un rôle, puis sélectionnez Éditeur Chronicle.
- Cliquez sur Continue (Continuer), puis sur Done (OK).
- Cliquez sur le compte de service que vous avez créé, puis accédez à l'onglet Clés.
- Cliquez sur Ajouter une clé > Créer une clé.
- Sélectionnez JSON, puis cliquez sur Créer. Le fichier de clé est téléchargé sur votre ordinateur.
- Enregistrez le fichier de clé sous le nom
ingestion-auth.jsondans le répertoire du collecteur BindPlane (/opt/observiq-otel-collector/ingestion-auth.jsonsous Linux ouC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonsous Windows), ou mettez à jourcreds_file_pathdansconfig.yamlpour qu'il corresponde au chemin d'accès où vous l'enregistrez. - Accédez à IAM et administration > Paramètres, puis copiez le numéro du projet. Vous en aurez besoin pour la configuration de l'exportateur.
Option 2 : Télécharger le fichier d'authentification d'ingestion (ancienne méthode)
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM> Agents de collecte.
- Téléchargez le fichier d'authentification d'ingestion.
- Enregistrez le fichier de manière sécurisée sur le système sur lequel l'agent Bindplane sera installé.
Obtenir l'ID client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM > Profil.
Copiez et enregistrez le numéro client dans la section Détails de l'organisation.
Installer l'agent BindPlane
Installez l'agent Bindplane sur votre système d'exploitation Windows ou Linux en suivant les instructions ci-dessous.
Installation de Windows
- Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
Exécutez la commande suivante :
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietAttendez la fin de l'installation.
Vérifiez l'installation en exécutant la commande suivante :
sc query observiq-otel-collectorLe service doit s'afficher comme étant EN COURS D'EXÉCUTION.
Installation sous Linux
- Ouvrez un terminal avec des droits d'accès racine ou sudo.
Exécutez la commande suivante :
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shAttendez la fin de l'installation.
Vérifiez l'installation en exécutant la commande suivante :
sudo systemctl status observiq-otel-collectorLe service doit s'afficher comme actif (en cours d'exécution).
Autres ressources d'installation
Pour obtenir d'autres options d'installation et de dépannage, consultez le guide d'installation de l'agent Bindplane.
Configurer l'agent Bindplane pour ingérer les journaux Syslog et les envoyer à Google SecOps
Localiser le fichier de configuration
Linux :
sudo nano /opt/observiq-otel-collector/config.yamlWindows :
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Modifiez le fichier de configuration
Remplacez l'intégralité du contenu de
config.yamlpar la configuration suivante :receivers: tcplog: listen_address: "0.0.0.0:514" exporters: chronicle/versa_firewall: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' compression: gzip creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json' customer_id: '<customer_id>' endpoint: chronicle.googleapis.com log_type: VERSA_FIREWALL raw_log_field: body service: pipelines: logs/versa_firewall_to_chronicle: receivers: - tcplog exporters: - chronicle/versa_firewall
Paramètres de configuration
Remplacez les espaces réservés suivants :
Configuration du récepteur :
listen_address: adresse IP et port à écouter :0.0.0.0pour écouter sur toutes les interfaces (recommandé)- Le port
514est le port syslog standard (nécessite un accès racine sous Linux ; utilisez1514pour un accès non racine). - Versa utilise le transport TCP. Un récepteur
tcplogest donc requis.
Configuration de l'exportateur :
creds_file_path: chemin d'accès complet au fichier de clé JSON du compte de service (option 1) :- Linux :
/opt/observiq-otel-collector/ingestion-auth.json - Windows :
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux :
customer_id: ID client copié depuis la console Google SecOpslocation: remplacez<LOCATION>par la région de votre instance Google SecOps (par exemple,us,europeouasia-southeast1). L'exportateur préfixechronicle.googleapis.comavec cette valeur. Pour obtenir la liste complète, consultez Points de terminaison régionaux.project: remplacez<PROJECT_NUMBER>par le numéro de projet dans IAM et administration > Paramètres.endpoint: laissez la valeur définie surchronicle.googleapis.com.
Ancien exportateur d'API d'ingestion
Si vous utilisez le fichier d'authentification d'ingestion de l'option 2, remplacez le bloc
exporterspar ce qui suit. Définissezcreds_file_pathsur le chemin d'accès au fichier d'authentification d'ingestion. Si votre instance se trouve en dehors des États-Unis, remplacezmalachiteingestion-pa.googleapis.compar votre point de terminaison régional (par exemple,europe-malachiteingestion-pa.googleapis.com).exporters: chronicle/versa_firewall: compression: gzip creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: VERSA_FIREWALL raw_log_field: body
Enregistrez le fichier de configuration.
- Après avoir modifié le fichier, enregistrez-le :
- Linux : appuyez sur
Ctrl+O, puis surEnter, puis surCtrl+X. - Windows : cliquez sur Fichier > Enregistrer.
- Linux : appuyez sur
Redémarrez l'agent Bindplane pour appliquer les modifications.
Pour redémarrer l'agent BindPlane sous Linux, exécutez la commande suivante :
sudo systemctl restart observiq-otel-collectorVérifiez que le service est en cours d'exécution :
sudo systemctl status observiq-otel-collectorRecherchez les erreurs dans les journaux :
sudo journalctl -u observiq-otel-collector -f
Pour redémarrer l'agent BindPlane sous Windows, choisissez l'une des options suivantes :
Invite de commande ou PowerShell en tant qu'administrateur :
net stop observiq-otel-collector && net start observiq-otel-collectorConsole Services :
- Appuyez sur
Win+R, saisissezservices.msc, puis appuyez sur Entrée. - Recherchez observIQ OpenTelemetry Collector.
- Effectuez un clic droit, puis sélectionnez Redémarrer.
Vérifiez que le service est en cours d'exécution :
sc query observiq-otel-collectorRecherchez les erreurs dans les journaux :
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Appuyez sur
Configurer Versa Networks SASE
Les administrateurs doivent configurer des collecteurs distants sur chaque nœud Versa Analytics pour transférer les journaux vers des systèmes tiers.
Activer le transfert de journaux
- Connectez-vous au serveur d'analyse Versa.
- Accédez à la CLI en exécutant la commande
cli. - Passez en mode Configuration en exécutant la commande
configure, puis saisissezload merge terminal. Copiez et collez les commandes suivantes pour configurer le transfert de journaux (remplacez
<collector_ip>et<collector_port>par l'adresse IP et le port de votre collecteur syslog) :set system analytics log-collector-exporter destination-address <collector_ip> set system analytics log-collector-exporter destination-port <collector_port> set system analytics log-collector-exporter transport tcp set system analytics log-collector-exporter log-types firewall-log set system analytics log-collector-exporter log-types threat-log commitEnregistrez la configuration :
save
Activer la journalisation des ID de session
Pour consigner les informations liées aux adresses IP, activez la journalisation des ID de session :
- Connectez-vous à Versa Director.
- Passez à la vue Réalisateur.
- Accédez à Configuration> Devices> Tenant> Device (Configuration > Appareils > Locataire > Appareil) pour accéder à Appliance View (Vue de l'appareil).
- Sélectionnez Configuration > Others > System > Configuration > Configuration (Configuration > Autres > Système > Configuration > Configuration).
- Dans le volet Paramètres, cliquez sur Modifier.
- Dans la fenêtre Modifier les paramètres, sélectionnez LEF.
- Dans la section Pare-feu, cochez la case Inclure la journalisation des ID de session.
Cliquez sur OK.
Table de mappage UDM
| Champ du journal | Mappage UDM | Logique |
|---|---|---|
accCkt |
additional.fields[].key: "accCkt"additional.fields[].value.string_value: accCkt |
Valeur extraite directement du champ accCkt. |
accCktId |
additional.fields[].key: "accCktId"additional.fields[].value.string_value: accCktId |
Valeur extraite directement du champ accCktId. |
accCktName |
additional.fields[].key: "accCktName"additional.fields[].value.string_value: accCktName |
Valeur extraite directement du champ accCktName. |
accessType |
additional.fields[].key: "accessType"additional.fields[].value.string_value: accessType |
Valeur extraite directement du champ accessType. |
action |
security_result.action : action |
Si action, type, idpAction, avAction ou urlAction sont définis sur "allow", alors ALLOW. Si action, type, idpAction, avAction ou urlAction sont définis sur "reject", "drop", "block" ou "deny", alors BLOCK. Si idpAction est différent, UNKNOWN_ACTION. |
alarmCause |
security_result.detection_fields[].key: "alarmCause"security_result.detection_fields[].value: alarmCause |
Valeur extraite directement du champ alarmCause. |
alarmClass |
security_result.detection_fields[].key: "alarmClass"security_result.detection_fields[].value: alarmClass |
Valeur extraite directement du champ alarmClass. |
alarmClearable |
security_result.detection_fields[].key: "alarmClearable"security_result.detection_fields[].value: alarmClearable |
Valeur extraite directement du champ alarmClearable. |
alarmEventType |
metadata.product_event_type : alarmEventType |
Valeur extraite directement du champ alarmEventType. |
alarmKey |
security_result.detection_fields[].key: "alarmKey"security_result.detection_fields[].value: alarmKey |
Valeur extraite directement du champ alarmKey. |
alarmKind |
security_result.detection_fields[].key: "alarmKind"security_result.detection_fields[].value: alarmKind |
Valeur extraite directement du champ alarmKind. |
alarmOwner |
security_result.detection_fields[].key: "alarmOwner"security_result.detection_fields[].value: alarmOwner |
Valeur extraite directement du champ alarmOwner. |
alarmSeqNo |
security_result.detection_fields[].key: "alarmSeqNo"security_result.detection_fields[].value: alarmSeqNo |
Valeur extraite directement du champ alarmSeqNo. |
alarmSeverity |
security_result.severity_details : alarmSeverity |
Valeur extraite directement du champ alarmSeverity. |
alarmText |
security_result.summary : alarmText |
Valeur extraite directement du champ alarmText, sans les guillemets. |
alarmType |
security_result.description : alarmType |
Valeur extraite directement du champ alarmType. |
appFamily |
metadata.product_event_type: appFamilysecurity_result.detection_fields[].key: "appFamily"security_result.detection_fields[].value: appFamily |
Valeur extraite directement du champ appFamily. |
appId |
security_result.detection_fields[].key: "ID d'application"security_result.detection_fields[].value: appId |
Valeur extraite directement du champ appId. |
appIdStr |
security_result.detection_fields[].key: "appIdStr"security_result.detection_fields[].value: appIdStr |
Valeur extraite directement du champ appIdStr. |
applianceName |
principal.hostname : applianceName |
Valeur extraite directement du champ applianceName, siteName ou site. |
appProductivity |
security_result.detection_fields[].key: "appProductivity"security_result.detection_fields[].value: appProductivity |
Valeur extraite directement du champ appProductivity. |
appRisk |
security_result.severity_details : appRisk |
Valeur extraite directement du champ appRisk. |
appSubFamily |
security_result.detection_fields[].key: "appSubFamily"security_result.detection_fields[].value: appSubFamily |
Valeur extraite directement du champ appSubFamily. |
avAccuracy |
additional.fields[].key: "avAccuracy"additional.fields[].value.string_value: avAccuracy |
Valeur extraite directement du champ avAccuracy. |
avAction |
security_result.action : avAction |
Pour en savoir plus sur la logique, consultez action. |
avMalwareName |
security_result.threat_name : avMalwareName |
Valeur extraite directement du champ avMalwareName. |
avMalwareType |
security_result.category_details : avMalwareType |
Valeur extraite directement du champ avMalwareType. |
classMsg |
security_result.description : classMsg |
Valeur extraite directement du champ classMsg, sans les guillemets. |
clientIPv4Address |
target.ip : clientIPv4Address |
Valeur extraite directement du champ clientIPv4Address. |
destIp |
target.ip : destIpdestinationIPv4Address : destIp |
Valeur extraite directement du champ destIp. |
destinationIPv4Address |
target.ip : destinationIPv4Address |
Valeur extraite directement du champ destinationIPv4Address ou dérivée du champ networkPrefix. |
destinationIPv6Address |
target.ip : destinationIPv6Address |
Valeur extraite directement du champ destinationIPv6Address. |
destinationPort |
target.port : destinationPort |
Valeur extraite directement du champ destinationPort et convertie en entier. |
destinationTransportPort |
target.port : destinationTransportPort |
Valeur extraite directement du champ destinationTransportPort et convertie en entier. |
deviceKey |
about.resource.attribute.labels[].key: "deviceKey"about.resource.attribute.labels[].value: deviceKey |
Valeur extraite directement du champ deviceKey si elle n'est pas "Inconnu". |
deviceName |
about.resource.attribute.labels[].key: "deviceName"about.resource.attribute.labels[].value: deviceName |
Valeur extraite directement du champ deviceName si elle n'est pas "Inconnu". |
duration |
network.session_duration.seconds : duration |
Valeur extraite directement du champ duration et convertie en entier. |
egressInterfaceName |
additional.fields[].key: "egressInterfaceName"additional.fields[].value.string_value: egressInterfaceName |
Valeur extraite directement du champ egressInterfaceName. |
event.type |
metadata.event_type : event.type |
Si applianceName (ou sourceIPv4Address, user ou sourceIPv6Address) et destinationIPv4Address (ou remoteSite, destinationIPv6Address, clientIPv4Address ou hostname) sont présents, alors NETWORK_CONNECTION. Sinon, STATUS_UPDATE. Si applianceName est vide, GENERIC_EVENT. |
eventType |
principal.resource.attribute.labels[].key: "eventType"principal.resource.attribute.labels[].value: eventType |
Valeur extraite directement du champ eventType. |
family |
security_result.detection_fields[].key: "family"security_result.detection_fields[].value: family |
Valeur extraite directement du champ family. |
fc |
security_result.detection_fields[].key: "ForwardingClass"security_result.detection_fields[].value: fc |
Valeur extraite directement du champ fc. |
fileTransDir |
additional.fields[].key: "fileTransDir"additional.fields[].value.string_value: fileTransDir |
Valeur extraite directement du champ fileTransDir. |
filename |
target.file.names : filename |
Valeur extraite directement du champ filename. |
flowCookie |
metadata.collected_timestamp : flowCookie |
Valeur extraite directement du champ flowCookie et convertie en code temporel au format UNIX. |
flowId |
principal.resource.product_object_id : flowId |
Valeur extraite directement du champ flowId. |
forwardForwardingClass |
security_result.detection_fields[].key: "forwardForwardingClass"security_result.detection_fields[].value: forwardForwardingClass |
Valeur extraite directement du champ forwardForwardingClass. |
fromCountry |
principal.location.country_or_region : fromCountrytarget.location.country_or_region : fromCountry |
Valeur extraite directement du champ fromCountry. |
fromUser |
principal.user.userid : fromUser |
Valeur extraite directement du champ fromUser s'il n'est pas vide, "unknown" ou "Unknown". |
fromZone |
additional.fields[].key: "fromZone"additional.fields[].value.string_value: fromZone |
Valeur extraite directement du champ fromZone. |
generateTime |
metadata.collected_timestamp : generateTime |
Valeur extraite directement du champ generateTime et convertie en code temporel au format UNIX. |
hostname |
target.hostname : hostname |
Valeur extraite directement du champ hostname. |
httpUrl |
target.url : httpUrl |
Valeur extraite directement du champ httpUrl. |
icmpTypeIPv4 |
additional.fields[].key: "icmpTypeIPv4"additional.fields[].value.string_value: icmpTypeIPv4 |
Valeur extraite directement du champ icmpTypeIPv4. |
idpAction |
security_result.action : idpAction |
Pour en savoir plus sur la logique, consultez action. |
ingressInterfaceName |
additional.fields[].key: "ingressInterfaceName"additional.fields[].value.string_value: ingressInterfaceName |
Valeur extraite directement du champ ingressInterfaceName. |
ipsApplication |
additional.fields[].key: "ipsApplication"additional.fields[].value.string_value: ipsApplication |
Valeur extraite directement du champ ipsApplication. |
ipsDirection |
security_result.detection_fields[].key: "ipsDirection"security_result.detection_fields[].value: ipsDirection |
Valeur extraite directement du champ ipsDirection. |
ipsProfile |
security_result.detection_fields[].key: "ipsProfile"security_result.detection_fields[].value: ipsProfile |
Valeur extraite directement du champ ipsProfile. |
ipsProfileRule |
security_result.rule_name : ipsProfileRule |
Valeur extraite directement du champ ipsProfileRule. |
ipsProtocol |
network.ip_protocol : ipsProtocol |
Valeur extraite directement du champ ipsProtocol. |
log_type |
metadata.description : log_typemetadata.log_type : log_type |
Valeur extraite directement du champ log_type. |
mstatsTimeBlock |
metadata.collected_timestamp : mstatsTimeBlock |
Valeur extraite directement du champ mstatsTimeBlock et convertie en code temporel au format UNIX. |
mstatsTotRecvdOctets |
network.received_bytes : mstatsTotRecvdOctets |
Valeur extraite directement du champ mstatsTotRecvdOctets et convertie en entier non signé. |
mstatsTotSentOctets |
network.sent_bytes : mstatsTotSentOctets |
Valeur extraite directement du champ mstatsTotSentOctets et convertie en entier non signé. |
mstatsTotSessCount |
additional.fields[].key: "mstatsTotSessCount"additional.fields[].value.string_value: mstatsTotSessCount |
Valeur extraite directement du champ mstatsTotSessCount. |
mstatsTotSessDuration |
network.session_duration.seconds : mstatsTotSessDuration |
Valeur extraite directement du champ mstatsTotSessDuration et convertie en entier. |
mstatsType |
security_result.category_details : mstatsType |
Valeur extraite directement du champ mstatsType. |
networkPrefix |
target.ip : networkPrefixtarget.port : networkPrefix |
Adresse IP extraite du champ networkPrefix. Port extrait du champ networkPrefix et converti en entier. |
protocolIdentifier |
network.ip_protocol : protocolIdentifier |
Valeur extraite directement du champ protocolIdentifier, convertie en entier et mappée au nom du protocole IP à l'aide d'une recherche. |
recvdOctets |
network.received_bytes : recvdOctets |
Valeur extraite directement du champ recvdOctets et convertie en entier non signé. |
recvdPackets |
network.received_packets : recvdPackets |
Valeur extraite directement du champ recvdPackets et convertie en entier. |
remoteSite |
target.hostname : remoteSite |
Valeur extraite directement du champ remoteSite. |
reverseForwardingClass |
security_result.detection_fields[].key: "reverseForwardingClass"security_result.detection_fields[].value: reverseForwardingClass |
Valeur extraite directement du champ reverseForwardingClass. |
risk |
security_result.risk_score : risk |
Valeur extraite directement du champ risk et convertie en float. |
rule |
security_result.rule_name : rule |
Valeur extraite directement du champ rule. |
sentOctets |
network.sent_bytes : sentOctets |
Valeur extraite directement du champ sentOctets et convertie en entier non signé. |
sentPackets |
network.sent_packets : sentPackets |
Valeur extraite directement du champ sentPackets et convertie en entier. |
serialNum |
security_result.detection_fields[].key: "serialNum"security_result.detection_fields[].value: serialNum |
Valeur extraite directement du champ serialNum. |
signatureId |
security_result.detection_fields[].key: "signatureID"security_result.detection_fields[].value: signatureId |
Valeur extraite directement du champ signatureId. |
signatureMsg |
security_result.detection_fields[].key: "signatureMsg"security_result.detection_fields[].value: signatureMsg |
Valeur extraite directement du champ signatureMsg. |
signaturePriority |
security_result.severity : signaturePriority |
Si signaturePriority est défini sur "low" (non sensible à la casse), alors LOW. Si signaturePriority est "medium" (non sensible à la casse), alors MEDIUM. Si signaturePriority est "high" (non sensible à la casse), alors HIGH. |
site |
principal.hostname : siteapplianceName : site |
Valeur extraite directement du champ site. |
siteId |
additional.fields[].key: "siteId"additional.fields[].value.string_value: siteId |
Valeur extraite directement du champ siteId. |
siteName |
principal.hostname : siteNameapplianceName : siteName |
Valeur extraite directement du champ siteName. |
sourceIPv4Address |
principal.ip : sourceIPv4Address |
Valeur extraite directement du champ sourceIPv4Address. |
sourceIPv6Address |
principal.ip : sourceIPv6Address |
Valeur extraite directement du champ sourceIPv6Address. |
sourcePort |
principal.port : sourcePort |
Valeur extraite directement du champ sourcePort et convertie en entier. |
sourceTransportPort |
principal.port : sourceTransportPort |
Valeur extraite directement du champ sourceTransportPort et convertie en entier. |
subFamily |
security_result.detection_fields[].key: "subFamily"security_result.detection_fields[].value: subFamily |
Valeur extraite directement du champ subFamily. |
tcpConnAborted |
additional.fields[].key: "tcpConnAborted"additional.fields[].value.string_value: tcpConnAborted |
Valeur extraite directement du champ tcpConnAborted si elle n'est pas vide ou égale à "0". |
tcpConnRefused |
additional.fields[].key: "tcpConnRefused"additional.fields[].value.string_value: tcpConnRefused |
Valeur extraite directement du champ tcpConnRefused s'il n'est pas vide ou s'il n'est pas défini sur "0". |
tcpPktsFwd |
network.sent_packets : tcpPktsFwd |
Valeur extraite directement du champ tcpPktsFwd et convertie en entier. |
tcpPktsRev |
network.received_packets : tcpPktsRev |
Valeur extraite directement du champ tcpPktsRev et convertie en entier. |
tcpReXmitFwd |
additional.fields[].key: "tcpReXmitFwd"additional.fields[].value.string_value: tcpReXmitFwd |
Valeur extraite directement du champ tcpReXmitFwd s'il n'est pas vide ou s'il n'est pas défini sur "0". |
tcpReXmitRev |
additional.fields[].key: "tcpReXmitRev"additional.fields[].value.string_value: tcpReXmitRev |
Valeur extraite directement du champ tcpReXmitRev s'il n'est pas vide ou s'il n'est pas défini sur "0". |
tcpSAA |
additional.fields[].key: "tcpSAA"additional.fields[].value.string_value: tcpSAA |
Valeur extraite directement du champ tcpSAA s'il n'est pas vide ou s'il n'est pas défini sur "0". |
tcpSSA |
additional.fields[].key: "tcpSSA"additional.fields[].value.string_value: tcpSSA |
Valeur extraite directement du champ tcpSSA s'il n'est pas vide ou s'il n'est pas défini sur "0". |
tcpSessCnt |
additional.fields[].key: "tcpSessCnt"additional.fields[].value.string_value: tcpSessCnt |
Valeur extraite directement du champ tcpSessCnt. |
tcpSessDur |
network.session_duration.seconds : tcpSessDur |
Valeur extraite directement du champ tcpSessDur et convertie en entier. |
tcpSynAckReXmit |
additional.fields[].key: "tcpSynAckReXmit"additional.fields[].value.string_value: tcpSynAckReXmit |
Valeur extraite directement du champ tcpSynAckReXmit s'il n'est pas vide ou s'il n'est pas défini sur "0". |
tcpSynReXmit |
additional.fields[].key: "tcpSynReXmit"additional.fields[].value.string_value: tcpSynReXmit |
Valeur extraite directement du champ tcpSynReXmit s'il n'est pas vide ou s'il n'est pas défini sur "0". |
tcpTWHS |
additional.fields[].key: "tcpTWHS"additional.fields[].value.string_value: tcpTWHS |
Valeur extraite directement du champ tcpTWHS s'il n'est pas vide ou s'il n'est pas défini sur "0". |
tenantId |
principal.resource.attribute.labels[].key: "tenantId"principal.resource.attribute.labels[].value: tenantId |
Valeur extraite directement du champ tenantId. |
tenantName |
observer.hostname : tenantName |
Valeur extraite directement du champ tenantName. |
threatType |
security_result.detection_fields[].key: "threatType"security_result.detection_fields[].value: threatType |
Valeur extraite directement du champ threatType. |
toCountry |
target.location.country_or_region : toCountry |
Valeur extraite directement du champ toCountry. |
toZone |
additional.fields[].key: "toZone"additional.fields[].value.string_value: toZone |
Valeur extraite directement du champ toZone. |
traffType |
additional.fields[].key: "traffType"additional.fields[].value.string_value: traffType |
Valeur extraite directement du champ traffType. |
ts |
metadata.event_timestamp : ts |
Valeur extraite directement du champ ts et convertie en code temporel. |
type |
security_result.action : type |
Pour en savoir plus sur la logique, consultez action. |
urlAction |
security_result.action : urlAction |
Pour en savoir plus sur la logique, consultez action. |
urlActionMessage |
security_result.summary : urlActionMessage |
Valeur extraite directement du champ urlActionMessage. |
urlCategory |
principal.resource.attribute.labels[].key: "urlCategory"principal.resource.attribute.labels[].value: urlCategory |
Valeur extraite directement du champ urlCategory. |
urlProfile |
additional.fields[].key: "urlProfile"additional.fields[].value.string_value: urlProfile |
Valeur extraite directement du champ urlProfile. |
urlReputation |
security_result.severity_details : urlReputation |
Valeur extraite directement du champ urlReputation. |
user |
principal.ip : user |
Valeur extraite directement du champ user. |
vsnId |
principal.resource.attribute.labels[].key: "vsnId"principal.resource.attribute.labels[].value: vsnId |
Valeur extraite directement du champ vsnId. Valeur codée en dur. Valeur codée en dur. |
applianceName |
event.idm.read_only_udm.intermediary.hostname |
Mappé à partir du journal des modifications |
postNATSourceIPv4Address |
event.idm.read_only_udm.principal.nat_ip |
Mappé à partir du journal des modifications |
postNATDestinationIPv4Address |
event.idm.read_only_udm.target.nat_ip |
Mappé à partir du journal des modifications |
postNAPTsourceTransportPort |
event.idm.read_only_udm.principal.nat_port |
Mappé à partir du journal des modifications |
postNAPTdestinationTransportPort |
event.idm.read_only_udm.target.nat_port |
Mappé à partir du journal des modifications |
natRuleName |
event.idm.read_only_udm.security_result.rule_name |
Mappé à partir du journal des modifications |
natEvent |
event.idm.read_only_udm.metadata.product_event_type |
Mappé à partir du journal des modifications |
log_type |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
flowCookie |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
flowId |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
sourceNatPoolName |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
destNatPoolName |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
deviceKey |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
deviceName |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
observationTimeMilliseconds |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
threatSeverity |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
dnsfBadCname |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
dnsfEvType |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
dnsfDomain |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
dnsfMsgType |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
dnsfProfileName |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
dnsfIpReputation |
event.idm.read_only_udm.security_result.category_details |
Mappé à partir du journal des modifications |
dnsfAction |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
HitCount |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
groupId |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
signatureRev |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
packetTime |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
moduleId |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
dnsfBadResolvedV4Addr |
event.idm.read_only_udm.target.ip et event.idm.read_only_udm.target.asset.ip |
Mappé à partir du journal des modifications |
dnsfIpGeoLocation |
event.idm.read_only_udm.target.location.country_or_region |
Mappé à partir du journal des modifications |
sourceIPv4Address |
event.idm.read_only_udm.metadata.description |
Mappé à partir du journal des modifications |
destinationIPv4Address |
event.idm.read_only_udm.metadata.description |
Mappé à partir du journal des modifications |
host |
event.idm.read_only_udm.target.hostname |
Mappé à partir du journal des modifications |
eipProfileName |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
traffScope |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
srcSGT |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
destSGT |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
ucsBand |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
ucsReason |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
urlLookupSrc |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
protocolInfo |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
ecsBand |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
ecsReason |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
appAuth |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
ucsScore |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
policyActionName |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
policyActionModule |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
ecsScore |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
applianceId |
event.idm.read_only_udm.intermediary.asset.product_object_id |
Mappé à partir du journal des modifications |
inter_hostname |
event.idm.ready_only_udm.intermediary.hostname |
Mappé à partir du journal des modifications |
Journal des modifications
Afficher le journal des modifications de cet analyseur
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.