收集 Infoblox 日志

支持的平台:

本文档介绍了如何使用 Google Security Operations 转发器收集 Infoblox 日志。

如需了解详情,请参阅将数据提取到 Google 安全运营中心

注入标签标识将原始日志数据标准化为结构化 UDM 格式的解析器。本文档中的信息适用于具有 INFOBLOX_DNS 注入标签的解析器。

配置 Infoblox

  1. 登录 Infoblox 网页界面。
  2. 在 Infoblox Web 界面中,依次选择 System > System properties editor > Monitoring
  3. 选中 Log to external syslog servers 复选框。
  4. 外部 syslog 服务器部分,点击加号 (+) 为 Google 安全运营转发器添加新的 syslog 服务器。
  5. 地址字段中,输入 Google 安全运营转发器服务器 IP 地址。
  6. 传输列表中,选择 TCPUDP
  7. 端口字段中,输入端口号。
  8. Node ID 列表中,选择 LAN 以在 syslog 标头中添加 Infoblox IP。
  9. 可用列表中,选择以下内容并将其移至已选列表:
    • DNS 查询
    • DNS 响应
    • DHCP 流程

Infoblox 服务器使用 syslog 将查询和响应日志转发给 Google 安全运营转发器。

配置 Google 安全运维转发器和 syslog 以注入 Infoblox 日志

  1. 依次选择 SIEM 设置 > 转发器
  2. 点击添加新转发器
  3. 转发器名称字段中输入一个唯一名称。
  4. 点击提交,然后点击确认。系统会添加转发器,并显示添加收集器配置窗口。
  5. 收集器名称字段中,为收集器输入一个唯一名称。
  6. 选择 Infoblox 作为日志类型
  7. 选择 Syslog 作为收集器类型
  8. 配置以下输入参数:
    • 协议:指定收集器将用于监听 syslog 数据的连接协议。
    • 地址:指定收集器所在并监听 syslog 数据的目标 IP 地址或主机名。
    • 端口:指定收集器所在的目标端口,以及收集器监听 syslog 数据的端口。
  9. 点击提交

如需详细了解 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 模式从其他字段(例如 messagemsg2)中提取。
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.iptarget.hostname 使用 Grok 模式从原始日志的 message 字段中提取。如果它是有效的 IP 地址,则会映射到 target.ip;否则,会映射到 target.hostname
dst_ip1 target.iptarget.hostname 使用 Grok 模式从原始日志的 messagemsg2 字段中提取。如果它是有效的 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.ipintermediary.hostname 使用 Grok 模式从原始日志的 message 字段中提取。如果它是有效的 IP 地址,则会映射到 intermediary.ip;否则,会映射到 intermediary.hostname
msg2 metadata.descriptiondns.response_codedns_question.nametarget.iptarget.hostnameanswers.nameanswers.ttlanswers.dataanswers.classanswers.typesecurity_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 模式从原始日志的 descriptionmessage 字段中提取,并映射到 principal.hostname
src_ip principal.ipprincipal.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_DNSNETWORK_CONNECTIONSTATUS_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:”。