Collecter les journaux Microsoft IIS

Compatible avec :

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 le fichier d'authentification d'ingestion Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM > Agents de collecte.
  3. Téléchargez le fichier d'authentification d'ingestion.
  4. Enregistrez le fichier de manière sécurisée sur le système sur lequel l'agent Bindplane sera installé. Exemple : C:\SecOps\ingestion-auth.json.

Obtenir l'ID client Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM > Profil.
  3. Copiez et enregistrez le numéro client dans la section Informations sur l'organisation.

Configurer la journalisation étendue W3C IIS

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.

Ouvrir le Gestionnaire IIS

  1. Cliquez sur Démarrer.
  2. Saisissez inetmgr et appuyez sur Entrée.
  3. La fenêtre Internet Information Services (IIS) Manager s'ouvre.

Autre méthode :

  1. Appuyez sur Touche Windows+R.
  2. Saisissez inetmgr et appuyez sur Entrée.
  1. Dans le volet Connexions (à gauche), développez le nom de votre serveur.
  2. Pour configurer la journalisation à l'échelle du serveur (recommandé) :
    • Cliquez sur le nom du serveur au niveau racine.
  3. Pour configurer la journalisation spécifique à un site :
    • Développez Sites, puis cliquez sur le site spécifique (par exemple, Site Web par défaut).
  4. Dans la vue des fonctionnalités (volet central), double-cliquez sur Journalisation.

Sélectionnez "Format de journal étendu W3C".

  1. Sur la page Logging, dans la section Fichier journal :
    • Dans la liste déroulante Format, sélectionnez W3C.
  2. 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 selon 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)
  • Heure (heure)
  • Nom du service (s-sitename)
  • Adresse IP du serveur (s-ip)
  • Méthode (cs-method)
  • Radical d'URI (cs-uri-stem)
  • Requête 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))
  • URL de provenance (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, et vous avez besoin des octets envoyés/reçus. Votre pipeline attend les colonnes "username" (nom d'utilisateur) et "referer" (URL de provenance), même si les valeurs sont -.

Schéma 2 : de base avec sous-état, état Win32 et performances (sans referrer)

Activez ces champs dans l'ordre exact suivant :

  • Date (date)
  • Heure (heure)
  • Adresse IP du serveur (s-ip)
  • Méthode (cs-method)
  • Radical d'URI (cs-uri-stem)
  • Requête 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 Referer, mais que vous avez besoin de codes d'erreur et de latence détaillés (time-taken).

Schéma 3 : de base avec sous-état, état Win32 et performances (avec le champ "Referer")

Activez ces champs dans l'ordre exact suivant :

  • Date (date)
  • Heure (heure)
  • Adresse IP du serveur (s-ip)
  • Méthode (cs-method)
  • Radical d'URI (cs-uri-stem)
  • Requête 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))
  • URL de provenance (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 : comme pour le modèle 2, mais votre pipeline inclut "URL de provenance" en tant que colonne dédiée.

Modèle 4 : Compatibilité avec TLS/la version du protocole, avec le referrer et les performances

Activez ces champs dans l'ordre exact suivant :

  • Date (date)
  • Heure (heure)
  • Adresse IP du serveur (s-ip)
  • Méthode (cs-method)
  • Radical d'URI (cs-uri-stem)
  • Requête 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))
  • URL de provenance (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 enregistre explicitement cs-version (par exemple, HTTP/1.1) et inclut le timing, et que vous disposez également d'une colonne dédiée au port client.

Modèle 5 : Connaissance de la version TLS/du protocole avec le referrer (sans performances)

Activez ces champs dans l'ordre exact suivant :

  • Date (date)
  • Heure (heure)
  • Adresse IP du serveur (s-ip)
  • Méthode (cs-method)
  • Radical d'URI (cs-uri-stem)
  • Requête 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))
  • URL de provenance (cs(Referer))
  • État du protocole (sc-status)
  • Sous-état du protocole (sc-substatus)
  • État Win32 (sc-win32-status)

Utilisez ce modèle lorsque : comme pour le modèle 4, mais votre pipeline n'inclut pas time-taken.

Activez ces champs dans l'ordre exact suivant :

  • Date (date)
  • Heure (heure)
  • Adresse IP du serveur (s-ip)
  • Méthode (cs-method)
  • Radical d'URI (cs-uri-stem)
  • Requête 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))
  • URL de provenance (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 le cookie et le referrer sous forme de colonnes dédiées.

Activez ces champs dans l'ordre exact suivant :

  • Date (date)
  • Heure (heure)
  • Adresse IP du serveur (s-ip)
  • Méthode (cs-method)
  • Radical d'URI (cs-uri-stem)
  • Requête URI (cs-uri-query)
  • Port client (c-port)
  • Nom d'utilisateur (cs-username)
  • Adresse IP du client (c-ip)
  • User-Agent (cs(User-Agent))
  • URL de provenance (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 le champ "Referer", mais pas les champs "Cookie", "time" ni "bytes".

Activez ces champs dans l'ordre exact suivant :

  • Date (date)
  • Heure (heure)
  • Adresse IP du serveur (s-ip)
  • Méthode (cs-method)
  • Radical d'URI (cs-uri-stem)
  • Requête 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érenceur et que vous n'avez besoin que du contexte de requête principal 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

  1. Cliquez sur OK pour fermer la boîte de dialogue Champs de journalisation W3C.
  2. Vérifiez le chemin d'accès au répertoire dans lequel les journaux seront écrits.
    • Valeur par défaut : %SystemDrive%\inetpub\logs\LogFiles
  3. Sous Rotation des fichiers journaux, sélectionnez Tous les jours (recommandé pour l'ingestion Google SecOps).
  4. 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 :

  1. Générez du trafic de test vers votre site IIS en ouvrant une page Web dans un navigateur.
  2. Accédez au répertoire des journaux : C:\inetpub\logs\LogFiles\W3SVC1\
    • Remarque : W3SVC1 correspond au premier site (site Web par défaut). Pour les autres sites, le nom du dossier sera W3SVC2, W3SVC3, etc.
  3. Ouvrez le fichier journal le plus récent (par exemple, u_ex251217.log) dans le Bloc-notes.
  4. Vérifiez que la ligne #Fields: contient tous les champs que vous avez activés, dans l'ordre exact du modèle choisi.

Exemple pour le modèle 3

  • Si vous avez configuré le schéma 3 (de base avec sous-état, état Win32 et performances avec le champ "referrer"), la ligne #Fields: doit se présenter comme suit :

    #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-taken
    
  • Exemple 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 tiret (-).
  • 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

  1. Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
  2. Exécutez la commande suivante :

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Autres ressources d'installation

Pour obtenir d'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

  1. Trouvez le fichier config.yaml.
    • Chemin par défaut : C:\Program Files\observIQ OpenTelemetry Collector\config.yaml
  2. Ouvrez le fichier à l'aide d'un éditeur de texte (par exemple, Bloc-notes, VS Code ou Notepad++) en tant qu'administrateur.
  3. 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:
        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>'
        compression: gzip
    
    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 à votre fichier d'authentification pour l'ingestion (par exemple, C:\SecOps\ingestion-auth.json).
  • endpoint: : votre point de terminaison régional.
  • customer_id: : votre ID client Google SecOps réel, tel qu'indiqué dans la section Obtenir l'ID client Google SecOps.

Redémarrez l'agent Bindplane pour appliquer les modifications.

  • Pour redémarrer l'agent Bindplane dans 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] < 1 000)
duration network.session_duration.seconds (if [duration] > 1000)
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 (SORTANT ou ENTRANT)
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 du 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 delta du mappage UDM

Le 16 juillet 2026, Google SecOps a publié une nouvelle version du parser Microsoft Internet Information Services (IIS), qui inclut des modifications importantes du mappage des champs de journaux Microsoft Internet Information Services vers les champs UDM.

Le tableau suivant liste le delta de mappage pour les champs de journaux Microsoft Internet Information Services vers UDM exposés avant le 16 juillet 2026 et après (listés respectivement dans les colonnes Ancien mappage et Mappage actuel) :

Champ du journal Ancien mappage 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'ancienne cartographie, les champs de journaux 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 "-". Cela supprime le mappage network.http.user_agent lorsque cs(User-Agent) est défini sur "-".
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 la signification globale 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 pour la machine observatrice.)
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 syntaxique considérait les données liées au serveur comme deux champs. Le parseur accepte désormais un seul champ et mappe les données liées au serveur aux détails de la cible correspondants.)
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 a été extrait d'un modèle et mal mappé.)
target.application
observer_devicename intermediary.hostname,
observer.hostname
(Dans l'ancien mappage, l'analyseur syntaxique extrayait observer_devicename d'un modèle et mappait de manière incorrecte les données liées au serveur en tant que deux champs. Le parseur accepte désormais un seul champ et mappe les données liées au serveur aux détails de la cible correspondants.)
target.hostname
OS_type principal.asset.platform_software.platform target.platform
s-sitename target.resource.name,
additional.fields
target.application
s_port (extrait 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 (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 demande/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 a mappé de manière incorrecte un champ de journal à l'agent utilisateur. 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 pour ce parseur

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