Collecter les journaux Microsoft IIS
Ce document explique comment ingérer des journaux Microsoft Internet Information Services (IIS) dans Google Security Operations à l'aide de l'agent Bindplane.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Une instance Google SecOps
- Windows Server 2016 ou version ultérieure avec IIS installé
- Accès administrateur au serveur IIS
- Si vous exécutez l'agent derrière un proxy, assurez-vous que les ports de pare-feu sont ouverts conformément aux exigences de l'agent BindPlane.
Obtenir des 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).
- Anciens déploiements : continuez à utiliser le fichier d'authentification d'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 configurer l'exportateur.
Option 2 : Télécharger le fichier d'authentification d'ingestion (ancien)
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres > Gestion des données > Agents de collecte. Si vous utilisez une plate-forme SIEM uniquement, accédez à Paramètres > 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 où l'agent BindPlane sera installé.
Obtenir le numéro client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres > Administration > Profil. Si vous utilisez une plate-forme SIEM uniquement, accédez à Paramètres > Profil.
- Copiez et enregistrez le numéro client de la section Détails de l'organisation.
Configurer la journalisation étendue IIS W3C
Vous devez activer les champs W3C appropriés dans le gestionnaire IIS pour que Google SecOps puisse analyser correctement vos journaux et que les détections fonctionnent de manière fiable.
Ouvrez le gestionnaire IIS.
- Cliquez sur Démarrer.
- Saisissez
inetmgret appuyez sur Entrée. - La fenêtre Internet Information Services (IIS) Manager s'ouvre.
Autre méthode :
- Appuyez sur Windows+R.
- Saisissez
inetmgret appuyez sur Entrée.
Accéder à la configuration de la journalisation
- Dans le volet Connexions (à gauche), développez le nom de votre serveur.
- Pour configurer la journalisation à l'échelle du serveur (recommandé) :
- Cliquez sur le nom du serveur au niveau racine.
- Pour configurer la journalisation spécifique à un site :
- Développez Sites > cliquez sur le site spécifique (par exemple, Default Web Site).
- Dans la vue des fonctionnalités (volet central), double-cliquez sur Journalisation.
Sélectionnez "W3C Extended Log Format" (Format de journal étendu W3C).
- Sur la page Journalisation, dans la section Fichier journal :
- Dans la liste déroulante Format, sélectionnez W3C.
- Cliquez sur le bouton Sélectionner des champs.
Configurer les champs de journalisation W3C
Dans la boîte de dialogue Champs de journalisation W3C, sélectionnez les champs en fonction de l'UN des modèles suivants :
Modèle 1 : Contexte complet du site avec chaîne de requête et octets
Activez ces champs dans l'ordre exact suivant :
- Date (date)
- Time (heure)
- Nom du service (s-sitename)
- Adresse IP du serveur (s-ip)
- Méthode (cs-method)
- URI Stem (cs-uri-stem)
- Requête d'URI (cs-uri-query)
- Port du serveur (s-port)
- Nom d'utilisateur (cs-username)
- Adresse IP du client (c-ip)
- User-agent (cs(User-Agent))
- Référent (cs(Referer))
- État du protocole (sc-status)
- Octets envoyés (sc-bytes)
- Octets reçus (cs-bytes)
Utilisez ce modèle lorsque votre format en aval inclut le contexte du site et la chaîne de requête, que vous avez besoin des octets envoyés/reçus et que votre pipeline attend les colonnes "username" et "referer" (même si les valeurs sont -).
Modèle 2 : basique avec sous-état, état Win32 et performances (sans URL de provenance)
Activez ces champs dans l'ordre exact suivant :
- Date (date)
- Time (heure)
- Adresse IP du serveur (s-ip)
- Méthode (cs-method)
- URI Stem (cs-uri-stem)
- Requête d'URI (cs-uri-query)
- Port du serveur (s-port)
- Nom d'utilisateur (cs-username)
- Adresse IP du client (c-ip)
- User-agent (cs(User-Agent))
- État du protocole (sc-status)
- Sous-état du protocole (sc-substatus)
- État Win32 (sc-win32-status)
- Temps passé (time-taken)
Utilisez ce modèle lorsque votre pipeline n'inclut pas de référent, mais que vous avez besoin de codes d'erreur détaillés et de la latence (time-taken).
Modèle 3 : de base avec sous-état, état Win32 et performances (avec l'URL de provenance)
Activez ces champs dans l'ordre exact suivant :
- Date (date)
- Time (heure)
- Adresse IP du serveur (s-ip)
- Méthode (cs-method)
- URI Stem (cs-uri-stem)
- Requête d'URI (cs-uri-query)
- Port du serveur (s-port)
- Nom d'utilisateur (cs-username)
- Adresse IP du client (c-ip)
- User-agent (cs(User-Agent))
- Référent (cs(Referer))
- État du protocole (sc-status)
- Sous-état du protocole (sc-substatus)
- État Win32 (sc-win32-status)
- Temps passé (time-taken)
Utilisez ce modèle lorsque : identique au modèle 2, mais votre pipeline inclut "Referer" en tant que colonne dédiée.
Modèle 4 : Sensible à la version du protocole/TLS avec l'URL de provenance et les performances
Activez ces champs dans l'ordre exact suivant :
- Date (date)
- Time (heure)
- Adresse IP du serveur (s-ip)
- Méthode (cs-method)
- URI Stem (cs-uri-stem)
- Requête d'URI (cs-uri-query)
- Port client (c-port)
- Nom d'utilisateur (cs-username)
- Adresse IP du client (c-ip)
- Version du protocole (cs-version)
- User-agent (cs(User-Agent))
- Référent (cs(Referer))
- État du protocole (sc-status)
- Sous-état du protocole (sc-substatus)
- État Win32 (sc-win32-status)
- Temps passé (time-taken)
Utilisez ce modèle lorsque votre format en aval consigne explicitement cs-version (par exemple, HTTP/1.1) et inclut la durée, et que vous disposez également du port client dans une colonne dédiée.
Modèle 5 : TLS/Protocol-Version Aware avec Referrer (No Performance)
Activez ces champs dans l'ordre exact suivant :
- Date (date)
- Time (heure)
- Adresse IP du serveur (s-ip)
- Méthode (cs-method)
- URI Stem (cs-uri-stem)
- Requête d'URI (cs-uri-query)
- Port client (c-port)
- Nom d'utilisateur (cs-username)
- Adresse IP du client (c-ip)
- Version du protocole (cs-version)
- User-agent (cs(User-Agent))
- Référent (cs(Referer))
- État du protocole (sc-status)
- Sous-état du protocole (sc-substatus)
- État Win32 (sc-win32-status)
Utilisez ce modèle lorsque : identique au modèle 4, mais votre pipeline n'inclut pas time-taken.
Modèle 6 : avec cookie et référent (sans performances, sans octets)
Activez ces champs dans l'ordre exact suivant :
- Date (date)
- Time (heure)
- Adresse IP du serveur (s-ip)
- Méthode (cs-method)
- URI Stem (cs-uri-stem)
- Requête d'URI (cs-uri-query)
- Port client (c-port)
- Nom d'utilisateur (cs-username)
- Adresse IP du client (c-ip)
- User-agent (cs(User-Agent))
- Cookie (cs(Cookie))
- Référent (cs(Referer))
- État du protocole (sc-status)
- Sous-état du protocole (sc-substatus)
- État Win32 (sc-win32-status)
Utilisez ce modèle lorsque votre format en aval attend à la fois les colonnes "Cookie" et "Referer".
Modèle 7 : Minimal avec Referer (sans cookie, sans performances, sans octets)
Activez ces champs dans l'ordre exact suivant :
- Date (date)
- Time (heure)
- Adresse IP du serveur (s-ip)
- Méthode (cs-method)
- URI Stem (cs-uri-stem)
- Requête d'URI (cs-uri-query)
- Port client (c-port)
- Nom d'utilisateur (cs-username)
- Adresse IP du client (c-ip)
- User-agent (cs(User-Agent))
- Référent (cs(Referer))
- État du protocole (sc-status)
- Sous-état du protocole (sc-substatus)
- État Win32 (sc-win32-status)
Utilisez ce modèle lorsque votre format en aval inclut "Referer", mais pas "Cookie", "time" ou "bytes".
Modèle 8 : Minimal sans Referer (sans cookie, sans performances, sans octets)
Activez ces champs dans l'ordre exact suivant :
- Date (date)
- Time (heure)
- Adresse IP du serveur (s-ip)
- Méthode (cs-method)
- URI Stem (cs-uri-stem)
- Requête d'URI (cs-uri-query)
- Port client (c-port)
- Nom d'utilisateur (cs-username)
- Adresse IP du client (c-ip)
- User-agent (cs(User-Agent))
- État du protocole (sc-status)
- Sous-état du protocole (sc-substatus)
- État Win32 (sc-win32-status)
Utilisez ce modèle lorsque votre format en aval n'inclut pas de référent et que vous n'avez besoin que du contexte de la requête principale et des codes d'état.
N'activez PAS les champs de plusieurs modèles. L'analyseur attend l'une de ces configurations exactes.
Appliquer la configuration
- Cliquez sur OK pour fermer la boîte de dialogue W3C Logging Fields (Champs de journalisation W3C).
- Vérifiez le chemin d'accès au répertoire dans lequel les journaux seront écrits.
- Valeur par défaut :
%SystemDrive%\inetpub\logs\LogFiles
- Valeur par défaut :
- Sous Log File Rollover (Rotation des fichiers journaux), sélectionnez Daily (Quotidien) (recommandé pour l'ingestion Google SecOps).
- Cliquez sur Appliquer dans le volet Actions (à droite).
Vérifier la journalisation IIS
Après avoir configuré les champs W3C, vérifiez qu'IIS écrit correctement les journaux :
- Générez du trafic test vers votre site IIS en ouvrant une page Web dans un navigateur.
- Accédez au répertoire du journal :
C:\inetpub\logs\LogFiles\W3SVC1\- Remarque :
W3SVC1correspond au premier site (Default Web Site). Pour les autres sites, le nom du dossier seraW3SVC2,W3SVC3, etc.
- Remarque :
- Ouvrez le fichier journal le plus récent (par exemple,
u_ex251217.log) dans le Bloc-notes. - Vérifiez que la ligne
#Fields:contient tous les champs que vous avez activés, dans l'ordre exact du format choisi.
Exemple pour le modèle 3
Si vous avez configuré le modèle 3 (Basic avec sous-état, état Win32 et performances avec l'URL de provenance), la ligne
#Fields:doit être la suivante :#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-takenExemple d'entrée de journal :
2025-12-17 14:23:15 192.168.1.10 GET /index.html - 80 - 203.0.113.45 Mozilla/5.0+(Windows+NT+10.0) https://example.com/previous.html 200 0 0 125
Remarques importantes :
- Les champs vides sont représentés par un trait d'union (
-). - L'ordre des champs doit correspondre exactement à l'en-tête
#Fields:. - L'analyseur échouera si des champs sont manquants, réorganisés ou proviennent de plusieurs modèles.
Installer l'agent BindPlane
Installez l'agent Bindplane sur votre serveur Windows en suivant les instructions ci-dessous.
Installation de Windows
- Ouvrez l'invite de commande 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" /quiet
Ressources d'installation supplémentaires
Pour connaître les autres options d'installation, consultez le guide d'installation de l'agent BindPlane.
Configurer l'agent Bindplane pour ingérer les journaux IIS et les envoyer à Google SecOps
Modifiez le fichier de configuration
- Trouvez le fichier
config.yaml.- Chemin par défaut :
C:\Program Files\observIQ OpenTelemetry Collector\config.yaml
- Chemin par défaut :
- Ouvrez le fichier en tant qu'administrateur à l'aide d'un éditeur de texte (par exemple, Notepad, VS Code ou Notepad++).
Remplacez l'intégralité du contenu par la configuration suivante :
receivers: iis: collection_interval: 60s processors: resourcedetection: detectors: ["system"] system: hostname_sources: ["os"] normalizesums: batch: exporters: chronicle/iis: 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 endpoint: chronicle.googleapis.com creds: 'C:\SecOps\ingestion-auth.json' log_type: 'IIS' override_log_type: false raw_log_field: body customer_id: '<CUSTOMER_ID>' service: pipelines: logs/iis: receivers: - iis processors: - resourcedetection - normalizesums - batch exporters: - chronicle/iis
Mettre à jour les valeurs de configuration
Remplacez les espaces réservés suivants :
creds:: chemin d'accès au fichier de clé JSON de votre compte de service (option 1) (par exemple,C:\SecOps\ingestion-auth.json).location: remplacez<LOCATION>par la région de votre instance Google SecOps (par exemple,us,europeouasia-southeast1). L'exportateur ajoute cette valeur en préfixe àchronicle.googleapis.com. Pour obtenir la liste complète, consultez Points de terminaison régionaux.project: remplacez<PROJECT_NUMBER>par le numéro de projet indiqué dans IAM et administration > Paramètres.endpoint: laissez la valeur définie surchronicle.googleapis.com.customer_id:: votre ID client Google SecOps réel, que vous avez obtenu dans la section Obtenir l'ID client Google SecOps.
Ancien exportateur d'API d'ingestion
Si vous utilisez le fichier d'authentification d'ingestion de l'option 2, remplacez le bloc
exporterspar le code suivant. Définissezcredssur 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/iis: compression: gzip endpoint: malachiteingestion-pa.googleapis.com creds: 'C:\SecOps\ingestion-auth.json' log_type: 'IIS' override_log_type: false raw_log_field: body customer_id: '<CUSTOMER_ID>'
Redémarrez l'agent BindPlane pour appliquer les modifications.
Pour redémarrer l'agent Bindplane sous Windows, vous pouvez utiliser la console Services ou saisir la commande suivante :
net stop observiq-otel-collector && net start observiq-otel-collector
Table de mappage UDM
| Champ du journal | mappage UDM |
|---|---|
@timestamp |
metadata.event_timestamp |
__AntiXsrfToken |
additional.fields |
__type |
additional.fields |
_raw |
security_result.description |
_ResourceId |
target.resource.product_object_id |
_time |
metadata.event_timestamp |
_timestamp |
metadata.event_timestamp |
_version |
metadata.product_version |
AccountName |
additional.fields |
AccountType |
principal.user.attribute.roles.name |
Action |
security_result.action_details |
addr |
additional.fields |
admin_domain |
principal.administrative_domain |
agent.ephemeral_id |
additional.fields |
agent.hostname |
observer.hostname |
agent.name |
observer.hostname |
agent.type |
observer.application,observer.asset.asset_id |
agent.version |
additional.fields |
AgentDevice |
additional.fields |
AgentLogFile |
additional.fields |
AgentLogFormat |
additional.fields |
AgentLogProtocol |
additional.fields |
apparmor |
security_result.action |
ASP.NET_SessionId |
network.session_id |
auid |
additional.fields |
AUID |
additional.fields |
AuthenticationPackageName |
additional.fields |
AzureDeploymentID |
additional.fields |
beanFactory.0 |
additional.fields |
beanFactory.1.shareableResources.0 |
additional.fields |
BU |
additional.fields |
c-ip |
observer.ip,intermediary.ip |
c_ip |
observer.ip,intermediary.ip |
CalloutKey |
security_result.about.resource.attribute.labels |
CalloutName |
security_result.about.resource.attribute.labels |
capability |
security_result.detection_fields |
capname |
security_result.detection_fields |
Category |
security_result.category_details |
change_type |
additional.fields |
ChangeType |
security_result.about.resource.attribute.labels |
Channel |
security_result.about.resource.attribute.labels |
ChannelID |
security_result.about.resource.attribute.labels |
chronicle_tag |
additional.fields |
class |
security_result.detection_fields |
cloud_ray_id |
additional.fields |
comm |
principal.application |
Computer |
target.hostname,target.asset.hostname |
computername |
target.hostname,target.asset.hostname |
Conditions |
security_result.about.resource.attribute.labels |
ConfigPath |
additional.fields |
Configuration |
additional.fields |
Connection_IP |
target.ip,target.asset.ip |
content_type |
additional.fields |
cookie |
additional.fields |
count |
additional.fields |
cribl_breaker |
additional.fields |
cribl_host |
observer.hostname |
cribl_pipe (élément de tableau) |
additional.fields |
cs(Referer) |
network.http.referral_url |
cs(User-Agent) |
network.http.user_agent,network.http.parsed_user_agent |
cs-bytes |
network.received_bytes |
cs-host |
additional.fields |
cs-method |
network.http.method |
cs-uri-query |
target.url |
cs-uri-stem |
target.url |
cs-uri-stem |
target.url |
cs-username (partie du domaine) |
principal.administrative_domain |
cs-username (partie utilisateur) |
principal.user.userid |
cs-version |
network.application_protocol_version |
cs_bytes |
network.received_bytes |
cs_host |
additional.fields |
cs_method |
network.http.method |
cs_referer |
network.http.referral_url |
cs_username |
principal.user.userid |
csbyte |
network.received_bytes |
csBytes |
network.received_bytes |
cshost |
additional.fields |
csip |
principal.ip,principal.asset.ip |
csMethod |
network.http.method |
csmethod |
network.http.method |
csReferer |
network.http.referral_url |
csreferer |
network.http.referral_url |
csUriStem |
target.url |
csUser-Agent |
network.http.user_agent,network.http.parsed_user_agent |
csUserAgent |
network.http.user_agent,network.http.parsed_user_agent |
csuseragent |
network.http.user_agent,network.http.parsed_user_agent |
csusername |
principal.user.userid |
csversion |
network.application_protocol_version |
date |
metadata.event_timestamp |
DC |
additional.fields |
desc |
metadata.description |
description |
security_result.description |
Domain |
principal.administrative_domain |
dst_ip |
target.ip,target.asset.ip |
dst_ip2 |
target.ip,target.asset.ip |
dst_port |
target.port |
duration |
network.session_duration,additional.fields |
duration |
network.session_duration.nanos (si [duration] < 1000) |
duration |
network.session_duration.seconds (si [duration] > 1 000) |
ecs.version |
additional.fields |
EnabledFieldsFlags |
additional.fields |
error_message |
security_result.description |
event.dataset |
additional.fields |
event.module |
additional.fields |
event_data.dataset |
additional.fields |
event_data.module |
additional.fields |
EventEnqueuedUtcTime |
additional.fields |
EventID |
metadata.product_log_id |
EventProcessedUtcTime |
additional.fields |
EventReceivedTime |
metadata.collected_timestamp |
EventRecordID |
principal.asset.product_object_id |
EventTime |
metadata.event_timestamp |
EventType |
metadata.product_event_type |
exe |
principal.file.full_path |
ExecutionProcessID |
principal.process.pid |
ExecutionThreadID |
principal.process.product_specific_process_id |
facility |
additional.fields |
FileOffset |
additional.fields |
fileset.name |
additional.fields |
FileUri |
observer.file.full_path |
filter_action |
security_result.action |
filter_type |
additional.fields |
FilterId |
security_result.about.resource.attribute.labels |
FilterKey |
security_result.about.resource.attribute.labels |
FilterName |
security_result.about.resource.attribute.labels |
FilterType |
security_result.about.resource.attribute.labels |
first_seen |
additional.fields |
Flags |
additional.fields |
For login events |
extensions.auth.type (= "MACHINE") |
ftp_command |
network.ftp.command |
host |
target.hostname,target.asset.hostname |
host.architecture |
target.asset.hardware.cpu_platform |
host.geo.name |
additional.fields |
host.id |
target.asset.asset_id |
host.ip |
target.ip,target.asset.ip |
host.mac |
target.mac,target.asset.mac |
host.os.build |
target.platform_patch_level |
host.os.family |
additional.fields |
host.os.kernel |
additional.fields |
host.os.name |
target.platform_version |
host.os.platform |
target.platform |
host.os.type |
additional.fields |
host.os.version |
target.platform_version |
host_hostname |
target.hostname,target.asset.hostname |
host_name |
target.hostname,target.asset.hostname |
Hostname |
target.hostname,target.asset.hostname |
hostname |
target.hostname,target.asset.hostname |
HTTP |
network.application_protocol |
http_method |
network.http.method |
http_response |
network.http.response_code |
http_status_code |
network.http.response_code |
HTTPS |
network.application_protocol |
IIS_source |
principal.resource.attribute.labels |
ImpersonationLevel |
additional.fields |
input.type |
additional.fields |
instance |
additional.fields |
Internet Information Server |
metadata.product_name |
IpAddress |
principal.ip,principal.asset.ip,observer.ip |
IpPort |
principal.port |
jndi_java_class |
additional.fields |
jndi_payload |
additional.fields |
jndiName |
additional.fields |
KeyLength |
additional.fields |
Keywords |
additional.fields |
last_seen |
additional.fields |
LayerId |
security_result.about.resource.attribute.labels |
LayerKey |
security_result.about.resource.attribute.labels |
LayerName |
security_result.about.resource.attribute.labels |
Level |
security_result.severity (INFORMATIONAL, ERROR, MEDIUM, LOW) |
LevelValue |
security_result.about.resource.attribute.labels |
LmPackageName |
additional.fields |
log.file.path |
observer.file.full_path |
log.offset |
metadata.product_log_id |
loginTimeout |
additional.fields |
LogonGuid |
security_result.about.resource.attribute.labels |
LogonProcessName |
additional.fields |
LogonType |
extensions.auth.auth_details |
logstash.collect.host |
observer.hostname |
logstash.collect.timestamp |
metadata.collected_timestamp |
logstash.ingest.timestamp |
additional.fields |
logstash.irm_environment |
additional.fields |
logstash.irm_region |
additional.fields |
logstash.irm_site |
additional.fields |
logstash.process.host |
intermediary.hostname |
logstash.process.timestamp |
additional.fields |
ManagementGroupName |
additional.fields |
message_data |
security_result.description |
MethodName |
additional.fields |
MG |
additional.fields |
Microsoft |
metadata.vendor_name |
ministry |
additional.fields |
misc |
security_result.summary |
msg |
security_result.description |
network_direction |
network.direction (OUTBOUND ou INBOUND) |
NewValue |
additional.fields |
node |
principal.hostname,principal.asset.hostname |
ObjectInstance.__type |
additional.fields |
ObjectInstance.StartInfo.__type |
additional.fields |
ObjectInstance.StartInfo.Arguments |
additional.fields |
ObjectInstance.StartInfo.FileName |
additional.fields |
obs_app |
observer.application |
obs_host |
observer.ip |
obs_pid |
observer.process.pid |
OldValue |
additional.fields |
Opcode |
additional.fields |
OpcodeValue |
additional.fields |
operation |
security_result.detection_fields |
OS_Platform |
additional.fields |
OS_Release |
additional.fields |
OS_Timezone |
additional.fields |
OS_type |
target.platform |
OS_Version_ID |
additional.fields |
OutlookSession |
additional.fields |
PartitionId |
additional.fields |
PhysicalPath |
target.file.full_path |
pid |
principal.process.pid |
PluginVersion |
additional.fields |
prin_ip |
observer.ip |
prin_ip |
principal.ip,principal.asset.ip |
principal_ip (conditionnellement) |
intermediary.ip |
principal_ip (conditionnellement) |
observer.ip |
principal_or_intermediary_ip |
intermediary.ip |
priority |
additional.fields |
process_file |
target.process.file.full_path |
process_id |
additional.fields |
ProcessID |
principal.process.pid |
ProcessName |
principal.process.file.full_path |
profile |
security_result.detection_fields |
propertyPath |
additional.fields |
ProviderGuid |
security_result.about.resource.attribute.labels |
ProviderKey |
security_result.about.resource.attribute.labels |
ProviderName |
security_result.about.resource.attribute.labels |
RecordNumber |
additional.fields |
request_url |
target.url |
res |
security_result.action |
res |
security_result.action (AUTORISER si "success") |
response_content |
additional.fields |
Role |
additional.fields |
RoleInstance |
additional.fields |
s-computername |
target.hostname,target.asset.hostname |
s-ip |
target.ip,target.asset.ip |
s-port |
target.port |
s-sitename |
target.application |
s_sitename |
target.application |
sComputerName |
target.hostname,target.asset.hostname |
scope_id |
additional.fields |
sc-bytes |
network.sent_bytes |
sc-status |
network.http.response_code |
sc-substatus |
additional.fields |
sc-win32-status |
additional.fields |
sc_bytes |
network.sent_bytes |
sc_substatus |
additional.fields |
sc_win32_status |
additional.fields |
scbyte |
network.sent_bytes |
scBytes |
network.sent_bytes |
scStatus |
network.http.response_code |
scstatus |
network.http.response_code |
sec_desc |
security_result.description |
service.type |
additional.fields |
ses |
network.session_id |
Severity |
security_result.severity (INFORMATIONAL, ERROR, MEDIUM, LOW) |
severity |
security_result.severity (INFORMATIONAL, ERROR, MEDIUM, LOW) |
SeverityValue |
security_result.about.resource.attribute.labels |
site |
additional.fields |
sitename |
target.application |
source |
observer.file.full_path |
SourceModuleName |
observer.resource.name |
SourceModuleType |
observer.application |
SourceName |
additional.fields |
SourceSystem |
observer.application |
src_host (si Hostname) |
principal.hostname,principal.asset.hostname |
src_ip |
observer.ip,intermediary.ip |
src_port |
principal.port |
sSiteName |
target.application |
StorageAccount |
additional.fields |
streamid |
additional.fields |
SubFleetName |
additional.fields |
subj |
principal.resource.attribute.labels |
SubjectDomainName |
principal.administrative_domain |
SubjectLogonId |
principal.resource.attribute.labels |
SubjectUserName |
principal.user.userid |
SubjectUserSid |
principal.user.windows_sid |
syslog_facility |
security_result.detection_fields |
syslog_facility_code |
security_result.detection_fields |
syslog_pri |
security_result.priority_details |
syslog_severity |
security_result.severity_details |
syslog_severity_code |
security_result.detection_fields |
SyslogFacility |
security_result.about.resource.attribute.labels |
SyslogFacilityValue |
security_result.about.resource.attribute.labels |
SyslogSeverity |
security_result.about.resource.attribute.labels |
SyslogSeverityValue |
security_result.about.resource.attribute.labels |
system |
target.platform |
tags (éléments de tableau) |
additional.fields |
target_host |
target.hostname,target.asset.hostname |
targetBeanName |
additional.fields |
TargetDomainName |
target.administrative_domain |
TargetLogonId |
target.resource.attribute.labels |
TargetUserName |
target.user.userid |
TargetUserSid |
target.user.windows_sid |
task |
additional.fields |
TaskValue |
additional.fields |
TenantId |
additional.fields |
ThreadID |
additional.fields |
time |
metadata.event_timestamp |
time-taken |
additional.fields |
time-taken |
network.session_duration |
time_taken |
additional.fields |
time_taken |
network.session_duration |
TimeGenerated |
security_result.about.resource.attribute.labels |
timestamp |
metadata.event_timestamp |
total_CPU |
target_hardware.cpu_number_cores |
total_memory |
additional.fields |
transletBytecodes.0 |
additional.fields |
transletName |
additional.fields |
TransmittedServices |
additional.fields |
Type |
additional.fields |
type |
metadata.product_event_type |
UID |
principal.user.user_display_name |
uid |
principal.user.userid |
unit |
target.application |
uristem |
target.url |
user_agent |
network.http.user_agent,network.http.parsed_user_agent |
user_agent (si l'analyse JSON échoue) |
additional.fields |
UserID |
principal.user.windows_sid |
UserName |
target.user.userid |
UserSid |
principal.user.windows_sid |
Version |
metadata.product_version |
version |
metadata.product_version |
Weight |
security_result.about.resource.attribute.labels |
WorkstationName |
additional.fields |
X-BackEndCookie |
additional.fields |
xff_ip |
principal.ip,principal.asset.ip |
xforwardedfor |
principal.ip,principal.asset.ip (pour la première adresse IP),intermediary.ip (pour les autres adresses IP) |
Référence des deltas de mappage UDM
Le 16 juillet 2026, Google SecOps a publié une nouvelle version de l'analyseur Microsoft Internet Information Services (IIS), qui inclut des modifications importantes du mappage des champs de journal Microsoft Internet Information Services aux champs UDM.
Le tableau suivant liste le delta de mappage pour les champs de journalisation vers UDM de Microsoft Internet Information Services exposés avant le 16 juillet 2026 et après (listés respectivement dans les colonnes Ancien mappage et Mappage actuel) :
| Champ du journal | Ancienne correspondance | Mappage actuel |
|---|---|---|
AccountType |
principal.user.role_name |
principal.user.attribute.roles[].name |
Action |
security_result.about.resource.attribute.labels |
securtiy_result.action_details |
agent.type |
principal.application |
observer.application |
agent.type + host_id |
observer.asset_id |
target.asset.asset_id => host_id: %{host_id},observer.asset.asset_id => agent.type + agent.id ,(Dans l'ancien mappage, les champs de journal agent.type et host_id ont été fusionnés et mappés sur observer.assetid. Dans le mappage actuel, host_id correspond à target.asset.asset_id et agent.type correspond à observer.asset.asset_id.) |
app_name |
principal.application |
target.hostname |
c_ip |
principal.ip,principal.asset.ip |
Si xff_ip est présent : intermediary.ip |
comm |
target.process.command_line |
principal.application |
cookie |
additional.fields |
|
cribl_breaker |
target.resource.attribute.labels |
additional.fields |
cs(User-Agent) |
network.http.user_agent |
L'analyseur inclut désormais une vérification conditionnelle pour éviter le mappage des valeurs "-", ce qui supprime le mappage network.http.user_agent lorsque cs(User-Agent) ne contient que "-". |
cs-uri-query |
Les champs de données ont été extraits et mappés individuellement. | Concaténé avec cs-uri-stem et mappé sur target.url. Suppression des mappages extraits individuellement pour conserver l'intégralité de la signification des données d'URL. |
cs-version |
network.tls.version |
network.application_protocol,network.application_protocol_version |
cs_version |
network.tls.version |
network.application_protocol,network.application_protocol_version |
csversion |
network.tls.version |
network.application_protocol,network.application_protocol_version |
Domain |
principal.user.userid |
principal.administrative_domain |
ecs.version |
principal.asset.attribute.labels |
additional.fields |
ftp_command |
principal.application |
network.ftp.command |
host |
principal.hostname,principal.asset.hostname |
target.hostname,target.asset.hostname,observer.hostname (serveur Web cible en l'absence de champ lié au nom de l'ordinateur. Sinon, le champ sert d'identifiant de la machine d'observation.) |
host.architecture |
principal.asset.hardware.cpu_platform |
target.asset.hardware.cpu_platform |
host.mac |
principal.mac |
target.mac |
host.os.build |
additional.fields |
target.platform_patch_level |
host.os.kernel |
principal.platform_patch_level |
additional.fields |
host.os.platform |
principal.platform |
target.platform |
intermediary_device_name |
intermediary.hostname,observer.hostname(Dans l'ancien mappage, l'analyseur prenait les données liées au serveur sous la forme de deux champs. L'analyseur n'accepte désormais qu'un seul champ et mappe les données liées au serveur avec les détails de la cible correspondante.) |
target.hostname |
log.file.path |
target.file.full_path |
observer.file.full_path |
LogonType |
additional.fields |
extensions.auth.auth_details |
name |
target.resource.name,additional.fields(Dans l'ancien mappage, name était extrait d'un modèle et mappé de manière incorrecte.) |
target.application |
observer_devicename |
intermediary.hostname,observer.hostname(Dans l'ancien mappage, l'analyseur extrayait observer_devicename d'un modèle et mappait incorrectement les données liées au serveur sous la forme de deux champs. L'analyseur n'accepte désormais qu'un seul champ et mappe les données liées au serveur avec les détails de la cible correspondante.) |
target.hostname |
OS_type |
principal.asset.platform_software.platform |
target.platform |
s-sitename |
target.resource.name,additional.fields |
target.application |
s_port (extraits des modèles mis à jour) |
principal.port |
target.port |
s_sitename |
target.resource.name,additional.fields |
target.application |
sitename |
target.resource.name,additional.fields |
target.application |
source |
principal.resource.attribute.labels |
observer.file.full_path |
SourceName |
security_result.about.resource.attribute.labels |
additional.fields |
SourceSystem |
security_result.detection_fields |
observer.application |
sSiteName |
target.resource.name,additional.fields |
target.application |
SubjectUserName |
principal.user.userid,principal.hostname |
principal.user.userid |
tags |
security_result.rule_name |
additional.fields |
UID |
target.user.userid |
principal.user.user_display_name |
UserSid |
target.user.windows_sid |
principal.user.windows_sid |
xforwardedfor |
principal.ip,target.ip,intermediary.ip(dans différents cas) |
principal.ip (la première adresse IP),intermediary.ip (toutes les autres adresses IP) |
Détails du journal IIS encapsulés dans _raw ou message |
security_result.description |
Supprimé si le format est analysé par le filtre interne. |
| Lignes de journal de requête-réponse du serveur Web provenant d'IIS qui détaillent la transaction HTTP, c'est-à-dire une requête GET entraînant une redirection, et non un résultat d'authentification. | metadata.event_type = USER_LOGIN |
metadata.event_type = NETWORK_HTTP |
| N/A | network.http.parsed_user_agent(Dans l'ancien mappage, l'analyseur mappait de manière incorrecte un champ de journal à l'user-agent. Dans le mappage actuel, l'analyseur mappe correctement un champ approprié à network.http.parsed_user_agent.) |
|
| N/A | principal.port |
network.http.response_code (Dans l'ancien mappage, le mappage était incorrect. Dans le mappage actuel, l'analyseur mappe correctement un champ approprié à network.http.response_code.) |
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.