收集 F5 BIG-IP APM 日志

支持的平台:

本文档介绍了如何使用 Google 安全运营转发器收集 F5 BIG-IP Access Policy Manager (APM) 日志。

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

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

配置 F5 BIG-IP APM

  1. 使用管理员凭据登录 BIG-IP 配置实用程序门户。
  2. 依次选择主要 > 系统 > 日志 > 配置 > 远程日志记录
  3. 属性部分中,执行以下操作:

    • 远程 IP 字段中,输入 Google 安全运营转发器的 IP 地址。
    • 远程端口字段中,输入一个较高的端口号。
  4. 点击添加

  5. 点击更新

    对于来自 APM 的日志,仅支持 Berkeley Software Distribution (BSD) syslog 格式。

    收集器仅根据 APM 中的签名处理 APM 日志。F5 BIG-IP APM 事件收集器也支持从 LTM 11.6 到 12.1.1 设备的多线程日志。

    如果您使用的是 iRule,请使用 iRule 的推荐格式。Google Security Operations 仅支持以下 iRule 格式:

    # log_header_requests
    ###################################################################################
    #################################################
    # Purpose: logs header information to Local Traffic log
    # #
    #
    # Update-Log Date By Description
    # Created 02/07/2020 E01961 Initial implementation
    #
    #
    ###################################################################################
    ################################################
    when HTTP_REQUEST {
    set LogString "Client [IP::client_addr]:[TCP::client_port] -> [HTTP::host]
    [HTTP::uri]"
    log local5. "================="
    log local5. "$LogString (request)"
    foreach aHeader [HTTP::header names] {
    log local5. "$aHeader: [HTTP::header value $aHeader]"
    }
    # set UserID [URI::query "?[HTTP::payload]" "UserID"]
    # log local0. "User $UserID attempted login from [IP::client_addr] and referer:
    [HTTP::header "Referer"]"
    # log local0. "============================================="
    }
    when HTTP_RESPONSE {
    log local5. "=================="
    log local5. "$LogString (response) - status: [HTTP::status]"
    foreach aHeader [HTTP::header names] {
    log local5. "$aHeader: [HTTP::header value $aHeader]"
    }
    # log local0. "============================================="
    

配置 F5 BIG-IP DNS

如需配置 F5 BIG-IP DNS,请执行以下任务:

创建远程日志记录服务器池

  1. Main 标签页中,依次选择 DNS > Delivery > Load balancing > Pools or local traffic > Pools
  2. 在随即显示的池列表窗口中,点击创建
  3. 在随即显示的新建池窗口中,在名称字段中为池提供一个唯一的名称。
  4. 新成员部分,添加您要添加到池中的每个远程日志记录服务器的 IP 地址:
    1. 地址字段中,输入 Google 安全运营转发器 IP 地址,或从节点列表中选择节点地址。
    2. 服务端口字段中,输入服务编号或从列表中选择服务名称。确保您已配置正确的远程日志记录端口。
  5. 点击添加,然后点击完成

创建远程高速日志目的地

  1. 主要标签页中,依次选择系统 > 日志 > 配置 > 日志目的地
  2. 在随即显示的日志目的地窗口中,点击创建
  3. 名称字段中,为此目标位置提供一个唯一且可识别的名称。
  4. 类型列表中,选择远程高速日志
  5. 池名称列表中,选择您希望 BIG-IP 系统向其发送日志消息的远程日志服务器池。
  6. 协议列表中,选择高速日志记录池成员使用的协议。
  7. 点击 Finished

创建格式化的远程高速日志目的地

  1. 主要标签页中,依次选择系统 > 日志 > 配置 > 日志目的地
  2. 在随即显示的日志目的地窗口中,点击创建
  3. 名称字段中,为此目标位置提供一个唯一且可识别的名称。
  4. 类型列表中,选择格式化的日志记录目的地为远程 syslog。 BIG-IP 系统现在已配置为向日志服务器发送格式化的文本字符串。
  5. 类型列表中,为日志选择一种格式。
  6. 转发到标签页中,选择高速日志目的地列表,然后选择指向您希望 BIG-IP 系统向其发送日志消息的远程 syslog 服务器池的目标位置。
  7. 点击 Finished

创建发布商

  1. 主要标签页中,依次选择系统 > 日志 > 配置 > 日志发布方
  2. 在随即显示的日志发布方窗口中,点击创建
  3. 名称字段中,为发布商提供一个唯一且可识别的名称。
  4. 日志发布方列表中,从可用列表中选择之前创建的目标位置。
  5. 如要将目标文件夹移至所选列表,请点击 << 移动
  6. 如果您使用的是格式化目标,请选择与您的日志服务器匹配的新创建的目标,例如远程 syslogSplunkArcSight
  7. 点击 Finished

创建自定义 DNS 日志记录配置文件

  1. 主要标签页中,依次选择 DNS > 传送 > 配置文件 > 其他 DNS 日志记录本地流量 > 配置文件 > 其他 > DNS 日志记录
  2. 在随即显示的 DNS 日志记录配置文件列表窗口中,点击创建
  3. Name 字段中,为配置文件提供一个唯一的名称。
  4. Log publisher(日志发布方)列表中,选择 BIG-IP 系统将 DNS 日志条目发送到的目标位置。
  5. 如果您希望 BIG-IP 系统:
    • 如需记录所有 DNS 查询,请确保在记录查询设置中选中“已启用”复选框。
    • 如需记录所有 DNS 响应,请在记录响应设置中,选中“已启用”复选框。
    • 如需在日志消息中包含客户端发送的查询 ID,请在 Include query ID(包含查询 ID)设置中,选中已启用复选框。
  6. 点击 Finished

向监听器添加 DNS 日志记录配置文件

  1. 主要标签页中,依次选择 DNS > 传送 > 监听器 > DNS 监听器
  2. 服务部分,从 DNS 配置文件列表中,选择您之前配置的 DNS 配置文件。
  3. 点击更新

配置 Google Security Operations 转发器以提取 F5 BIG-IP APM 日志

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

如需详细了解 Google Security Operations 转发器,请参阅通过 Google Security Operations 界面管理转发器配置

如果您在创建转发器时遇到问题,请与 Google 安全运营支持团队联系。

字段映射参考文档

此 F5 BIG-IP APM 解析器会从 syslog 消息中提取字段,并根据应用来源(tmsh、tmm、apmd、httpd 或其他)对其进行分类。然后,它会将这些提取的字段映射到 UDM,处理各种日志格式,并使用严重程度、位置和用户信息等元数据丰富数据。

UDM 映射表

日志字段 UDM 映射 逻辑
应用 principal.application 该值取自 grok 过滤器提取的 application 字段。
bytes_in network.received_bytes 该值取自 grok 过滤器提取的 bytes_in 字段,并转换为无符号整数。
bytes_out network.sent_bytes 该值取自 grok 过滤器提取的 bytes_out 字段,并转换为无符号整数。
cmd_data principal.process.command_line 该值取自 kv 过滤器提取的 cmd_data 字段。
destination_ip target.ip 该值取自 grok 过滤器提取的 destination_ip 字段。
destination_port target.port 该值取自 grok 过滤器提取的 destination_port 字段,并转换为整数。
文件夹 principal.process.file.full_path 该值取自 kv 过滤器提取的 folder 字段。
geoCountry principal.location.country_or_region 该值取自 grok 过滤器提取的 geoCountry 字段。
geoState principal.location.state 该值取自 grok 过滤器提取的 geoState 字段。
inner_msg security_result.description 如果没有其他具体说明,该值将从 grok 过滤器提取的 inner_msg 字段中获取。
ip_protocol network.ip_protocol 该值取自 grok 过滤器提取的 ip_protocol 字段。
principal_hostname principal.hostname 该值取自 grok 过滤器提取的 principal_hostname 字段。
principal_ip principal.ip 该值取自 grok 过滤器提取的 principal_ip 字段。
process_id principal.process.pid 该值取自 grok 过滤器提取的 process_id 字段。
角色 user_role.name 该值取自 grok 过滤器提取的 role 字段。如果 role 字段包含“admin”(不区分大小写),则将值设为“ADMINISTRATOR”。
和程度上减少 security_result.severity_details syslog 消息的原始值存储在此处。该值是使用条件逻辑从 severity 字段派生的:
CRITICAL -> CRITICAL
ERR -> ERROR
ALERT, EMERGENCY -> HIGH
INFO, NOTICE -> INFORMATIONAL
DEBUG -> LOW
WARN -> MEDIUM
source_ip principal.ip 该值取自 grok 过滤器提取的 source_ip 字段。
source_port principal.port 该值取自 grok 过滤器提取的 source_port 字段,并转换为整数。
状态 security_result.summary 该值取自 kv 过滤器提取的 status 字段。
时间戳 metadata.event_timestamp、timestamp 该值取自 grok 过滤器提取的 timestamp 字段,并解析为时间戳对象。顶级 event 对象中的 timestamp 字段也会获取此值。
用户 principal.user.userid 该值取自 grok 过滤器提取的 user 字段,并移除了“id\"或“ID\"前缀。此值是根据其他字段的存在情况派生的:
如果 user 存在:USER_UNCATEGORIZED
如果 source_ipdestination_ip 存在:NETWORK_CONNECTION
如果 principal_ipprincipal_hostname 存在:STATUS_UPDATE
否则:GENERIC_EVENT 硬编码为“BIGIP_APM”。已硬编码为“F5”。如果 result 字段为“failed”,则值设为“BLOCK”。

变化

2023-06-06

  • 新创建的解析器。

需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。