Raccogli i log di Microsoft IIS
Questo documento spiega come importare i log di Microsoft Internet Information Services (IIS) in Google Security Operations utilizzando l'agente Bindplane.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps
- Windows Server 2016 o versioni successive con IIS installato
- Accesso amministrativo al server IIS
- Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
Recuperare il file di autenticazione dell'importazione di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
- Scarica il file di autenticazione dell'acquisizione.
- Salva il file in modo sicuro sul sistema in cui verrà installato l'agente Bindplane. Ad esempio:
C:\SecOps\ingestion-auth.json.
Recuperare l'ID cliente Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
- Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.
Configurare il logging esteso W3C di IIS
Devi attivare i campi W3C corretti in IIS Manager in modo che Google SecOps possa analizzare correttamente i log e i rilevamenti funzionino in modo affidabile.
Apri IIS Manager
- Fai clic su Avvia.
- Digita
inetmgre premi Invio. - Si apre la finestra Gestione IIS (Internet Information Services).
Metodo alternativo:
- Premi tasto Windows + R.
- Digita
inetmgre premi Invio.
Vai a Configurazione del logging
- Nel riquadro Connessioni (a sinistra), espandi il nome del server.
- Per configurare la registrazione a livello di server (consigliata):
- Fai clic sul nome del server a livello radice.
- Per configurare la registrazione specifica per il sito:
- Espandi Siti e poi fai clic sul sito specifico (ad esempio, Sito web predefinito).
- Nella visualizzazione Funzionalità (riquadro centrale), fai doppio clic su Logging.
Seleziona il formato di log esteso W3C
- Nella pagina Logging, nella sezione File di log:
- Nell'elenco a discesa Formato, seleziona W3C.
- Fai clic sul pulsante Seleziona campi.
Configura i campi di logging W3C
Nella finestra di dialogo Campi di logging W3C, seleziona i campi in base a UNO dei seguenti pattern:
Pattern 1: contesto completo del sito con stringa di query e byte
Attiva questi campi nell'ordine esatto:
- Data (data)
- Ora (ora)
- Nome servizio (s-sitename)
- Indirizzo IP server (s-ip)
- Metodo (cs-method)
- URI Stem (cs-uri-stem)
- Query URI (cs-uri-query)
- Porta server (s-port)
- User Name (cs-username)
- Indirizzo IP client (c-ip)
- User agent (cs(User-Agent))
- Referrer (cs(Referrer))
- Stato del protocollo (sc-status)
- Byte inviati (sc-bytes)
- Byte ricevuti (cs-bytes)
Utilizza questo pattern quando:il formato downstream include il contesto del sito + la stringa di query e hai bisogno di byte inviati/ricevuti e la tua pipeline prevede le colonne "username" e "referer" (anche se i valori sono -).
Pattern 2: di base con stato secondario, stato Win32 e rendimento (nessun referrer)
Attiva questi campi nell'ordine esatto:
- Data (data)
- Ora (ora)
- Indirizzo IP server (s-ip)
- Metodo (cs-method)
- URI Stem (cs-uri-stem)
- Query URI (cs-uri-query)
- Porta server (s-port)
- User Name (cs-username)
- Indirizzo IP client (c-ip)
- User agent (cs(User-Agent))
- Stato del protocollo (sc-status)
- Protocol Substatus (sc-substatus)
- Stato Win32 (sc-win32-status)
- Tempo impiegato (time-taken)
Utilizza questo pattern quando:la tua pipeline non include il referrer, ma hai bisogno di codici di errore e latenza dettagliati (time-taken).
Pattern 3: di base con sottostato, stato Win32 e rendimento (con referrer)
Attiva questi campi nell'ordine esatto:
- Data (data)
- Ora (ora)
- Indirizzo IP server (s-ip)
- Metodo (cs-method)
- URI Stem (cs-uri-stem)
- Query URI (cs-uri-query)
- Porta server (s-port)
- User Name (cs-username)
- Indirizzo IP client (c-ip)
- User agent (cs(User-Agent))
- Referrer (cs(Referrer))
- Stato del protocollo (sc-status)
- Protocol Substatus (sc-substatus)
- Stato Win32 (sc-win32-status)
- Tempo impiegato (time-taken)
Utilizza questo pattern quando:come nel pattern 2, ma la pipeline include il referrer come colonna dedicata.
Pattern 4: TLS/Protocol-Version Aware con referrer e prestazioni
Attiva questi campi nell'ordine esatto:
- Data (data)
- Ora (ora)
- Indirizzo IP server (s-ip)
- Metodo (cs-method)
- URI Stem (cs-uri-stem)
- Query URI (cs-uri-query)
- Porta client (c-port)
- User Name (cs-username)
- Indirizzo IP client (c-ip)
- Protocol Version (cs-version)
- User agent (cs(User-Agent))
- Referrer (cs(Referrer))
- Stato del protocollo (sc-status)
- Protocol Substatus (sc-substatus)
- Stato Win32 (sc-win32-status)
- Tempo impiegato (time-taken)
Utilizza questo pattern quando:il formato downstream registra esplicitamente cs-version (ad es. HTTP/1.1) e include la tempistica, inoltre hai la porta client come colonna dedicata.
Modello 5: TLS/Protocol-Version Aware con referrer (nessun rendimento)
Attiva questi campi nell'ordine esatto:
- Data (data)
- Ora (ora)
- Indirizzo IP server (s-ip)
- Metodo (cs-method)
- URI Stem (cs-uri-stem)
- Query URI (cs-uri-query)
- Porta client (c-port)
- User Name (cs-username)
- Indirizzo IP client (c-ip)
- Protocol Version (cs-version)
- User agent (cs(User-Agent))
- Referrer (cs(Referrer))
- Stato del protocollo (sc-status)
- Protocol Substatus (sc-substatus)
- Stato Win32 (sc-win32-status)
Utilizza questo pattern quando: come il pattern 4, ma la pipeline non include time-taken.
Pattern 6: con cookie e referrer (nessun rendimento, nessun byte)
Attiva questi campi nell'ordine esatto:
- Data (data)
- Ora (ora)
- Indirizzo IP server (s-ip)
- Metodo (cs-method)
- URI Stem (cs-uri-stem)
- Query URI (cs-uri-query)
- Porta client (c-port)
- User Name (cs-username)
- Indirizzo IP client (c-ip)
- User agent (cs(User-Agent))
- Cookie (cs(Cookie))
- Referrer (cs(Referrer))
- Stato del protocollo (sc-status)
- Protocol Substatus (sc-substatus)
- Stato Win32 (sc-win32-status)
Utilizza questo pattern quando: il formato downstream prevede sia il cookie sia il referrer come colonne dedicate.
Pattern 7: Minimal con referrer (nessun cookie, nessun rendimento, nessun byte)
Attiva questi campi nell'ordine esatto:
- Data (data)
- Ora (ora)
- Indirizzo IP server (s-ip)
- Metodo (cs-method)
- URI Stem (cs-uri-stem)
- Query URI (cs-uri-query)
- Porta client (c-port)
- User Name (cs-username)
- Indirizzo IP client (c-ip)
- User agent (cs(User-Agent))
- Referrer (cs(Referrer))
- Stato del protocollo (sc-status)
- Protocol Substatus (sc-substatus)
- Stato Win32 (sc-win32-status)
Utilizza questo pattern quando: il formato downstream include il referrer, ma non include cookie/ora/byte.
Modello 8: Minimo senza referrer (nessun cookie, nessun rendimento, nessun byte)
Attiva questi campi nell'ordine esatto:
- Data (data)
- Ora (ora)
- Indirizzo IP server (s-ip)
- Metodo (cs-method)
- URI Stem (cs-uri-stem)
- Query URI (cs-uri-query)
- Porta client (c-port)
- User Name (cs-username)
- Indirizzo IP client (c-ip)
- User agent (cs(User-Agent))
- Stato del protocollo (sc-status)
- Protocol Substatus (sc-substatus)
- Stato Win32 (sc-win32-status)
Utilizza questo pattern quando:il formato downstream non include il referrer e hai bisogno solo del contesto della richiesta principale più i codici di stato.
NON attivare i campi di più pattern. Il parser prevede una di queste configurazioni esatte.
Applica configurazione
- Fai clic su Ok per chiudere la finestra di dialogo Campi di registrazione W3C.
- Verifica il percorso della directory in cui verranno scritti i log.
- Valore predefinito:
%SystemDrive%\inetpub\logs\LogFiles
- Valore predefinito:
- In Rotazione file di log, seleziona Giornaliera (opzione consigliata per l'importazione di Google SecOps).
- Fai clic su Applica nel riquadro Azioni (a destra).
Verifica la registrazione IIS
Dopo aver configurato i campi W3C, verifica che IIS scriva correttamente i log:
- Genera traffico di test verso il tuo sito IIS aprendo una pagina web in un browser.
- Vai alla directory dei log:
C:\inetpub\logs\LogFiles\W3SVC1\- Nota:
W3SVC1corrisponde al primo sito (sito web predefinito). Per gli altri siti, il nome della cartella saràW3SVC2,W3SVC3e così via.
- Nota:
- Apri il file di log più recente (ad esempio
u_ex251217.log) in Blocco note. - Verifica che la riga
#Fields:contenga tutti i campi che hai attivato nell'ordine esatto del pattern scelto.
Esempio per il pattern 3
Se hai configurato il pattern 3 (di base con sottostato, stato Win32 e rendimento con referrer), la riga
#Fields:dovrebbe essere:#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-takenVoce di log di esempio:
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
Note importanti:
- I campi vuoti sono rappresentati da un trattino (
-). - L'ordine dei campi deve corrispondere esattamente all'intestazione
#Fields:. - Il parser non funzionerà se i campi sono mancanti, riordinati o provengono da più pattern.
Installa l'agente Bindplane
Installa l'agente Bindplane sul server Windows seguendo le istruzioni riportate di seguito.
Installazione di Windows
- Apri Prompt dei comandi o PowerShell come amministratore.
Esegui questo comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Risorse aggiuntive per l'installazione
Per ulteriori opzioni di installazione, consulta la guida all'installazione dell'agente Bindplane.
Configura l'agente Bindplane per importare i log IIS e inviarli a Google SecOps
Modifica il file di configurazione
- Individua il file
config.yaml.- Percorso predefinito:
C:\Program Files\observIQ OpenTelemetry Collector\config.yaml
- Percorso predefinito:
- Apri il file utilizzando un editor di testo (ad esempio Blocco note, VS Code o Notepad++) come amministratore.
Sostituisci l'intero contenuto con la seguente configurazione:
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
Aggiorna valori di configurazione
Sostituisci i seguenti segnaposto:
creds:: percorso del file di autenticazione dell'importazione (ad esempio,C:\SecOps\ingestion-auth.json).endpoint:: l'endpoint regionale.customer_id:: il tuo ID cliente Google SecOps effettivo dalla sezione Recupera l'ID cliente Google SecOps.
Riavvia l'agente Bindplane per applicare le modifiche
Per riavviare l'agente Bindplane in Windows, puoi utilizzare la console Servizi o inserire il seguente comando:
net stop observiq-otel-collector && net start observiq-otel-collector
Tabella di mappatura UDM
| Campo log | mappatura 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 (elemento dell'array) |
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 (parte del dominio) |
principal.administrative_domain |
cs-username (parte utente) |
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 (se [duration] < 1000) |
duration |
network.session_duration.seconds (se [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 (IN USCITA o IN ENTRATA) |
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 (in modo condizionale) |
intermediary.ip |
principal_ip (in modo condizionale) |
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 (CONSENTI se "successo") |
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 (se 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 (elementi dell'array) |
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 (se l'analisi JSON non va a buon fine) |
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 (per il primo indirizzo IP),intermediary.ip (per il resto degli indirizzi IP) |
Riferimento per le differenze tra le mappature UDM
Il 16 luglio 2026, Google SecOps ha rilasciato una nuova versione del parser Microsoft Internet Information Services (IIS), che include modifiche significative al mapping dei campi di log di Microsoft Internet Information Services ai campi UDM.
La tabella seguente elenca le differenze di mappatura per i campi di log-to-UDM di Microsoft Internet Information Services esposti prima del 16 luglio 2026 e successivamente (elencati rispettivamente nelle colonne Mappatura precedente e Mappatura attuale):
| Campo log | Mappatura precedente | Mappatura attuale |
|---|---|---|
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 ,(Nella mappatura precedente, i campi log agent.type e host_id sono stati uniti e mappati a observer.assetid. Nella mappatura attuale, host_id corrisponde a target.asset.asset_id e agent.type corrisponde a observer.asset.asset_id.) |
app_name |
principal.application |
target.hostname |
c_ip |
principal.ip,principal.asset.ip |
Se xff_ip è presente: 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 |
Il parser ora include un controllo condizionale per evitare la mappatura dei valori "-", che rimuove la mappatura di network.http.user_agent quando cs(User-Agent) contiene solo "-". |
cs-uri-query |
I campi di dati sono stati estratti e mappati singolarmente. | Concatenato con cs-uri-stem e mappato a target.url. Sono state rimosse le mappature estratte singolarmente per conservare il significato complessivo dei dati 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 (il server web di destinazione in assenza di un campo correlato al nome del computer. In caso contrario, il campo funge da identificatore della macchina osservatore.) |
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(Nella mappatura precedente, il parser considerava i dati relativi al server come due campi. Il parser ora accetta un singolo campo e mappa i dati relativi al server nei dettagli di destinazione pertinenti.) |
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(Nella mappatura precedente, name è stato estratto da un pattern e mappato in modo errato.) |
target.application |
observer_devicename |
intermediary.hostname,observer.hostname(Nella mappatura precedente, il parser estraeva observer_devicename da un pattern e mappava in modo errato i dati relativi al server come due campi. Il parser ora accetta un singolo campo e mappa i dati relativi al server nei dettagli di destinazione pertinenti.) |
target.hostname |
OS_type |
principal.asset.platform_software.platform |
target.platform |
s-sitename |
target.resource.name,additional.fields |
target.application |
s_port (estratto dai pattern aggiornati) |
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(in diversi casi) |
principal.ip (il primo indirizzo IP),intermediary.ip (tutti gli altri indirizzi IP) |
Dettagli dei log IIS incapsulati in _raw o message |
security_result.description |
Rimosso se il formato viene analizzato dal filtro interno. |
| Righe di log di richiesta-risposta del server web di IIS che descrivono in dettaglio la transazione HTTP, ovvero una richiesta GET che comporta un reindirizzamento, non un risultato di autenticazione. | metadata.event_type = USER_LOGIN |
metadata.event_type = NETWORK_HTTP |
| N/D | network.http.parsed_user_agent(Nella mappatura precedente, il parser ha mappato in modo errato un campo del log allo user agent. Nella mappatura corrente, il parser mappa correttamente un campo adatto a network.http.parsed_user_agent.) |
|
| N/D | principal.port |
network.http.response_code (nella mappatura precedente, la mappatura non era corretta. Nella mappatura corrente, il parser mappa correttamente un campo adatto a network.http.response_code.) |
Log delle modifiche
Visualizza il log delle modifiche per questo parser
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.