收集 Imperva WAF 日志
支持的语言:
Google SecOps
SIEM
本文档介绍了如何使用 API(拉取)或 Amazon S3(推送)从 Imperva Web 应用防火墙 (WAF) 收集日志到 Google Security Operations。解析器会将 SYSLOG+KV、JSON、CEF 和 LEEF 格式的日志转换为统一数据模型 (UDM)。它会处理各种日志结构,提取相关字段,将其归一化为 UDM 属性,并使用上下文信息丰富数据,以增强安全性分析。
准备工作
确保您满足以下前提条件:
- 最符合您的配置要求的提取类型(API 或 Amazon S3)。
- Google SecOps 实例。
- 对 AWS 的特权访问权限。
- 对 Imperva WAF 的特权访问权限。
使用 API 收集 Imperva WAF 日志
为 Imperva WAF 配置只读用户
- 使用具有特权权限的账号登录 Imperva 控制台。
- 依次前往设置 > 用户和角色。
- 点击 Add User(添加用户)。
- 填写必填字段:
- 用户名:输入唯一的用户名。
- 密码:设置安全系数高的密码。
- 电子邮件地址:提供用户的电子邮件地址。
- 在角色部分,选择阅读者角色。
- 点击保存以创建具有只读权限的用户。
可选:将 Reader 用户配置为“仅限 API”
- 在用户列表中,找到新创建的用户。
- 点击用户名称旁边的操作按钮(三点状图标)。
- 选择设为仅限 API 的用户。
生成 API ID 和 API 密钥
- 在用户列表中,选择新创建的用户。
- 选择设置,然后点击 API 密钥。
- 点击 Add API Key。
- 填写必填字段:
- 名称:为 API 密钥输入一个描述性名称。
- 可选:说明:提供说明(可选)。
- 在 API 密钥将在以下时间过期列表中,选择永不过期。
- 如需启用,请选择状态。
- 点击保存。
系统会显示 API ID 和 API 密钥。请复制并保存这些凭据,因为它们不会再次显示。
设置 Feed
您可以通过两种不同的入口点在 Google SecOps 平台中设置 Feed:
- SIEM 设置 > Feed
- 内容中心 > 内容包
通过“SIEM 设置”>“Feed”设置 Feed
如需配置 Feed,请按以下步骤操作:
- 依次前往 SIEM 设置 > Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 在 Feed 名称字段中,输入 Feed 的名称,例如 Imperva Incapsula WAF 日志。
- 选择第三方 API 作为来源类型。
- 选择 Imperva 作为日志类型。
- 点击下一步。
- 为以下输入参数指定值:
- 身份验证 HTTP 标头:在两行中输入 Imperva API ID 和密钥:
apiId:<YOUR_API_ID>
和apiKey:<YOUR_API_KEY>
。
- 身份验证 HTTP 标头:在两行中输入 Imperva API ID 和密钥:
- 点击下一步。
- 在最终确定界面中检查 Feed 配置,然后点击提交。
设置来自内容中心的 Feed
为以下字段指定值:
- 身份验证 HTTP 标头:在两行中输入 Imperva API ID 和密钥:
apiId:<YOUR_API_ID>
和apiKey:<YOUR_API_KEY>
。
高级选项
- Feed 名称:用于标识 Feed 的预填充值。
- 来源类型:用于将日志收集到 Google SecOps 中的方法。
- 资源命名空间:与 Feed 关联的命名空间。
- 提取标签:应用于相应 Feed 中所有事件的标签。
使用 Amazon S3 收集 Imperva WAF 日志
配置 AWS IAM 和 S3
- 按照以下用户指南创建 Amazon S3 存储桶:创建存储桶
- 保存相应存储桶的名称和区域以备后用。
- 按照以下用户指南创建用户:创建 IAM 用户。
- 选择创建的用户。
- 选择安全凭据标签页。
- 在访问密钥部分中,点击创建访问密钥。
- 选择第三方服务作为使用情形。
- 点击下一步。
- 可选:添加说明标记。
- 点击创建访问密钥。
- 点击下载 .csv 文件,然后保存访问密钥和密钥以供日后使用。
- 点击完成。
- 选择权限标签页。
- 在权限政策部分中,点击添加权限。
- 选择添加权限。
- 选择直接附加政策。
- 搜索并选择 AmazonS3FullAccess 政策。
- 点击下一步。
- 点击添加权限。
配置 Imperva WAF Amazon S3 连接
- 使用具有特权权限的账号登录 Imperva 控制台。
- 依次前往日志 > 日志设置。
- 选择 Amazon S3。
- 填写必填字段:
- 访问密钥
- 密钥
- 路径:以以下格式输入路径:
<Amazon S3 bucket name>/<log folder>
;例如:MyBucket/MyIncapsulaLogFolder
。
- 点击测试连接,以执行完整的测试周期,在此期间,系统会将测试文件传输到您指定的目标文件夹。
- 选择日志文件的格式为 CEF。
- 默认情况下,日志文件会进行压缩。将选项设置为不压缩文件。
在 Google SecOps 中配置 Feed 以从 Amazon S3 注入 Imperva WAF 日志
- 依次前往 SIEM 设置> Feed。
- 点击新增。
- 在Feed name(Feed 名称)字段中,输入 Feed 的名称,例如
Imperva WAF Logs
。 - 选择 Amazon S3 作为来源类型。
- 选择 Imperva 作为日志类型。
- 点击下一步。
为以下输入参数指定值:
- 区域:Amazon S3 存储桶所在的区域。
- S3 URI:存储桶 URI。
s3://your-log-bucket-name/
- 将
your-log-bucket-name
替换为存储桶的实际名称。
- URI is a:选择目录或目录(包括子目录)。
- 来源删除选项:根据您的偏好设置选择删除选项。
- 访问密钥 ID:有权访问 S3 存储桶的用户访问密钥。
- 私有访问密钥:有权访问 S3 存储桶的用户的私有密钥。
- 资源命名空间:资源命名空间。
- 注入标签:要应用于此 Feed 中事件的标签。
点击下一步。
在最终确定界面中查看新的 Feed 配置,然后点击提交。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
account_id | target.user.userid | JSON 对象中的账号 ID |
act | security_result.action | 如果 act 为 allowed 、alert 、以 REQ_PASSED 开头或以 REQ_CACHED 开头,则设置为 ALLOW 。如果 act 为 deny 、blocked 、以 REQ_BLOCKED 开头或以 REQ_CHALLENGE 开头,则设置为 BLOCK 。如果 act 与正则表达式 (?i)REQ_BAD 匹配,则设置为 FAIL 。否则,请将其设置为 UNKNOWN_ACTION 。 |
应用 | network.application_protocol | 已从 kv.app 重命名。已转换为大写。 |
calCountryOrRegion | principal.location.country_or_region | 已从 calCountryOrRegion 重命名。 |
猫 | security_result.action_details | 如果 cat 以 REQ_PASSED 或 REQ_CACHED 开头,请将 action 设置为 ALLOW ,并将 action_details 设置为基于 cat 值的说明。如果 cat 以 REQ_BAD 开头,则将 action 设置为 FAIL ,并将 action_details 设置为基于 cat 值的说明。如果 cat 以 REQ_BLOCKED 或 REQ_CHALLENGE 开头,请将 action 设置为 BLOCK ,并将 action_details 设置为基于 cat 值的说明。 |
cicode | principal.location.city | 已从 cicode 重命名。 |
classified_client | security_result.detection_fields | 如果 classified_client 不为空,则创建一个新的 detection_fields 条目,其键为 classified_client ,值为 classified_client 。 |
client.domain | principal.hostname、principal.asset.hostname | 已从 client.domain 重命名。 |
client.geo.country_iso_code | principal.location.country_or_region | 已从 client.geo.country_iso_code 重命名。 |
client.ip | principal.ip、principal.asset.ip | 已合并到 principal.ip 和 principal.asset.ip 中。 |
cn1 | network.http.response_code | 已从 cn1 重命名。已转换为整数。 |
context_key | target.resource.name | 已从 context_key 重命名。 |
国家/地区 | principal.location.country_or_region | 已从 country 重命名。 |
credentials_leaked | security_result.detection_fields | 已转换为字符串。如果不为空,则创建一个新的 detection_fields 条目,其键为 credentials_leaked ,值为 credentials_leaked 。 |
cs1 | security_result.detection_fields | 如果 cs1 不为空,则为 NA 或 `, create a new detection_fieldsentry with key cs1Labeland value cs1`。 |
cs1Label | security_result.detection_fields | 用作根据 cs1 创建的 detection_fields 条目的键。 |
cs2 | security_result.detection_fields | 如果 cs2 不为空,则创建一个新的 detection_fields 条目,其中键为 cs2Label ,值为 cs2 。 |
cs2Label | security_result.detection_fields | 用作根据 cs2 创建的 detection_fields 条目的键。 |
cs3 | security_result.detection_fields | 如果 cs3 不为空,则为 - 或 `, create a new detection_fieldsentry with key cs3Labeland value cs3`。 |
cs3Label | security_result.detection_fields | 用作根据 cs3 创建的 detection_fields 条目的键。 |
cs4 | security_result.detection_fields | 如果 cs4 不为空,则创建一个新的 detection_fields 条目,其中键为 cs4Label ,值为 cs4 。 |
cs4Label | security_result.detection_fields | 用作根据 cs4 创建的 detection_fields 条目的键。 |
cs5 | security_result.detection_fields | 如果 cs5 不为空,则创建一个新的 detection_fields 条目,其中键为 cs5Label ,值为 cs5 。 |
cs5Label | security_result.detection_fields | 用作根据 cs5 创建的 detection_fields 条目的键。 |
cs6 | principal.application | 已从 cs6 重命名。 |
cs7 | principal.location.region_latitude | 如果 cs7Label 为 latitude ,则重命名为 principal.location.region_latitude 。已转换为浮点数。 |
cs7Label | 如果 cs7Label 为 latitude ,则用于确定 cs7 的映射。 |
|
cs8 | principal.location.region_longitude | 如果 cs8Label 为 longitude ,则重命名为 principal.location.region_longitude 。已转换为浮点数。 |
cs8Label | 如果 cs8Label 为 longitude ,则用于确定 cs8 的映射。 |
|
cs9 | security_result.rule_name, extensions.vulns.vulnerabilities.name | 如果 cs9 不为空,则将其设置为 security_result.rule_name ,并创建一个名为 cs9 的新 vulnerabilities 条目。 |
客户 | target.user.user_display_name | 已从 Customer 重命名。 |
declared_client | security_result.detection_fields | 如果 declared_client 不为空,则创建一个新的 detection_fields 条目,其键为 declared_client ,值为 declared_client 。 |
说明 | security_result.threat_name | 已从 description 重命名。 |
deviceExternalId | network.community_id | 已从 deviceExternalId 重命名。 |
deviceReceiptTime | metadata.event_timestamp | 解析为日期并设置为 metadata.event_timestamp 。如果为空,则改用 log_timestamp 或 kv.start 。 |
dhost | target.hostname | 已从 kv.dhost 重命名。 |
dproc | security_result.category_details | 已从 dproc 重命名。 |
dpt | target.port | 已从 kv.dpt 重命名。已转换为整数。 |
dst | target.ip、target.asset.ip | 如果 dst 不为空,则合并到 target.ip 和 target.asset.ip 中。 |
dstPort | target.port | 已从 dstPort 重命名。已转换为整数。 |
duser | target.user.userid | 如果 duser 与正则表达式 .*?Alert.* 不匹配且不为空,则重命名为 target.user.userid 。 |
end | security_result.detection_fields | 如果 end 不为空,则创建一个新的 detection_fields 条目,其中键为 event_end_time ,值为 end 。 |
event.id | JSON 对象中的活动 ID | |
event.provider | principal.user.user_display_name | 已从 event.provider 重命名。 |
failed_logins_last_24h | security_result.detection_fields | 已转换为字符串。如果不为空,则创建一个新的 detection_fields 条目,其键为 failed_logins_last_24h ,值为 failed_logins_last_24h 。 |
文件 ID | network.session_id | 已从 fileId 重命名。 |
filePermission | security_result.detection_fields | 如果 filePermission 不为空,则创建一个新的 detection_fields 条目,其键为 filePermission ,值为 filePermission 。 |
fileType | security_result.detection_fields | 如果 fileType 不为空,则创建一个新的 detection_fields 条目,其键为 fileType ,值为 fileType 。 |
指纹 | security_result.detection_fields | 如果 fingerprint 不为空,则创建一个新的 detection_fields 条目,其中键为 log_imperva_fingerprint ,值为 fingerprint 。 |
flexString1 | network.http.response_code | 已从 kv.flexString1 重命名。已转换为整数。 |
http.request.body.bytes | network.sent_bytes | 转换为无符号整数。已从 http.request.body.bytes 重命名。 |
http.request.method | network.http.method | 已从 http.request.method 重命名。 |
imperva.abp.apollo_rule_versions | security_result.detection_fields | 对于 imperva.abp.apollo_rule_versions 中的每个条目,创建一个新 detection_fields 条目,其键为 apollo_rule_versions_{index} ,值为相应条目。 |
imperva.abp.bot_behaviors | security_result.detection_fields | 对于 imperva.abp.bot_behaviors 中的每个条目,创建一个新 detection_fields 条目,其键为 bot_behaviors_{index} ,值为相应条目。 |
imperva.abp.bot_deciding_condition_ids | security_result.detection_fields | 对于 imperva.abp.bot_deciding_condition_ids 中的每个条目,创建一个新 detection_fields 条目,其键为 bot_deciding_condition_ids_{index} ,值为相应条目。 |
imperva.abp.bot_deciding_condition_names | security_result.detection_fields | 对于 imperva.abp.bot_deciding_condition_names 中的每个条目,创建一个新 detection_fields 条目,其键为 bot_deciding_condition_names_{index} ,值为相应条目。 |
imperva.abp.bot_triggered_condition_ids | security_result.detection_fields | 对于 imperva.abp.bot_triggered_condition_ids 中的每个条目,创建一个新 detection_fields 条目,其键为 bot_triggered_condition_ids_{index} ,值为相应条目。 |
imperva.abp.bot_triggered_condition_names | security_result.detection_fields | 对于 imperva.abp.bot_triggered_condition_names 中的每个条目,创建一个新 detection_fields 条目,其键为 bot_triggered_condition_names_{index} ,值为相应条目。 |
imperva.abp.bot_violations | security_result.detection_fields | 对于 imperva.abp.bot_violations 中的每个条目,创建一个新 detection_fields 条目,其键为 bot_violations_{index} ,值为相应条目。 |
imperva.abp.customer_request_id | network.session_id | 已从 imperva.abp.customer_request_id 重命名。 |
imperva.abp.headers_accept_encoding | security_result.detection_fields | 如果 imperva.abp.headers_accept_encoding 不为空,则创建一个新的 detection_fields 条目,其中键为 Accept Encoding ,值为 imperva.abp.headers_accept_encoding 。 |
imperva.abp.headers_accept_language | security_result.detection_fields | 如果 imperva.abp.headers_accept_language 不为空,则创建一个新的 detection_fields 条目,其中键为 Accept Language ,值为 imperva.abp.headers_accept_language 。 |
imperva.abp.headers_connection | security_result.detection_fields | 如果 imperva.abp.headers_connection 不为空,则创建一个新的 detection_fields 条目,其中键为 headers_connection ,值为 imperva.abp.headers_connection 。 |
imperva.abp.headers_referer | network.http.referral_url | 已从 imperva.abp.headers_referer 重命名。 |
imperva.abp.hsig | security_result.detection_fields | 如果 imperva.abp.hsig 不为空,则创建一个新的 detection_fields 条目,其中键为 hsig ,值为 imperva.abp.hsig 。 |
imperva.abp.monitor_action | security_result.action、security_result.severity | 如果 imperva.abp.monitor_action 与正则表达式 (?i)allow 匹配,则将 security_action 设置为 ALLOW ,并将 severity 设置为 INFORMATIONAL 。如果 imperva.abp.monitor_action 与正则表达式 (?i)captcha 或 (?i)block 匹配,则将 security_action 设置为 BLOCK 。 |
imperva.abp.pid | principal.process.pid | 已从 imperva.abp.pid 重命名。 |
imperva.abp.policy_id | security_result.detection_fields | 如果 imperva.abp.policy_id 不为空,则创建一个新的 detection_fields 条目,其中键为 Policy Id ,值为 imperva.abp.policy_id 。 |
imperva.abp.policy_name | security_result.detection_fields | 如果 imperva.abp.policy_name 不为空,则创建一个新的 detection_fields 条目,其中键为 Policy Name ,值为 imperva.abp.policy_name 。 |
imperva.abp.random_id | additional.fields | 如果 imperva.abp.random_id 不为空,则创建一个新的 additional.fields 条目,其中键为 Random Id ,值为 imperva.abp.random_id 。 |
imperva.abp.request_type | principal.labels | 如果 imperva.abp.request_type 不为空,则创建一个新的 principal.labels 条目,其中键为 request_type ,值为 imperva.abp.request_type 。 |
imperva.abp.selector | security_result.detection_fields | 如果 imperva.abp.selector 不为空,则创建一个新的 detection_fields 条目,其中键为 selector ,值为 imperva.abp.selector 。 |
imperva.abp.selector_derived_id | security_result.detection_fields | 如果 imperva.abp.selector_derived_id 不为空,则创建一个新的 detection_fields 条目,其中键为 selector_derived_id ,值为 imperva.abp.selector_derived_id 。 |
imperva.abp.tls_fingerprint | security_result.description | 已从 imperva.abp.tls_fingerprint 重命名。 |
imperva.abp.token_id | target.resource.product_object_id | 已从 imperva.abp.token_id 重命名。 |
imperva.abp.zuid | additional.fields | 如果 imperva.abp.zuid 不为空,则创建一个新的 additional.fields 条目,其中键为 zuid ,值为 imperva.abp.zuid 。 |
imperva.additional_factors | additional.fields | 对于 imperva.additional_factors 中的每个条目,创建一个新 additional.fields 条目,其键为 additional_factors_{index} ,值为相应条目。 |
imperva.audit_trail.event_action | security_result.detection_fields | 如果 imperva.audit_trail.event_action 不为空,则创建一个新的 detection_fields 条目,其中键为 imperva.audit_trail.event_action ,值为 imperva.audit_trail.event_action_description 。 |
imperva.audit_trail.event_action_description | security_result.detection_fields | 用作根据 imperva.audit_trail.event_action 创建的 detection_fields 条目的值。 |
imperva.audit_trail.event_context | security_result.detection_fields | 如果 imperva.audit_trail.event_context 不为空,则创建一个新的 detection_fields 条目,其中键为 imperva.audit_trail.event_context ,值为 imperva.audit_trail.event_context_description 。 |
imperva.audit_trail.event_context_description | security_result.detection_fields | 用作根据 imperva.audit_trail.event_context 创建的 detection_fields 条目的值。 |
imperva.country | principal.location.country_or_region | 已从 imperva.country 重命名。 |
imperva.declared_client | security_result.detection_fields | 如果 imperva.declared_client 不为空,则创建一个新的 detection_fields 条目,其中键为 declared_client ,值为 imperva.declared_client 。 |
imperva.device_reputation | additional.fields | 对于 imperva.device_reputation 中的每个条目,创建一个新 additional.fields 条目,其键为 device_reputation ,列表值为包含该条目的列表。 |
imperva.domain_risk | security_result.detection_fields | 如果 imperva.domain_risk 不为空,则创建一个新的 detection_fields 条目,其中键为 domain_risk ,值为 imperva.domain_risk 。 |
imperva.failed_logins_last_24h | security_result.detection_fields | 已转换为字符串。如果不为空,则创建一个新的 detection_fields 条目,其键为 failed_logins_last_24h ,值为 failed_logins_last_24h 。 |
imperva.fingerprint | security_result.detection_fields | 如果 imperva.fingerprint 不为空,则创建一个新的 detection_fields 条目,其中键为 log_imperva_fingerprint ,值为 imperva.fingerprint 。 |
imperva.ids.account_id | metadata.product_log_id | 已从 imperva.ids.account_id 重命名。 |
imperva.ids.account_name | metadata.product_event_type | 已从 imperva.ids.account_name 重命名。 |
imperva.ids.site_id | additional.fields | 如果 imperva.ids.site_id 不为空,则创建一个新的 additional.fields 条目,其中键为 site_id ,值为 imperva.ids.site_id 。 |
imperva.ids.site_name | additional.fields | 如果 imperva.ids.site_name 不为空,则创建一个新的 additional.fields 条目,其中键为 site_name ,值为 imperva.ids.site_name 。 |
imperva.referrer | network.http.referral_url | 已从 imperva.referrer 重命名。 |
imperva.request_session_id | network.session_id | 已从 imperva.request_session_id 重命名。 |
imperva.request_user | security_result.detection_fields | 如果 imperva.request_user 不为空,则创建一个新的 detection_fields 条目,其中键为 request_user ,值为 imperva.request_user 。 |
imperva.risk_level | security_result.severity_details | 已从 imperva.risk_level 重命名。 |
imperva.risk_reason | security_result.description | 已从 imperva.risk_reason 重命名。 |
imperva.significant_domain_name | security_result.detection_fields | 如果 imperva.significant_domain_name 不为空,则创建一个新的 detection_fields 条目,其中键为 significant_domain_name ,值为 imperva.significant_domain_name 。 |
imperva.violated_directives | security_result.detection_fields | 对于 imperva.violated_directives 中的每个条目,创建一个新 detection_fields 条目,其键为 violated_directives ,值为相应条目。 |
英寸 | network.received_bytes | 已从 in 重命名。转换为无符号整数。 |
log_timestamp | metadata.event_timestamp | 如果 deviceReceiptTime 为空且 kv.start 为空,则设置为 metadata.event_timestamp 。 |
消息 | metadata.description | 如果 message 不为空,且 event.provider 、imperva.ids.account_name 和 client.ip 均为空,则设置为 metadata.description 。 |
postbody | security_result.detection_fields | 如果 postbody 不为空,则创建一个新的 detection_fields 条目,其中键为 post_body_info ,值为 postbody 。 |
proto | network.application_protocol | 已从 proto 重命名。 |
protoVer | network.tls.version、network.tls.cipher | 如果 protoVer 不为空,则进行解析以提取 tls_version 和 tls_cipher ,然后分别重命名为 network.tls.version 和 network.tls.cipher 。 |
请求 | target.url | 已从 kv.request 重命名。 |
requestClientApplication | network.http.user_agent | 已从 requestClientApplication 重命名。 |
requestMethod | network.http.method | 已从 requestMethod 重命名。已转换为大写。 |
resource_id | target.resource.id | 已从 resource_id 重命名。 |
resource_type_key | target.resource.type | 已从 resource_type_key 重命名。 |
rt | metadata.event_timestamp | 解析以提取 deviceReceiptTime ,然后将其解析为日期并设置为 metadata.event_timestamp 。 |
security_result.action | security_result.action | 与 _action 字段的值合并。 |
security_result.severity | security_result.severity | 如果 sevs 为 error 或 warning ,则设置为 HIGH 。如果 sevs 为 critical ,则设置为 CRITICAL 。如果 sevs 为 medium 或 notice ,则设置为 MEDIUM 。如果 sevs 为 information 或 info ,则设置为 LOW 。 |
server.domain | target.hostname、target.asset.hostname | 已从 server.domain 重命名。 |
server.geo.name | target.location.name | 已从 server.geo.name 重命名。 |
和程度上减少 | security_result.threat_id | 已从 severity 重命名。 |
siteid | security_result.detection_fields | 如果 siteid 不为空,则创建一个新的 detection_fields 条目,其键为 siteid ,值为 siteid 。 |
sourceServiceName | target.hostname | 已从 kv.sourceServiceName 重命名。 |
spt | principal.port | 已从 kv.spt 重命名。已转换为整数。 |
src | principal.ip、principal.asset.ip | 如果 src 不为空,则合并到 principal.ip 和 principal.asset.ip 中。 |
srcPort | principal.port | 已从 srcPort 重命名。已转换为整数。 |
start | security_result.detection_fields、metadata.event_timestamp | 如果 start 不为空,则创建一个新的 detection_fields 条目,其中键为 event_start_time ,值为 start 。如果 deviceReceiptTime 为空,则也会解析为日期并设置为 metadata.event_timestamp 。 |
successful_logins_last_24h | security_result.detection_fields | 已转换为字符串。如果不为空,则创建一个新的 detection_fields 条目,其键为 successful_logins_last_24h ,值为 successful_logins_last_24h 。 |
suid | target.user.userid | 已从 suid 重命名。 |
时间 | metadata.event_timestamp | 已转换为字符串。解析为日期并设置为 metadata.event_timestamp 。 |
type_key | metadata.product_event_type | 已从 type_key 重命名。 |
网址 | target.process.file.full_path | 如果 url.path 不为空或不为 / ,则设置为 target.process.file.full_path 。 |
网址 | target.url | 已从 url 重命名。如果 qstr 不为空,则附加到 url ,并使用 ? 分隔符。 |
user.email | principal.user.email_addresses | 如果 user.email 不为空且与正则表达式 ^.+@.+$ 匹配,则合并到 principal.user.email_addresses 中。 |
user_agent | network.http.user_agent | 已从 user_agent 重命名。 |
user_agent.original | network.http.parsed_user_agent | 如果 user_agent.original 不为空或不为 * ,则转换为 parseduseragent 并重命名为 network.http.parsed_user_agent 。 |
user_details | principal.user.email_addresses | 如果 user_details 不为空且与正则表达式 ^.+@.+$ 匹配,则合并到 principal.user.email_addresses 中。 |
user_id | principal.user.userid | 已从 user_id 重命名。 |
ver | network.tls.version、network.tls.cipher | 如果 ver 不为空,则进行解析以提取 tls_version 和 tls_cipher ,然后分别重命名为 network.tls.version 和 network.tls.cipher 。 |
xff | intermediary.ip、intermediary.asset.ip、intermediary.hostname、intermediary.asset.hostname | 如果 xff 不为空,则进行处理以提取 IP 地址和主机名。IP 地址合并到 intermediary.ip 和 intermediary.asset.ip 中。主机名设置为 intermediary.hostname 和 intermediary.asset.hostname 。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。