收集 Imperva WAF 日志
支持的平台:
Google SecOps
SIEM
本文档介绍了如何使用 API(拉取)或 Amazon S3(推送)将日志从 Imperva Web 应用防火墙 (WAF) 收集到 Google 安全运营团队。解析器会将 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 密钥。
- 点击添加 API 密钥。
- 填写必填字段:
- 名称:为 API 密钥输入一个描述性名称。
- 可选:说明:提供可选说明。
- 在API 密钥将于列表中,选择永不过期。
- 如需启用,请选择状态。
- 点击保存。
系统会显示 API ID 和 API 密钥。请复制并保存这些凭据,因为系统不会再次显示。
在 Google SecOps 中配置 Feed,以便通过第三方 API 注入 Imperva WAF 日志
- 依次前往 SIEM 设置 > Feed。
- 点击新增。
- 在 Feed 名称字段中,输入 Feed 的名称;例如 Imperva WAF 日志。
- 选择第三方 API 作为来源类型。
- 选择 Imperva 作为日志类型。
- 点击下一步。
- 为以下输入参数指定值:
- Authentication HTTP 标头:在两行中输入 Imperva API ID 和密钥:
apiId:<YOUR_API_ID>
和apiKey:<YOUR_API_KEY>
。 - 资源命名空间:资源命名空间。
- 提取标签:应用于此 Feed 中的事件的标签。
- Authentication HTTP 标头:在两行中输入 Imperva API ID 和密钥:
- 点击下一步。
- 在最终确定界面中查看 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 名称字段中,输入 Feed 的名称;例如
Imperva WAF Logs
。 - 选择 Amazon S3 作为来源类型。
- 选择 Imperva 作为日志类型。
- 点击下一步。
为以下输入参数指定值:
- 区域:Amazon S3 存储桶所在的区域。
- S3 URI:存储桶 URI。
s3://your-log-bucket-name/
- 将
your-log-bucket-name
替换为存储桶的实际名称。
- URI 是:选择目录或包含子目录的目录。
- 来源删除选项:根据您的偏好选择删除选项。
- 访问密钥 ID:有权访问 S3 存储桶的用户访问密钥。
- 私有访问密钥:有权访问 S3 存储桶的用户私有密钥。
- 资源命名空间:资源命名空间。
- 提取标签:要应用于此 Feed 中的事件的标签。
点击下一步。
在最终确定界面中查看新的 Feed 配置,然后点击提交。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
account_id | target.user.userid | JSON 对象中的账号 ID |
法案 | 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 ,并根据 cat 的值将 action_details 设置为说明。如果 cat 以 REQ_BAD 开头,请将 action 设置为 FAIL ,并根据 cat 的值将 action_details 设置为说明。如果 cat 以 REQ_BLOCKED 或 REQ_CHALLENGE 开头,请将 action 设置为 BLOCK ,并根据 cat 的值将 action_details 设置为说明。 |
cicode | principal.location.city | 已从 cicode 重命名。 |
classified_client | security_result.detection_fields | 如果 classified_client 不为空,请创建一个键为 classified_client 且值为 classified_client 的新 detection_fields 条目。 |
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 | 已转换为字符串。如果不为空,则创建一个键为 credentials_leaked 且值为 credentials_leaked 的新 detection_fields 条目。 |
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 不为空,请创建一个键为 cs2Label 且值为 cs2 的新 detection_fields 条目。 |
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 不为空,请创建一个键为 cs4Label 且值为 cs4 的新 detection_fields 条目。 |
cs4Label | security_result.detection_fields | 用作根据 cs4 创建的 detection_fields 条目的键。 |
cs5 | security_result.detection_fields | 如果 cs5 不为空,请创建一个键为 cs5Label 且值为 cs5 的新 detection_fields 条目。 |
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 不为空,请创建一个键为 declared_client 且值为 declared_client 的新 detection_fields 条目。 |
说明 | 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 不为空,请创建一个键为 event_end_time 且值为 end 的新 detection_fields 条目。 |
event.id | JSON 对象中的事件 ID | |
event.provider | principal.user.user_display_name | 已从 event.provider 重命名。 |
failed_logins_last_24h | security_result.detection_fields | 已转换为字符串。如果不为空,则创建一个键为 failed_logins_last_24h 且值为 failed_logins_last_24h 的新 detection_fields 条目。 |
文件 ID | network.session_id | 已从 fileId 重命名。 |
filePermission | security_result.detection_fields | 如果 filePermission 不为空,请创建一个键为 filePermission 且值为 filePermission 的新 detection_fields 条目。 |
fileType | security_result.detection_fields | 如果 fileType 不为空,请创建一个键为 fileType 且值为 fileType 的新 detection_fields 条目。 |
指纹 | security_result.detection_fields | 如果 fingerprint 不为空,请创建一个键为 log_imperva_fingerprint 且值为 fingerprint 的新 detection_fields 条目。 |
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 不为空,请创建一个键为 Accept Encoding 且值为 imperva.abp.headers_accept_encoding 的新 detection_fields 条目。 |
imperva.abp.headers_accept_language | security_result.detection_fields | 如果 imperva.abp.headers_accept_language 不为空,请创建一个键为 Accept Language 且值为 imperva.abp.headers_accept_language 的新 detection_fields 条目。 |
imperva.abp.headers_connection | security_result.detection_fields | 如果 imperva.abp.headers_connection 不为空,请创建一个键为 headers_connection 且值为 imperva.abp.headers_connection 的新 detection_fields 条目。 |
imperva.abp.headers_referer | network.http.referral_url | 已从 imperva.abp.headers_referer 重命名。 |
imperva.abp.hsig | security_result.detection_fields | 如果 imperva.abp.hsig 不为空,请创建一个键为 hsig 且值为 imperva.abp.hsig 的新 detection_fields 条目。 |
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 不为空,请创建一个键为 Policy Id 且值为 imperva.abp.policy_id 的新 detection_fields 条目。 |
imperva.abp.policy_name | security_result.detection_fields | 如果 imperva.abp.policy_name 不为空,请创建一个键为 Policy Name 且值为 imperva.abp.policy_name 的新 detection_fields 条目。 |
imperva.abp.random_id | additional.fields | 如果 imperva.abp.random_id 不为空,请创建一个键为 Random Id 且值为 imperva.abp.random_id 的新 additional.fields 条目。 |
imperva.abp.request_type | principal.labels | 如果 imperva.abp.request_type 不为空,请创建一个键为 request_type 且值为 imperva.abp.request_type 的新 principal.labels 条目。 |
imperva.abp.selector | security_result.detection_fields | 如果 imperva.abp.selector 不为空,请创建一个键为 selector 且值为 imperva.abp.selector 的新 detection_fields 条目。 |
imperva.abp.selector_derived_id | security_result.detection_fields | 如果 imperva.abp.selector_derived_id 不为空,请创建一个键为 selector_derived_id 且值为 imperva.abp.selector_derived_id 的新 detection_fields 条目。 |
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 不为空,请创建一个键为 zuid 且值为 imperva.abp.zuid 的新 additional.fields 条目。 |
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 不为空,请创建一个键为 imperva.audit_trail.event_action 且值为 imperva.audit_trail.event_action_description 的新 detection_fields 条目。 |
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 不为空,请创建一个键为 imperva.audit_trail.event_context 且值为 imperva.audit_trail.event_context_description 的新 detection_fields 条目。 |
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 不为空,请创建一个键为 declared_client 且值为 imperva.declared_client 的新 detection_fields 条目。 |
imperva.device_reputation | additional.fields | 对于 imperva.device_reputation 中的每个条目,请创建一个新的 additional.fields 条目,其中包含键 device_reputation 和包含该条目的列表值。 |
imperva.domain_risk | security_result.detection_fields | 如果 imperva.domain_risk 不为空,请创建一个键为 domain_risk 且值为 imperva.domain_risk 的新 detection_fields 条目。 |
imperva.failed_logins_last_24h | security_result.detection_fields | 已转换为字符串。如果不为空,则创建一个键为 failed_logins_last_24h 且值为 failed_logins_last_24h 的新 detection_fields 条目。 |
imperva.fingerprint | security_result.detection_fields | 如果 imperva.fingerprint 不为空,请创建一个键为 log_imperva_fingerprint 且值为 imperva.fingerprint 的新 detection_fields 条目。 |
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 不为空,请创建一个键为 site_id 且值为 imperva.ids.site_id 的新 additional.fields 条目。 |
imperva.ids.site_name | additional.fields | 如果 imperva.ids.site_name 不为空,请创建一个键为 site_name 且值为 imperva.ids.site_name 的新 additional.fields 条目。 |
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 不为空,请创建一个键为 request_user 且值为 imperva.request_user 的新 detection_fields 条目。 |
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 不为空,请创建一个键为 significant_domain_name 且值为 imperva.significant_domain_name 的新 detection_fields 条目。 |
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 不为空,请创建一个键为 post_body_info 且值为 postbody 的新 detection_fields 条目。 |
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 不为空,请创建一个键为 siteid 且值为 siteid 的新 detection_fields 条目。 |
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 不为空,请创建一个键为 event_start_time 且值为 start 的新 detection_fields 条目。也将其解析为日期,如果 deviceReceiptTime 为空,则将其设置为 metadata.event_timestamp 。 |
successful_logins_last_24h | security_result.detection_fields | 已转换为字符串。如果不为空,则创建一个键为 successful_logins_last_24h 且值为 successful_logins_last_24h 的新 detection_fields 条目。 |
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 。 |
变化
2025-01-16
增强功能:
- 将
log.imperva.audit_trail.resource_name
映射到target.resource.name
。
2024-11-14
增强功能:
- 添加了对处理新日志格式的支持。
2024-10-10
增强功能:
- 将
metadata.vendor_name
映射到Imperva Cloud WAF
。
2024-10-03
增强功能:
- 将
cn1
映射到network.http.response_code
。
2024-09-05
增强功能:
- 添加了对处理新日志格式的支持。
2024-08-27
增强功能:
- 将
log.imperva.ids.account_name
的映射从metadata.product_event_type
更改为target.user.user_display_name
。
2024-06-25
增强功能:
- 添加了对处理 JSON 日志的支持。
2024-04-02
增强功能:
- 将
log.imperva.request_user
映射到security_result.detection_fields
。 - 将
log.imperva.classified_client
映射到security_result.detection_fields
。
2024-02-26
增强功能:
- 将
log.imperva.request_session_id
映射到network.session_id
。 - 将 `
log.imperva.successful_logins_last_24h
、log.imperva.path
和log.imperva.failed_logins_last_24h
映射到security_result.detection_fields
。 - 将
log.imperva.risk_reason
映射到security_result.severity_details
和security_result.severity
。 - 将
additional_factor
、log.imperva.device_reputation
和log.imperva.credentials_leaked
映射到additional.fields
。 - 将
log.imperva.fingerprint
映射到security_result.description
。 - 将
log.imperva.referrer
映射到network.http.referral_url
。 - 将
log.imperva.classified_client
映射到principal.process.file.full_path
2024-02-06
增强功能:
- 将 json_array 的
for loop
中的accept_encoding_label
、site_name_label
、random_id_label
、request_type_label
、accept_language_label
、headers_connection_label
、zuid_labels
、site_id_label
、policy_id
、policy_name
、selector_derived_id
、hsig
、selector
、detection_fields_event_action
、detection_fields_event_context
、detection_fields_significant_domain_name
和detection_fields_domain_risk
初始化为 null。
2024-01-27
增强功能:
- 将
description
映射到security_result.threat_name
。 - 将
severity
映射到security_result.threat_id
。 - 将
kv.src
、src
和log.client.ip
映射到principal.asset.ip
。 - 将
kv.dst
和dst
映射到target.asset.ip
。 - 将
kv.dvc
映射到about.asset.ip
。 - 将
kv.cs9
和cs9
映射到security_result.rule_name
。 - 将
kv.fileType
和fileType
映射到security_result.rule_type
。 - 将
dst
映射到target.asset.ip
。 - 将
xff
和forwardedIp
映射到intermediary.asset.ip
。 - 将
log.client.domain
映射到principal.asset.hostname
。 - 将
log.server.domain
映射到target.asset.hostname
。
2023-10-16
bug 修复:
- 将 json_array 的
for loop
中的security_result
和security_action
初始化为 null。 - 在将
security_action
合并到security_result.action
之前添加了 null 检查。 - 当
log.imperva.abp.monitor_action
为block
时,将security_action
映射到BLOCK
。
2023-09-26
增强功能:
- 在 CSP 日志中将
significant_domain_name
、domain_risk
、violated_directives
映射到security_result.detection_fields
。
2023-08-07
bug 修复:
- 添加了对解析 JSON 日志数组的支持。
- 添加了 Grok 模式,以便在将
xff
映射到intermediary.hostname
之前检查主机名。
2023-06-16
bug 修复:
- 将
imperva.audit_trail.event_action
映射到security_result.detection_fields
。 - 将
imperva.audit_trail.event_action_description
映射到security_result.detection_fields
。 - 将
imperva.audit_trail.event_context
映射到security_result.detection_fields
。 - 将
imperva.audit_trail.event_context_description
映射到security_result.detection_fields
。 - 修复了时间戳解析问题。
- 丢弃了格式错误的日志。
2023-06-16
bug 修复:
- 将
imperva.audit_trail.event_action
映射到security_result.detection_fields
。 - 将
imperva.audit_trail.event_action_description
映射到security_result.detection_fields
。 - 将
imperva.audit_trail.event_context
映射到security_result.detection_fields
。 - 将
imperva.audit_trail.event_context_description
映射到security_result.detection_fields
。 - 修复了时间戳解析问题。
- 丢弃了格式错误的日志。
2023-06-08
增强功能:
- 将
imperva.abp.apollo_rule_versions
映射到security_result.detection_fields
。 - 将
imperva.abp.bot_violations
映射到security_result.detection_fields
。 - 将
imperva.abp.bot_behaviors
映射到security_result.detection_fields
。 - 将
imperva.abp.bot_deciding_condition_ids
映射到security_result.detection_fields
。 - 将
imperva.abp.bot_deciding_condition_names
映射到security_result.detection_fields
。 - 将
imperva.abp.bot_triggered_condition_ids
映射到security_result.detection_fields
。 - 将
imperva.abp.bot_triggered_condition_names
映射到security_result.detection_fields
。
2023-04-26
增强功能:
- 在 statedata 中定义了
kv.src
字段。 - 将
kvdata.ver
映射到network.tls.version
和 network.tls.cipher。 - 将
kvdata.sip
映射到principal.ip
。 - 将
kvdata.spt
映射到principal.port
。 - 将
kvdata.act
映射到“security_result.action_details”。 - 将
kvdata.app
映射到“network.application_protocol”。 - 将
kvdata.requestMethod
映射到network.http.method
。
2023-02-04
增强功能:
- 在
event.timestamp
中为字段deviceReceiptTime
添加了 rebase = true。
2023-01-19
增强功能:
- 通过添加以下映射,为解析器日志添加了支持。
- 将
event.provider
映射到principal.user.userid
。 - 将
client.ip
映射到principal.ip
。 - 将
client.domain
映射到principal.hostname
。 - 将
imperva.abp.request_type
映射到principal.labels
。 - 将
imperva.abp.pid
映射到principal.process.pid
。 - 将
client.geo.country_iso_code
映射到principal.location.country_or_region
。 - 将
server.domain
映射到target.hostname
。 - 将
server.geo.name
映射到target.location.name
。 - 将
url.path
映射到target.process.file.full_path
。 - 将
imperva.abp.customer_request_id
映射到target.resource.id
。 - 将
imperva.abp.token_id
映射到target.resource.product_object_id
。 - 将
imperva.abp.random_id
映射到additional.fields
。 - 将
http.request.method
映射到network.http.method
。 - 将
user_agent.original
映射到network.http.parsed_user_agent
。 - 将
imperva.abp.headers_referer
映射到network.http.referral_url
。 - 将
imperva.abp.zuid
映射到additional.fields
。 - 将
imperva.ids.site_name
映射到additional.fields
。 - 将
imperva.ids.site_id
映射到additional.fields
。 - 将
imperva.ids.account_name
映射到metadata.product_event_type
。 - 将
imperva.ids.account_id
映射到metadata.product_log_id
。 - 将
imperva.abp.headers_accept_encoding
映射到security_result.detection_fields
。 - 将
imperva.abp.headers_accept_language
映射到security_result.detection_fields
。 - 将
imperva.abp.headers_connection
映射到security_result.detection_fields
- 将
imperva.abp.policy_id
映射到security_result.detection_fields
。 - 将
imperva.abp.policy_name
映射到security_result.detection_fields
。 - 将
imperva.abp.selector_derived_id
映射到security_result.detection_fields
。 - 将
imperva.abp.monitor_action
映射到security_result.action
。
2022-06-28
增强功能:
- 为所有日志映射了 vendor.name = Imperva 和 product.name = Web 应用防火墙
- 将
src
为Distributed
的metadata.event_type
从GENERIC_EVENT
更改为USER_UNCATEGORIZED
- 将
metadata.event_type
更改为USER_UNCATEGORIZED
更改为USER_STATS
2022-06-20
- 修改了字段
rt
的 Grok 模式。 - bug 修复 - 改进了 security_result.action。
- REQ_PASSED:如果请求已路由到网站的 Web 服务器(security_result.action = 'ALLOW')。
- REQ_CACHED_X:如果响应是从数据中心的缓存中返回的(security_result.action = 'ALLOW')。
- REQ_BAD_X:如果发生协议或网络错误(security_result.action = 'FAIL')。
- REQ_CHALLENGE_X:如果向客户端返回了质询 (security_result.action = 'BLOCK')。
- REQ_BLOCKED_X:如果请求被屏蔽(security_result.action = 'BLOCK')。
2022-06-14
bug 修复:
- 添加了 gsub 并修改了 kv 过滤器,以避免将字段“cs1Label”“cs2Label”“cs3Label”映射到 UDM 字段“security_result.detection_fields”时出现错误的映射。
2022-05-26
bug 修复:
- 从检测字段的值中移除了键名称和英文冒号字符。
2022-05-10
增强功能:
- 映射了以下字段:
- 将“cs1”“cs2”“cs3”“cs4”“cs5”“fileType”“filePermission”移到了“security_result.detection_fields”。
- 'cs7' 更改为 'principal.location.region_latitude'。
- 'cs8' 更改为 'principal.location.region_longitude'。
- 将“cn1”“cn2”转换为“security_result.detection_fields”,适用于 CEF 格式日志。
- 对于 CEF 格式日志,将“act”更改为“security_result.action”和“security_result.action_details”。
- 将“app”更改为“network.application_protocol”,以便使用 CEF 格式日志。
- 将“requestClientApplication”更改为“network.http.user_agent”,以便生成 CEF 格式日志。
- 将 CEF 格式日志中的“dvc”更改为“about.ip”。
需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。