收集 ArcSight CEF 日志

支持的语言:

本文档介绍了如何使用 Bindplane 将 ArcSight CEF(通用事件格式)日志注入到 Google Security Operations。解析器会将原始数据转换为结构化的统一数据模型 (UDM) 格式。它从 CEF 标头和扩展程序中提取字段,将这些字段映射到 UDM 字段,并执行特定逻辑,以根据提取的信息对用户登录、网络连接和资源访问等事件进行分类。

准备工作

请确保满足以下前提条件:

  • Google SecOps 实例
  • Windows 2016 或更高版本,或者具有 systemd 的 Linux 主机
  • 如果在代理后运行,防火墙端口处于开放状态
  • 在具有 Bindplane 代理网络访问权限的主机上安装了 ArcSight SmartConnector 8.4(或更高版本)
  • 对 OpenText 门户的特权访问权限

获取 Google SecOps 注入身份验证文件

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 收集代理
  3. 下载注入身份验证文件。将该文件安全地保存在将要安装 Bindplane 的系统上。

获取 Google SecOps 客户 ID

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 配置文件
  3. 复制并保存组织详细信息部分中的客户 ID

安装 Bindplane 代理

按照以下说明在 Windows 或 Linux 操作系统上安装 Bindplane 代理。

Windows 安装

  1. 以管理员身份打开命令提示符PowerShell
  2. 运行以下命令:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux 安装

  1. 打开具有 root 或 sudo 权限的终端。
  2. 运行以下命令:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

其他安装资源

如需了解其他安装选项,请参阅安装指南

配置 Bindplane 代理以注入 Syslog 并将其发送到 Google SecOps

  1. 访问配置文件:
    • 找到 config.yaml 文件。通常,它位于 Linux 上的 /etc/bindplane-agent/ 目录中,或位于 Windows 上的安装目录中。
    • 使用文本编辑器(例如 nanovi 或记事本)打开该文件。
  2. 按如下方式修改 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: 'ARCSIGHT_CEF'
            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
    

下载 ArcSight SmartConnector

  1. 登录 OpenText 支持门户
  2. 找到并下载适用于 Linux 的最新 ArcSight SmartConnector。
  3. 示例文件名:ArcSight-Connector-Linux64-8.4.0.8499.0.bin

安装 ArcSight SmartConnector

  1. .bin 文件上传到 SmartConnector 服务器:

    scp ArcSight-Connector-Linux64-8.4.0.8499.0.bin user@your-smartconnector-host:/tmp
    
  2. 使用 SSH 登录 SmartConnector 服务器,然后运行:

    cd /tmp
    chmod +x ArcSight-Connector-Linux64-8.4.0.8499.0.bin
    ./ArcSight-Connector-Linux64-8.4.0.8499.0.bin
    
  3. 按照互动式安装程序的指示操作:

    • 选择安装目录(例如 /opt/arcsight/connectors/current)。
    • 接受许可。
    • 看到提示时,选择安装连接器

配置 ArcSight SmartConnector 以将 CEF 发送到 Syslog

  1. SmartConnector 主机中,启动目标向导:

    cd /opt/arcsight/connectors/current/bin
    ./arcsight connectors
    
  2. 在向导中,执行以下操作:

    • 选择添加目的地
    • 选择 CEF Syslog
  3. 提供以下配置详细信息:

    • 主机/IP:输入 Bindplane 代理 IP 地址。
    • 端口:输入 Bindplane 代理端口号。
    • 协议:选择 UDP
  4. 完成设置并重启连接器:

    ./arcsight agents
    
  5. 运行连接检查(例如,查找:Successfully connected to syslog: X.X.X.X:514)。

    tail -f /opt/arcsight/connectors/current/logs/agent.log
    

UDM 映射表

日志字段 UDM 映射 逻辑
act security_result.action_details 直接从 act 字段映射。
agt principal.ip 直接从 agt 字段映射。
agt principal.asset.ip 直接从 agt 字段映射。
应用 network.application_protocol 直接从 app 字段映射。
艺术 metadata.event_timestamp.seconds 直接从 art 字段映射。
cs2 additional.fields.value.string_value cs2LabelEventlogCategory 时,直接从 cs2 字段映射。
cs2Label additional.fields.key cs2Label 字段的值为 EventlogCategory 时,直接从该字段映射。
cs3 additional.fields.value.string_value cs3LabelProcess ID 时,直接从 cs3 字段映射。
cs3Label additional.fields.key cs3Label 字段的值为 Process ID 时,直接从该字段映射。
cs5 additional.fields.value.string_value cs5LabelAuthentication Package Name 时,直接从 cs5 字段映射。
cs5Label additional.fields.key cs5Label 字段的值为 Authentication Package Name 时,直接从该字段映射。
cs6 additional.fields.value.string_value cs6LabelLogon GUID 时,直接从 cs6 字段映射。
cs6Label additional.fields.key cs6Label 字段的值为 Logon GUID 时,直接从该字段映射。
dhost about.hostname 直接从 dhost 字段映射。
dhost target.hostname 直接从 dhost 字段映射。
dntdom about.administrative_domain 直接从 dntdom 字段映射。
dntdom target.administrative_domain 直接从 dntdom 字段映射。
dproc about.process.command_line 直接从 dproc 字段映射。
dproc target.process.command_line 直接从 dproc 字段映射。
dst principal.ip 直接从 dst 字段映射。
dst principal.asset.ip 直接从 dst 字段映射。
dst target.ip 直接从 dst 字段映射。
duid target.user.userid 直接从 duid 字段映射。
duser target.user.user_display_name 直接从 duser 字段映射。
dvc about.ip 直接从 dvc 字段映射。
dvchost about.hostname 直接从 dvchost 字段映射。
eventId additional.fields.value.string_value 直接从 eventId 字段映射。
externalId metadata.product_log_id 直接从 externalId 字段映射。
fname additional.fields.value.string_value 直接从 fname 字段映射。
msg metadata.description 直接从 msg 字段映射。
proto network.ip_protocol 直接从 proto 字段映射。将协议名称转换为相应的常量(例如,tcpTCP)。
rt metadata.event_timestamp.seconds 直接从 rt 字段映射。
shost about.hostname 直接从 shost 字段映射。
shost principal.hostname 直接从 shost 字段映射。
src principal.ip 直接从 src 字段映射。
src principal.asset.ip 直接从 src 字段映射。
src target.ip 直接从 src 字段映射。
sproc principal.process.command_line 直接从 sproc 字段映射。
spt principal.port 直接从 spt 字段映射。
spt target.port 直接从 spt 字段映射。
additional.EventRecordID additional.fields.value.string_value 直接从 ad.EventRecordID 字段映射。
additional.ThreadID additional.fields.value.string_value 直接从 ad.ThreadID 字段映射。
additional.Opcode additional.fields.value.string_value 直接从 ad.Opcode 字段映射。
additional.ProcessID additional.fields.value.string_value 直接从 ad.ProcessID 字段映射。
additional.TargetDomainName additional.fields.value.string_value 直接从 ad.TargetDomainName 字段映射。
additional.Version additional.fields.value.string_value 直接从 ad.Version 字段映射。
deviceExternalId about.asset.hardware.serial_number 直接从 deviceExternalId 字段映射。
deviceInboundInterface additional.fields.value.string_value 直接从 deviceInboundInterface 字段映射。
deviceOutboundInterface additional.fields.value.string_value 直接从 deviceOutboundInterface 字段映射。
PanOSConfigVersion security_result.detection_fields.value 直接从 PanOSConfigVersion 字段映射。
PanOSContentVersion security_result.detection_fields.value 直接从 PanOSContentVersion 字段映射。
PanOSDGHierarchyLevel1 security_result.detection_fields.value 直接从 PanOSDGHierarchyLevel1 字段映射。
PanOSDestinationLocation target.location.country_or_region 直接从 PanOSDestinationLocation 字段映射。
PanOSRuleUUID metadata.product_log_id 直接从 PanOSRuleUUID 字段映射。
PanOSThreatCategory security_result.category_details 直接从 PanOSThreatCategory 字段映射。
PanOSThreatID security_result.threat_id 直接从 PanOSThreatID 字段映射。
about.asset.asset_id 通过串联 Palo Alto Networks.、供应商名称 (LF) 和 deviceExternalId 字段生成。
extensions.auth.type 如果 event_name 字段包含 logged on,则设置为 AUTHTYPE_UNSPECIFIED
metadata.description 如果 description 字段包含 by,后跟 IP 地址,则系统会提取该 IP 地址并将其映射到 principal.ipprincipal.asset.ip
metadata.event_type 根据对各种字段(包括 event_nameprincipal_*target_*device_event_class_id)的一系列条件检查来确定。该逻辑会根据现有信息确定最合适的事件类型。
metadata.log_type 设置为 ARCSIGHT_CEF
metadata.product_event_type 通过串联 \[, the device_event_class_id field, \] -name 字段生成。
metadata.product_name 如果 product_name 字段为 LF,则设置为 NGFW
principal.asset.ip 如果 description 字段包含 by,后跟 IP 地址,则系统会提取该 IP 地址并将其映射到 principal.ipprincipal.asset.ip
principal.ip 如果 description 字段包含 by,后跟 IP 地址,则系统会提取该 IP 地址并将其映射到 principal.ipprincipal.asset.ip
security_result.action 如果 act 字段为 alert,则设置为 ALLOW;否则设置为 BLOCK
security_result.severity 如果 sev 字段大于或等于 7,则设置为 HIGH;否则设置为 LOW

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。