收集 Microsoft IIS 日志
本文档介绍了如何使用 Bindplane 代理将 Microsoft Internet Information Services (IIS) 日志注入到 Google Security Operations。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- 安装了 IIS 的 Windows Server 2016 或更高版本
- 对 IIS 服务器的管理员访问权限
- 如果在代理后面运行,请确保防火墙端口已根据 Bindplane 代理要求打开
获取 Google SecOps 注入身份验证文件
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 收集代理。
- 下载数据注入身份验证文件。
- 将文件安全地保存在将要安装 Bindplane 代理的系统上。例如:
C:\SecOps\ingestion-auth.json。
获取 Google SecOps 客户 ID
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 配置文件。
- 复制并保存组织详细信息部分中的客户 ID。
配置 IIS W3C 扩展日志记录
您必须在 IIS 管理器中启用正确的 W3C 字段,以便 Google SecOps 能够正确解析您的日志,并可靠地进行检测。
打开 IIS 管理器
- 点击开始。
- 输入
inetmgr并按 Enter 键。 - 系统会打开 Internet Information Services (IIS) 管理器窗口。
替代方法:
- 按 Windows 键 + R。
- 输入
inetmgr并按 Enter 键。
前往日志记录配置
- 在连接窗格(左侧)中,展开您的服务器名称。
- 如需配置服务器范围的日志记录(推荐):
- 点击根级别的服务器名称。
- 如需配置特定于网站的日志记录,请执行以下操作:
- 展开网站,然后点击特定网站(例如 Default Web Site)。
- 在功能视图(中间窗格)中,双击日志记录。
选择 W3C 扩展日志格式
- 在日志记录页面上的日志文件部分中:
- 在格式下拉列表中,选择 W3C。
- 点击选择字段按钮。
配置 W3C 日志记录字段
在 W3C 日志记录字段对话框中,根据以下模式之一选择字段:
模式 1:包含查询字符串和字节的完整网站上下文
按以下确切顺序启用这些字段:
- Date(日期)
- 时间(时间)
- 服务名称 (s-sitename)
- 服务器 IP 地址 (s-ip)
- 方法 (cs-method)
- URI 词干 (cs-uri-stem)
- URI 查询 (cs-uri-query)
- 服务器端口(s-port)
- 用户名 (cs-username)
- 客户端 IP 地址 (c-ip)
- 用户代理 (cs(User-Agent))
- Referer(cs(Referer))
- 协议状态 (sc-status)
- 发送的字节数 (sc-bytes)
- 接收的字节数 (cs-bytes)
在以下情况下使用此模式:您的下游格式包含网站背景信息 + 查询字符串,并且您需要发送/接收的字节数,而您的流水线需要“username”和“referer”列(即使值为 -)。
模式 2:基本模式,包含子状态、Win32 状态和性能(无引荐来源网址)
按以下确切顺序启用这些字段:
- Date(日期)
- 时间(时间)
- 服务器 IP 地址 (s-ip)
- 方法 (cs-method)
- URI 词干 (cs-uri-stem)
- URI 查询 (cs-uri-query)
- 服务器端口(s-port)
- 用户名 (cs-username)
- 客户端 IP 地址 (c-ip)
- 用户代理 (cs(User-Agent))
- 协议状态 (sc-status)
- 协议子状态 (sc-substatus)
- Win32 状态 (sc-win32-status)
- 所用时间 (time-taken)
在以下情况下使用此模式:您的流水线不包含 Referer,但您需要详细的错误代码和延迟时间 (time-taken)。
模式 3:基本模式,包含子状态、Win32 状态和性能(包含引荐来源网址)
按以下确切顺序启用这些字段:
- Date(日期)
- 时间(时间)
- 服务器 IP 地址 (s-ip)
- 方法 (cs-method)
- URI 词干 (cs-uri-stem)
- URI 查询 (cs-uri-query)
- 服务器端口(s-port)
- 用户名 (cs-username)
- 客户端 IP 地址 (c-ip)
- 用户代理 (cs(User-Agent))
- Referer(cs(Referer))
- 协议状态 (sc-status)
- 协议子状态 (sc-substatus)
- Win32 状态 (sc-win32-status)
- 所用时间 (time-taken)
在以下情况下使用此模式:与模式 2 相同,但您的流水线包含 Referer 作为专用列。
模式 4:支持 TLS/协议版本,并支持 Referrer 和性能
按以下确切顺序启用这些字段:
- Date(日期)
- 时间(时间)
- 服务器 IP 地址 (s-ip)
- 方法 (cs-method)
- URI 词干 (cs-uri-stem)
- URI 查询 (cs-uri-query)
- 客户端端口(c-port)
- 用户名 (cs-username)
- 客户端 IP 地址 (c-ip)
- 协议版本(cs-version)
- 用户代理 (cs(User-Agent))
- Referer(cs(Referer))
- 协议状态 (sc-status)
- 协议子状态 (sc-substatus)
- Win32 状态 (sc-win32-status)
- 所用时间 (time-taken)
在以下情况下使用此模式:您的下游格式明确记录 cs-version(例如 HTTP/1.1)并包含时间信息,并且您还拥有一个专用列来记录客户端端口。
模式 5:支持 TLS/协议版本且包含引荐来源网址(无性能)
按以下确切顺序启用这些字段:
- Date(日期)
- 时间(时间)
- 服务器 IP 地址 (s-ip)
- 方法 (cs-method)
- URI 词干 (cs-uri-stem)
- URI 查询 (cs-uri-query)
- 客户端端口(c-port)
- 用户名 (cs-username)
- 客户端 IP 地址 (c-ip)
- 协议版本(cs-version)
- 用户代理 (cs(User-Agent))
- Referer(cs(Referer))
- 协议状态 (sc-status)
- 协议子状态 (sc-substatus)
- Win32 状态 (sc-win32-status)
在以下情况下使用此模式:与模式 4 相同,但您的流水线不包含 time-taken。
模式 6:包含 Cookie 和 Referer(无性能,无字节)
按以下确切顺序启用这些字段:
- Date(日期)
- 时间(时间)
- 服务器 IP 地址 (s-ip)
- 方法 (cs-method)
- URI 词干 (cs-uri-stem)
- URI 查询 (cs-uri-query)
- 客户端端口(c-port)
- 用户名 (cs-username)
- 客户端 IP 地址 (c-ip)
- 用户代理 (cs(User-Agent))
- Cookie (cs(Cookie))
- Referer(cs(Referer))
- 协议状态 (sc-status)
- 协议子状态 (sc-substatus)
- Win32 状态 (sc-win32-status)
在以下情况下使用此模式:您的下游格式需要将 Cookie 和 Referer 作为专用列。
模式 7:最小 Referer(无 Cookie、无性能、无字节)
按以下确切顺序启用这些字段:
- Date(日期)
- 时间(时间)
- 服务器 IP 地址 (s-ip)
- 方法 (cs-method)
- URI 词干 (cs-uri-stem)
- URI 查询 (cs-uri-query)
- 客户端端口(c-port)
- 用户名 (cs-username)
- 客户端 IP 地址 (c-ip)
- 用户代理 (cs(User-Agent))
- Referer(cs(Referer))
- 协议状态 (sc-status)
- 协议子状态 (sc-substatus)
- Win32 状态 (sc-win32-status)
在以下情况下使用此模式:您的下游格式包含 Referer,但不包含 Cookie/时间/字节。
模式 8:不含 Referer 的最小请求(无 Cookie、无性能信息、无字节)
按以下确切顺序启用这些字段:
- Date(日期)
- 时间(时间)
- 服务器 IP 地址 (s-ip)
- 方法 (cs-method)
- URI 词干 (cs-uri-stem)
- URI 查询 (cs-uri-query)
- 客户端端口(c-port)
- 用户名 (cs-username)
- 客户端 IP 地址 (c-ip)
- 用户代理 (cs(User-Agent))
- 协议状态 (sc-status)
- 协议子状态 (sc-substatus)
- Win32 状态 (sc-win32-status)
在以下情况下使用此模式:您的下游格式不包含 Referer,并且您只需要核心请求上下文和状态代码。
请勿启用多个模式中的字段。解析器需要这些确切的配置之一。
应用配置
- 点击确定以关闭 W3C 日志记录字段对话框。
- 验证日志将写入的目录路径。
- 默认值:
%SystemDrive%\inetpub\logs\LogFiles
- 默认值:
- 在日志文件轮换下,选择每天(建议用于 Google SecOps 提取)。
- 点击操作窗格(右侧)中的应用。
验证 IIS 日志记录
配置 W3C 字段后,请验证 IIS 是否正在正确写入日志:
- 通过在浏览器中打开网页,为您的 IIS 网站生成测试流量。
- 前往日志目录:
C:\inetpub\logs\LogFiles\W3SVC1\- 注意:
W3SVC1对应于第一个网站(默认网站)。对于其他网站,文件夹名称将为W3SVC2、W3SVC3等。
- 注意:
- 在记事本中打开最新的日志文件(例如
u_ex251217.log)。 - 验证
#Fields:行是否包含您启用的所有字段,且字段顺序与您选择的模式完全一致。
模式 3 的示例
如果您配置了模式 3(基本模式,包含子状态、Win32 状态和包含引荐来源网址的性能),
#Fields:行应为:#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日志条目示例:
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
重要注意事项:
- 空字段用连字符 (
-) 表示。 - 字段顺序必须与
#Fields:标头完全一致。 - 如果字段缺失、重新排序或来自多个模式,解析器将失败。
安装 Bindplane 代理
按照以下说明在 Windows 服务器上安装 Bindplane 代理。
Windows 安装
- 以管理员身份打开命令提示符或 PowerShell。
运行以下命令:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
其他安装资源
如需了解其他安装选项,请参阅 Bindplane 代理安装指南。
配置 Bindplane 代理以注入 IIS 日志并将其发送到 Google SecOps
修改配置文件
- 找到
config.yaml文件。- 默认路径:
C:\Program Files\observIQ OpenTelemetry Collector\config.yaml
- 默认路径:
- 使用文本编辑器(例如记事本、VS Code 或 Notepad++)以管理员身份打开该文件。
将全部内容替换为以下配置:
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
更新配置值
替换以下占位符:
creds:- 您的提取身份验证文件的路径(例如,C:\SecOps\ingestion-auth.json)。endpoint:- 您的区域端点。customer_id:- 获取 Google SecOps 客户 ID 部分中的实际 Google SecOps 客户 ID。
重启 Bindplane 代理以应用更改
如需在 Windows 中重启 Bindplane 代理,您可以使用服务控制台,也可以输入以下命令:
net stop observiq-otel-collector && net start observiq-otel-collector
UDM 映射表
| 日志字段 | 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(数组元素) |
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(网域部分) |
principal.administrative_domain |
cs-username(用户部分) |
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(如果 [duration] < 1000) |
duration |
network.session_duration.seconds(如果 [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(出站或入站) |
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(有条件) |
intermediary.ip |
principal_ip(有条件地) |
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(如果“success”为 true,则为 ALLOW) |
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(如果 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(数组元素) |
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(如果 JSON 解析失败) |
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(对于第一个 IP 地址)、intermediary.ip(对于其余 IP 地址) |
UDM 映射增量参考信息
2026 年 7 月 16 日,Google SecOps 发布了新版 Microsoft Internet Information Services (IIS) 解析器,其中对 Microsoft Internet Information Services 日志字段到 UDM 字段的映射进行了重大更改。
下表列出了 2026 年 7 月 16 日之前和之后公开的 Microsoft Internet Information Services 日志到 UDM 字段的映射增量(分别列在旧映射和当前映射列中):
| 日志字段 | 旧映射 | 当前映射 |
|---|---|---|
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、(在旧版映射中,日志字段 agent.type 和 host_id 合并并映射到 observer.assetid。在当前映射中,host_id 映射到 target.asset.asset_id,agent.type 映射到 observer.asset.asset_id。) |
app_name |
principal.application |
target.hostname |
c_ip |
principal.ip,principal.asset.ip |
如果存在 xff_ip: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 |
解析器现在包含一个条件检查,以避免映射“-”值,这会在 cs(User-Agent) 仅包含“-”时移除 network.http.user_agent 映射。 |
cs-uri-query |
数据字段已从中提取并单独映射。 | 与 cs-uri-stem 串联并映射到 target.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(在没有与计算机名称相关的字段时,目标 Web 服务器。否则,该字段将充当观测者机器的标识符。) |
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(在旧版映射中,解析器将服务器相关数据视为两个字段。解析器现在采用单个字段,并将服务器相关数据映射到相关目标详情。) |
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(在旧版映射中, name 是从某种模式中提取的,但映射不正确。) |
target.application |
observer_devicename |
intermediary.hostname、observer.hostname(在旧版映射中,解析器从模式中提取了 observer_devicename,并将服务器相关数据错误地映射为两个字段。解析器现在采用单个字段,并将服务器相关数据映射到相关目标详情。) |
target.hostname |
OS_type |
principal.asset.platform_software.platform |
target.platform |
s-sitename |
target.resource.name,additional.fields |
target.application |
s_port(从更新后的模式中提取) |
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(在不同情况下) |
principal.ip(第一个 IP 地址)、intermediary.ip(其余所有 IP 地址) |
封装在 _raw 或 message 中的 IIS 日志详细信息 |
security_result.description |
如果格式由内部过滤器解析,则移除。 |
| 来自 IIS 的 Web 服务器请求-响应日志行,详细说明了 HTTP 事务,即导致重定向的 GET 请求,而不是身份验证结果。 | metadata.event_type = USER_LOGIN |
metadata.event_type = NETWORK_HTTP |
| 不适用 | network.http.parsed_user_agent(在旧版映射中,解析器错误地将日志字段映射到了用户代理。在当前映射中,解析器会将合适的字段正确映射到 network.http.parsed_user_agent。) |
|
| 不适用 | principal.port |
network.http.response_code(在旧版映射中,映射不正确。在当前映射中,解析器会将合适的字段正确映射到 network.http.response_code。) |