收集 Infoblox 日志
支持的平台:
Google SecOps
SIEM
本文档介绍了如何使用 Google Security Operations 转发器收集 Infoblox 日志。
如需了解详情,请参阅将数据提取到 Google 安全运营中心。
注入标签标识将原始日志数据标准化为结构化 UDM 格式的解析器。本文档中的信息适用于具有 INFOBLOX_DNS
注入标签的解析器。
配置 Infoblox
- 登录 Infoblox 网页界面。
- 在 Infoblox Web 界面中,依次选择 System > System properties editor > Monitoring。
- 选中 Log to external syslog servers 复选框。
- 在外部 syslog 服务器部分,点击加号 (+) 为 Google 安全运营转发器添加新的 syslog 服务器。
- 在地址字段中,输入 Google 安全运营转发器服务器 IP 地址。
- 在传输列表中,选择 TCP 或 UDP。
- 在端口字段中,输入端口号。
- 在 Node ID 列表中,选择 LAN 以在 syslog 标头中添加 Infoblox IP。
- 从可用列表中,选择以下内容并将其移至已选列表:
- DNS 查询
- DNS 响应
- DHCP 流程
Infoblox 服务器使用 syslog 将查询和响应日志转发给 Google 安全运营转发器。
配置 Google 安全运维转发器和 syslog 以注入 Infoblox 日志
- 依次选择 SIEM 设置 > 转发器。
- 点击添加新转发器。
- 在转发器名称字段中输入一个唯一名称。
- 点击提交,然后点击确认。系统会添加转发器,并显示添加收集器配置窗口。
- 在收集器名称字段中,为收集器输入一个唯一名称。
- 选择 Infoblox 作为日志类型。
- 选择 Syslog 作为收集器类型。
- 配置以下输入参数:
- 协议:指定收集器将用于监听 syslog 数据的连接协议。
- 地址:指定收集器所在并监听 syslog 数据的目标 IP 地址或主机名。
- 端口:指定收集器所在的目标端口,以及收集器监听 syslog 数据的端口。
- 点击提交。
如需详细了解 Google Security Operations 转发器,请参阅 Google Security Operations 转发器文档。如需了解每种转发器类型的要求,请参阅按类型配置转发器。
如果您在创建转发器时遇到问题,请与 Google 安全运营支持团队联系。
字段映射参考文档
此解析器会提取 SYSLOG 或 CEF 格式的 Infoblox DNS 日志,并将其标准化为 UDM。它使用 Grok 模式处理各种日志格式,提取源 IP 地址、目的 IP 地址、DNS 查询详细信息和安全信息等关键字段,并将其映射到适当的 UDM 字段。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
agent.hostname |
principal.hostname |
对于采用 CEF 格式的日志,如果存在 agent.hostname ,则会映射到 principal.hostname 。 |
client_ip |
principal.ip |
对于采用 CEF 格式的日志,如果存在 client_ip ,则会映射到 principal.ip 。 |
client_port |
principal.port |
对于采用 CEF 格式的日志,如果存在 client_port ,则会映射到 principal.port 。 |
data |
answers.data |
从原始日志中的 answers 部分的 data 字段中提取。多个实例会映射为单独的 answers 对象。 |
description |
metadata.description |
直接从原始日志的 description 字段映射,或使用 Grok 模式从其他字段(例如 message 和 msg2 )中提取。 |
dest_ip1 |
target.ip |
从原始日志中提取并映射到 target.ip 。 |
destinationDnsDomain |
dns_question.name |
对于采用 CEF 格式的日志,如果存在 destinationDnsDomain ,则会映射到 dns_question.name 。 |
dns_class |
dns_question.class |
使用 dns_query_class_mapping.include 查找表进行映射。 |
dns_domain |
dns_question.name |
使用 Grok 模式从原始日志的 message 字段中提取,并映射到 dns_question.name 。 |
dns_name |
dns_question.name |
使用 Grok 模式从 dns_domain 字段中提取,并映射到 dns_question.name 。 |
dns_records |
answers.data |
对于采用 CEF 格式的日志,如果存在 dns_records ,则会映射到 answers.data 。多个实例会映射为单独的 answers 对象。 |
dst_ip |
target.ip 或 target.hostname |
使用 Grok 模式从原始日志的 message 字段中提取。如果它是有效的 IP 地址,则会映射到 target.ip ;否则,会映射到 target.hostname 。 |
dst_ip1 |
target.ip 或 target.hostname |
使用 Grok 模式从原始日志的 message 或 msg2 字段中提取。如果它是有效的 IP 地址,则会映射到 target.ip ;否则,会映射到 target.hostname 。仅当与 dst_ip 不同时才会进行映射。 |
evt_type |
metadata.product_event_type |
直接从原始日志的 evt_type 字段映射而来,该字段是使用 Grok 模式从 message 字段中提取的。 |
InfobloxB1OPHIPAddress |
principal.ip |
对于采用 CEF 格式的日志,如果存在 InfobloxB1OPHIPAddress ,则会映射到 principal.ip 。 |
InfobloxB1Region |
principal.location.country_or_region |
对于采用 CEF 格式的日志,如果存在 InfobloxB1Region ,则会映射到 principal.location.country_or_region 。 |
InfobloxDNSQType |
dns_question.type |
对于采用 CEF 格式的日志,如果存在 InfobloxDNSQType ,则会映射到 dns_question.type 。 |
intermediary |
intermediary.ip 或 intermediary.hostname |
使用 Grok 模式从原始日志的 message 字段中提取。如果它是有效的 IP 地址,则会映射到 intermediary.ip ;否则,会映射到 intermediary.hostname 。 |
msg2 |
metadata.description 、dns.response_code 、dns_question.name 、target.ip 、target.hostname 、answers.name 、answers.ttl 、answers.data 、answers.class 、answers.type 、security_result.severity |
使用 Grok 模式从原始日志的 message 字段中提取。用于提取各种字段,但不会直接映射到 UDM。 |
name1 |
answers.name |
使用 Grok 模式从原始日志的 msg2 字段中提取,并映射到 answers.name 。 |
name2 |
answers.name |
使用 Grok 模式从原始日志的 msg2 字段中提取,并映射到 answers.name 。 |
protocol |
network.ip_protocol |
如果原始日志的 protocol 字段与已知协议匹配,则直接从该字段进行映射。 |
qclass |
dns_question.class |
用于将 dns_class 映射到 UDM 的中间字段。 |
qclass1 |
answers.class |
用于将 dns_class1 映射到 UDM 的中间字段。 |
qclass2 |
answers.class |
用于将 dns_class2 映射到 UDM 的中间字段。 |
query_type |
dns_question.type |
使用 dns_record_type.include 查找表进行映射。 |
query_type1 |
answers.type |
使用 dns_record_type.include 查找表进行映射。 |
query_type2 |
answers.type |
使用 dns_record_type.include 查找表进行映射。 |
recursion_flag |
network.dns.recursion_desired |
如果 recursion_flag 包含“+”,则会映射到 network.dns.recursion_desired (true)。 |
record_type |
dns_question.type |
用于将 query_type 映射到 UDM 的中间字段。 |
record_type1 |
answers.type |
用于将 query_type1 映射到 UDM 的中间字段。 |
record_type2 |
answers.type |
用于将 query_type2 映射到 UDM 的中间字段。 |
res_code |
network.dns.response_code |
使用 dns_response_code.include 查找表进行映射。 |
response_code |
network.dns.response_code |
对于 CEF 格式的日志,如果存在 response_code ,则系统会使用 dns_response_code.include 查找表将其映射到 network.dns.response_code 。 |
security_action |
security_result.action |
派生自 status 字段。如果 status 被“拒绝”,security_action 会设为“屏蔽”;否则,会设为“允许”。 |
severity |
security_result.severity |
对于 CEF 格式的日志,如果 severity 存在且为“信息性”,则会映射到 security_result.severity 并标记为“INFORMATIONAL”。 |
src_host |
principal.hostname |
使用 Grok 模式从原始日志的 description 或 message 字段中提取,并映射到 principal.hostname 。 |
src_ip |
principal.ip 或 principal.hostname |
使用 Grok 模式从原始日志的 message 字段中提取。如果它是有效的 IP 地址,则会映射到 principal.ip ;否则,会映射到 principal.hostname 。 |
src_port |
principal.port |
使用 Grok 模式从原始日志的 message 字段中提取,并映射到 principal.port 。 |
ttl1 |
answers.ttl |
使用 Grok 模式从原始日志的 msg2 字段中提取,并映射到 answers.ttl 。 |
ttl2 |
answers.ttl |
使用 Grok 模式从原始日志的 msg2 字段中提取,并映射到 answers.ttl 。 |
metadata.event_type |
metadata.event_type |
派生自各种字段和解析器逻辑。如果未识别出任何其他事件类型,则默认为 GENERIC_EVENT 。可能的值包括 NETWORK_DNS 、NETWORK_CONNECTION 和 STATUS_UPDATE 。 |
metadata.log_type |
metadata.log_type |
由解析器设置为“INFOBLOX_DNS”。 |
metadata.product_name |
metadata.product_name |
由解析器设置为“Infoblox DNS”。 |
metadata.vendor_name |
metadata.vendor_name |
由解析器设置为“INFOBLOX”。 |
metadata.product_version |
metadata.product_version |
从 CEF 消息中提取。 |
metadata.event_timestamp |
metadata.event_timestamp |
从 timestamp 字段复制。 |
network.application_protocol |
network.application_protocol |
如果 event_type 不是“GENERIC_EVENT”或“STATUS_UPDATE”,请将其设置为“DNS”。 |
变化
2023-10-17
- 添加了 Grok 模式来处理未解析的日志。
2023-06-19
- 编写了 Grok 模式以提取“主机名”“IP”和“端口”,并相应地更改了“event_type”。
2022-02-09
- 编写了 Grok 以提取“hostname”,并相应地更改了“event_type”。
- 将“src_host”映射到“principal.hostname”。
- 映射了适当的“event_type”。
2023-01-19
- 添加了 Grok 模式,以支持新的 Syslog。
- 添加了以下映射:
- 如果日志包含任何 IP 协议(例如 TCP 或 UDP),则值会映射到“network.ip_protocol”。
- 如果日志包含任何中继 IP 地址或主机名,则值会映射到“intermediary.ip/intermediary.hostname”。
2022-09-09
- 修改并将字段“syslog_timestamp”正确映射到“metadata.event_timestamp”。
2022-08-25
- 将字段“syslog_timestamp”映射到“metadata.event_timestamp”。
- 为映射到“principal.mac”的字段“smac”添加了 Grok 和条件检查。
- 为映射到“network.dns.questions”的字段“dns_domain”添加了条件检查。
- 为映射到“network.dns.answers.name”的字段“name1”添加了条件检查。
- 为映射到“network.dns.answers.ttl”的字段“ttl1”添加了条件检查。
2022-07-15
- bug 修复 - 从 network.dns.questions.name、network.dns.answers.name、network.dns.answers.data 中移除了最后一个字符(如果是英文句号)
2022-06-02
- 修复了 bug - 未从 syslog 日志中正确提取 IP,因此修改了 grok 以正确提取 IP。
- 增强功能 - 支持 CEF 格式日志。
- 映射了以下新字段:-
- 将 InfobloxB1OPHIPAddress 更改为 principal.ip
- 将 InfobloxDNSQType 更改为 dns.questions.type
- destinationDnsDomain 更改为 dns.questions.name
- 将 InfobloxB1Region 更改为 principal.location.country_or_region
2022-04-28
- 从“network.dns.questions.name”字段中移除了多余的字词“query:”。