收集 Imperva FlexProtect 日志
支持的平台:
Google SecOps
SIEM
本文档介绍了如何使用 Bindplane 将 Imperva FlexProtect 日志注入到 Google Security Operations。解析器首先清理并预处理传入的日志,然后尝试提取通用事件格式 (CEF) 数据。根据是否存在“src”和“sip”等特定字段,它会分配 UDM 事件类型并将相关 CEF 字段映射到 UDM 架构,最后使用其他自定义字段丰富输出。Imperva FlexProtect 可在混合云环境中灵活部署 Imperva 安全解决方案(SecureSphere、Cloud WAF、Bot Protection)。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- Windows 2016 或更高版本,或者具有
systemd
的 Linux 主机 - 如果通过代理运行,请确保防火墙端口已根据 Bindplane 代理要求打开
- 对 Imperva FlexProtect 管理控制台或各个产品控制台的特权访问权限
获取 Google SecOps 注入身份验证文件
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 收集代理。
- 下载注入身份验证文件。将文件安全地保存在将要安装 Bindplane 的系统上。
获取 Google SecOps 客户 ID
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 个人资料。
- 复制并保存组织详细信息部分中的客户 ID。
安装 Bindplane 代理
Windows 安装
- 以管理员身份打开命令提示符或 PowerShell。
运行以下命令:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux 安装
- 打开具有 root 或 sudo 权限的终端。
运行以下命令:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
其他安装资源
- 如需了解其他安装选项,请参阅此安装指南。
配置 Bindplane 代理以注入 Syslog 并将其发送到 Google SecOps
访问配置文件:
- 找到
config.yaml
文件。通常,它位于 Linux 上的/etc/bindplane-agent/
目录中,或位于 Windows 上的安装目录中。 - 使用文本编辑器(例如
nano
、vi
或记事本)打开该文件。
- 找到
按如下方式修改
config.yaml
文件:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <CUSTOMER_ID> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'IMPERVA_FLEXPROTECT' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
- 根据基础架构的需要替换端口和 IP 地址。
- 将
<customer_id>
替换为实际的客户 ID。 - 将
/path/to/ingestion-authentication-file.json
更新为获取 Google SecOps 提取身份验证文件部分中保存身份验证文件的路径。
重启 Bindplane 代理以应用更改
如需在 Linux 中重启 Bindplane 代理,请运行以下命令:
sudo systemctl restart bindplane-agent
如需在 Windows 中重启 Bindplane 代理,您可以使用服务控制台,也可以输入以下命令:
net stop BindPlaneAgent && net start BindPlaneAgent
在 Imperva FlexProtect 上配置 Syslog 转发
适用于 SecureSphere 组件(本地/云端)
- 登录 Imperva SecureSphere 管理控制台。
- 依次前往配置 > 操作集。
- 点击添加以创建新的操作集。
点击添加操作,然后提供以下配置详细信息:
- 名称:输入一个描述性名称(例如
Google SecOps Syslog
)。 - 操作类型:选择 Syslog。
- 主机:输入 Bindplane 代理 IP 地址。
- 端口:输入 Bindplane 代理端口号(默认值为
514
)。 - 协议:选择 UDP 或 TCP。
- Syslog 日志级别:选择 DEBUG。
- Syslog Facility:选择 LOCAL0。
- 格式:选择 CEF(通用事件格式)。
- 名称:输入一个描述性名称(例如
保存操作配置并将其应用于相关的安全政策。
对于 Cloud WAF/Incapsula 组件
- 登录 Imperva Cloud Console。
- 依次前往日志 > 日志设置。
- 配置 syslog 目标位置:
- 主机:输入 Bindplane 代理 IP 地址。
- 端口:输入 Bindplane 代理端口号(默认值为
514
)。 - 协议:选择 UDP 或 TCP。
- 格式:选择 CEF。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
act | read_only_udm.security_result.action_details | 直接从 act 字段映射。 |
应用 | read_only_udm.network.application_protocol | 直接从 app 字段映射。 |
ccode | read_only_udm.principal.location.country_or_region | 直接从 ccode 字段映射。 |
cicode | read_only_udm.principal.location.city | 直接从 cicode 字段映射。 |
cn1 | read_only_udm.network.http.response_code | 直接从 cn1 字段映射,并转换为整数。 |
cs1 | read_only_udm.additional.fields.value.string_value | 直接从 cs1 字段映射。 |
cs2 | read_only_udm.additional.fields.value.string_value | 直接从 cs2 字段映射。 |
cs3 | read_only_udm.additional.fields.value.string_value | 直接从 cs3 字段映射。 |
cs4 | read_only_udm.additional.fields.value.string_value | 直接从 cs4 字段映射。 |
cs5 | read_only_udm.additional.fields.value.string_value | 直接从 cs5 字段映射。 |
cs6 | read_only_udm.additional.fields.value.string_value | 直接从 cs6 字段映射。 |
cs7 | read_only_udm.additional.fields.value.string_value | 直接从 cs7 字段映射。 |
cs8 | read_only_udm.additional.fields.value.string_value | 直接从 cs8 字段映射。 |
cs9 | read_only_udm.additional.fields.value.string_value | 直接从 cs9 字段映射。 |
cpt | read_only_udm.principal.port | 直接从 cpt 字段映射,并转换为整数。 |
客户 | read_only_udm.principal.user.user_display_name | 直接从 Customer 字段映射。 |
deviceExternalId | read_only_udm.about.asset.asset_id | 该值是通过将“Incapsula.SIEMintegration:”与 deviceExternalId 字段串联而派生出来的。 |
deviceFacility | read_only_udm.principal.location.city | 直接从 deviceFacility 字段映射。 |
dproc | read_only_udm.target.process.command_line | 直接从 dproc 字段映射。 |
end | read_only_udm.security_result.detection_fields.value | 直接从 end 字段映射。 |
文件 ID | read_only_udm.network.session_id | 直接从 fileId 字段映射。 |
filePermission | read_only_udm.about.resource.attribute.permissions.name | 直接从 filePermission 字段映射。 |
英寸 | read_only_udm.network.received_bytes | 直接从 in 字段映射。 |
qstr | read_only_udm.security_result.detection_fields.value | 直接从 qstr 字段映射。 |
请求 | read_only_udm.target.url | 直接从 request 字段映射。 |
requestClientApplication | read_only_udm.network.http.user_agent | 直接从 requestClientApplication 字段映射。 |
requestMethod | read_only_udm.network.http.method | 直接从 requestMethod 字段映射。 |
siteid | read_only_udm.security_result.detection_fields.value | 直接从 siteid 字段映射。 |
sip | read_only_udm.target.ip | 直接从 sip 字段映射。 |
sourceServiceName | read_only_udm.principal.application | 直接从 sourceServiceName 字段映射。 |
spt | read_only_udm.target.port | 直接从 spt 字段映射,并转换为整数。 |
src | read_only_udm.principal.ip | 直接从 src 字段映射。 |
start | read_only_udm.security_result.detection_fields.value | 直接从 start 字段映射。 |
suid | read_only_udm.principal.user.userid | 直接从 suid 字段映射。 |
ver | read_only_udm.network.tls.version | 直接从 ver 字段映射。 |
read_only_udm.about.asset.asset_id | 该值是通过将“Incapsula.SIEMintegration:”与 deviceExternalId 字段串联而派生出来的。 |
|
read_only_udm.additional.fields.key | 值由解析器逻辑根据字段的标签确定,例如: - cs1Label 映射到“Cap Support”- cs2Label 映射到“Javascript Support”- cs3Label 映射到“CO Support”- cs4Label 映射到“VID”- cs5Label 映射到“clappsig”- cs6Label 映射到“clapp”- cs7Label 映射到“latitude”- cs8Label 映射到“longitude”- cs9Label 映射到“Rule name” |
|
read_only_udm.metadata.event_timestamp.nanos | 直接从 collection_time.nanos 字段映射。 |
|
read_only_udm.metadata.event_timestamp.seconds | 直接从 collection_time.seconds 字段映射。 |
|
read_only_udm.metadata.event_type | 该值根据 src 和 sip 字段是否存在来确定:- 如果这两个字段都存在,则该值设置为“NETWORK_HTTP”。 - 如果仅存在 src ,则该值设置为“USER_UNCATEGORIZED”。- 否则,该值设置为“GENERIC_EVENT”。 |
|
read_only_udm.metadata.product_event_type | 该值是通过串联以下内容得出的:“[”、索引 4 处的 CEF 标头字段中的数值、“] - ”以及索引 4 处的 CEF 标头字段中的文本说明。 | |
read_only_udm.metadata.product_name | 值静态设置为“SIEMintegration”。 | |
read_only_udm.metadata.product_version | 值静态设置为“1”。 | |
read_only_udm.metadata.vendor_name | 值静态设置为“Incapsula”。 | |
read_only_udm.security_result.detection_fields.key | 根据正在处理的相应字段,将值静态设置为“siteid”“event_start_time”“event_end_time”或“qstr”。 | |
read_only_udm.security_result.severity | 值静态设置为“LOW”。 | |
read_only_udm.target.port | 直接从 spt 字段映射,并转换为整数。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。