收集 Aruba ClearPass 日志
本文档介绍了如何使用 Bindplane 收集 Aruba ClearPass 日志。解析器会尝试通过移除多余字段并标准化消息格式来清理和结构化传入的日志。然后,根据日志遵循 CEF 格式还是其他结构,该代码会组合使用 Grok 模式、键值提取和条件逻辑将相关字段映射到统一数据模型 (UDM),最终将每个事件归类为特定的安全事件类型。
准备工作
- 确保您有一个 Google Security Operations 实例。
- 确保您使用的是 Windows 2016 或更高版本,或者使用了
systemd
的 Linux 主机。 - 如果在代理后面运行,请确保防火墙端口处于打开状态。
- 确保您对 Aruba ClearPass 具有特权访问权限。
获取 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: '/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 ingestion_labels: log_type: CLEARPASS raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
根据基础架构中的需要替换端口和 IP 地址。
将
<customer_id>
替换为实际的客户 ID。在获取 Google SecOps 提取身份验证文件部分中,将
/path/to/ingestion-authentication-file.json
更新为身份验证文件的保存路径。
重启 Bindplane 代理以应用更改
如需在 Linux 中重启 Bindplane 代理,请运行以下命令:
sudo systemctl restart bindplane-agent
如需在 Windows 中重启 Bindplane 代理,您可以使用服务控制台,也可以输入以下命令:
net stop BindPlaneAgent && net start BindPlaneAgent
配置 Aruba ClearPass syslog 服务器
- 登录 ClearPass Policy Manager 控制台。
- 依次选择管理 > 外部服务器 > Syslog 目标。
- 点击添加。
- 在随即显示的添加 syslog 目标窗口中,指定以下详细信息:
- 主机地址:输入 Bindplane IP 地址。
- 服务器端口:输入 Bindplane 端口号。
- 协议:选择 UDP(您也可以选择 TCP,具体取决于您的绑定平面配置)。
- 点击保存。
配置 syslog 导出过滤器
- 依次选择管理 > 外部服务器 > Syslog 导出过滤器。
- 点击添加。
- 在随即显示的添加 Syslog 过滤条件窗口中,在常规标签页中指定以下内容:
- 在导出模板列表中,选择会话或数据分析导出模板后,系统会启用过滤条件和列标签页。请完成以下步骤:
- 在导出模板列表中,如果您选择系统事件和审核记录导出模板,过滤条件和列标签页将处于停用状态。前往摘要标签页,然后点击保存。
- 根据导出模板项摘要表格中的详细信息,重复上述步骤,为所有会话、数据分析、审核记录和系统事件导出模板添加 syslog 导出过滤条件。
导出模板项
下表介绍了您需要为每个导出模板配置的项目。事件解析支持“所选列”中列出的默认字段。确保“所选列(默认)”下表中提及的所有字段均已存在且顺序相同。请务必按照表格中提供的说明创建 syslog 导出过滤器模板,包括区分大小写的过滤器名称。
Syslog 导出过滤条件名称(区分大小写) | 导出模板 | 预定义的字段组 | 所选列(默认) |
---|---|---|---|
ACPPM_radauth | 数据分析日志 | Radius 身份验证 | Auth.Username Auth.Host-MAC-Address Auth.Protocol Auth.NAS-IP-Address CppmNode.CPPM-Node Auth.Login-Status Auth.Service Auth.Source Auth.Roles Auth.Enforcement-Profiles |
ACPPM_radfailedauth | 数据分析日志 | Radius 身份验证失败 | Auth.Username Auth.Host-MAC-Address Auth.NAS-IP-Address CppmNode.CPPM-Node Auth.Service CppmErrorCode.Error-Code-Details CppmAlert.Alerts |
ACPPM_radacct | 数据分析日志 | RADIUS 会计 | Radius.Username Radius.Calling-Station-Id Radius.Framed-IP-Address Radius.NAS-IP-Address Radius.Start-Time Radius.End-Time Radius.Duration Radius.Input-bytes Radius.Output-bytes |
ACPPM_tacauth | 数据分析日志 | tacacs 身份验证 | tacacs.Username tacacs.Remote-Address tacacs.Request-Type tacacs.NAS-IP-Address tacacs.Service tacacs.Auth-Source tacacs.Roles tacacs.Enforcement-Profiles tacacs.Privilege-Level |
ACPPM_tacfailedauth | 数据分析日志 | tacacs 身份验证失败 | tacacs.Username tacacs.Remote-Address tacacs.Request-Type tacacs.NAS-IP-Address tacacs.Service CppmErrorCode.Error-Code-Details CppmAlert.Alerts |
ACPPM_webauth | 数据分析日志 | WEBAUTH | Auth.Username Auth.Host-MAC-Address Auth.Host-IP-Address Auth.Protocol Auth.System-Posture-Token CppmNode.CPPM-Node Auth.Login-Status Auth.Service Auth.Source Auth.Roles Auth.Enforcement-Profiles |
ACPPM_webfailedauth | 数据分析日志 | WEBAUTH 身份验证失败 | Auth.Username Auth.Host-MAC-Address Auth.Host-IP-Address Auth.Protocol Auth.System-Posture-Token CppmNode.CPPM-Node Auth.Login-Status Auth.Service CppmErrorCode.Error-Code-Details CppmAlert.Alerts |
ACPPM_appauth | 数据分析日志 | 应用身份验证 | Auth.Username Auth.Host-IP-Address Auth.Protocol CppmNode.CPPM-Node Auth.Login-Status Auth.Service Auth.Source Auth.Roles Auth.Enforcement-Profiles |
ACPPM_failedappauth | 数据分析日志 | 应用身份验证失败 | Auth.Username Auth.Host-IP-Address Auth.Protocol CppmNode.CPPM-Node Auth.Login-Status Auth.Service CppmErrorCode.Error-Code-Details CppmAlert.Alerts |
ACPPM_endpoints | 数据分析日志 | 端点 | Endpoint.MAC-Address Endpoint.MAC-Vendor Endpoint.IP-Address Endpoint.Username Endpoint.Device-Category Endpoint.Device-Family Endpoint.Device-Name Endpoint.Conflict Endpoint.Status Endpoint.Added-At Endpoint.Updated-At |
ACPPM_cpguest | 数据分析日志 | Clearpass Guest | Guest.Username Guest.MAC-Address Guest.Visitor-Name Guest.Visitor-Company Guest.Role-Name Guest.Enabled Guest.Created-At Guest.Starts-At Guest.Expires-At |
ACPPM_onbenroll | 数据分析日志 | 新手入门注册 | OnboardEnrollment.Username OnboardEnrollment.Device-Name OnboardEnrollment.MAC-Address OnboardEnrollment.Device-Product OnboardEnrollment.Device-Version OnboardEnrollment.Added-At OnboardEnrollment.Updated-At |
ACPPM_onbcert | 数据分析日志 | 新手入门证书 | OnboardCert.Username OnboardCert.Mac-Address OnboardCert.Subject OnboardCert.Issuer OnboardCert.Valid-From OnboardCert.Valid-To OnboardCert.Revoked-At |
ACPPM_onboscp | 数据分析日志 | 配置 OCSP | OnboardOCSP.Remote-Address OnboardOCSP.Response-Status-Name OnboardOCSP.Timestamp |
ACPPM_cpsysevent | 数据分析日志 | Clearpass 系统事件 | CppmNode.CPPM-Node CppmSystemEvent.Source CppmSystemEvent.Level CppmSystemEvent.Category CppmSystemEvent.Action CppmSystemEvent.Timestamp |
ACPPM_cpconfaudit | 数据分析日志 | Clearpass 配置审核 | CppmConfigAudit.Name CppmConfigAudit.Action CppmConfigAudit.Category CppmConfigAudit.Updated-By CppmConfigAudit.Updated-At |
ACPPM_possummary | 数据分析日志 | 状态摘要 | Endpoint.MAC-Address Endpoint.IP-Address Endpoint.Hostname Endpoint.Usermame Endpoint.System-Agent-Type Endpoint.System-Agent-Version Endpoint.System-Client-OS Endpoint.System-Posture-Token Endpoint.Posture-Healthy Endpoint.Posture-Unhealthy |
ACPPM_posfwsummary | 数据分析日志 | 安全状况防火墙摘要 | Endpoint.MAC-Address Endpoint.IP-Address Endpoint.Hostname Endpoint.Usermame Endpoint.System-Agent-Type Endpoint.System-Agent-Version Endpoint.System-Client-OS Endpoint.System-Posture-Token Endpoint.Firewall-APT Endpoint.Firewall-Input Endpoint.Firewall-Output |
ACPPM_poavsummary | 数据分析日志 | 杀毒状况摘要 | Endpoint.MAC-Address Endpoint.IP-Address Endpoint.Hostname Endpoint.Usermame Endpoint.System-Agent-Type Endpoint.System-Agent-Version Endpoint.System-Client-OS Endpoint.System-Posture-Token Endpoint.Antivirus-APT Endpoint.Antivirus-Input Endpoint.Antivirus-Output |
ACPPM_posassummary | 数据分析日志 | 反间谍软件状况摘要 | Endpoint.MAC-Address Endpoint.IP-Address Endpoint.Hostname Endpoint.Usermame Endpoint.System-Agent-Type Endpoint.System-Agent-Version Endpoint.System-Client-OS Endpoint.System-Posture-Token Endpoint.Antispyware-APT Endpoint.Antispyware-Input Endpoint.Antispyware-Output |
ACPPM_posdskencrpsummary | 数据分析日志 | 状态“DiskEncryption”摘要 | Endpoint.MAC-Address Endpoint.IP-Address Endpoint.Hostname Endpoint.Usermame Endpoint.System-Agent-Type Endpoint.System-Agent-Version Endpoint.System-Client-OS Endpoint.System-Posture-Token Endpoint.DiskEncryption-APT Endpoint.DiskEncryption-Input Endpoint.DiskEncryption-Output |
ACPPM_loggedusers | 会话日志 | 已登录的用户 | Common.Username Common.Service Common.Roles Common.Host-MAC-Address RADIUS.Acct-Framed-IP-Address Common.NAS-IP-Address Common.Request-Timestamp |
ACPPM_failedauth | 会话日志 | 身份验证失败 | Common.Username Common.Service Common.Roles RADIUS.Auth-Source RADIUS.Auth-Method Common.System-Posture-Token Common.Enforcement-Profiles Common.Host-MAC-Address Common.NAS-IP-Address Common.Error-Code Common.Alerts Common.Request-Timestamp |
ACPPM_radacctsession | 会话日志 | RADIUS 会计 | RADIUS.Acct-Username RADIUS.Acct-NAS-IP-Address RADIUS.Acct-NAS-Port RADIUS.Acct-NAS-Port-Type RADIUS.Acct-Calling-Station-Id RADIUS.Acct-Framed-IP-Address RADIUS.Acct-Session-Id RADIUS.Acct-Session-Time RADIUS.Acct-Output-Pkts RADIUS.Acct-Input-Pkts RADIUS.Acct-Output-Octets RADIUS.Acct-Input.Octets RADIUS.Acct-Service-Name RADIUS.Acct-Timestamp |
ACPPM_tacadmin | 会话日志 | tacacs+ 管理 | Common.Username Common.Service tacacs.Remote-Address tacacs.Privilege.Level Common.Request-Timestamp |
ACPPM_tacacct | 会话日志 | tacacs+ 会计 | Common.Username Common.Service tacacs.Remote-Address tacacs.Acct-Flags tacacs.Privilege.Level Common.Request-Timestamp |
ACPPM_webauthsession | 会话日志 | Web 身份验证 | Common.Username Common.Host-MAC-Address WEBAUTH.Host-IP-Address Common.Roles Common.System-Posture-Token Common.Enforcement-Profiles Common.Request-Timestamp |
ACPPM_guestacc | 会话日志 | 访客访问权限 | Common.Username RADIUS.Auth-Method Common.Host-MAC-Address Common.Roles Common.System-Posture-Token Common.Enforcement-Profiles Common.Request-Timestamp |
ACPPM_auditrecords | 审核记录 | 不适用 | 不适用 |
ACPPM_systemevents | 系统事件 | 不适用 | 不适用 |
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
操作 | security_result.action | 如果“Action”字段的值为“ALLOW”或“BLOCK”,则从该字段映射值 |
Auth.Enforcement-Profiles | security_result.detection_fields.value | 值是从“Auth.Enforcement-Profiles”字段映射的 |
Auth.Host-MAC-Address | principal.mac | 值是从“Auth.Host-MAC-Address”字段映射的,前提是该字段已转换为以英文冒号分隔的 MAC 地址格式 |
Auth.Login-Status | security_result.detection_fields.value | 值从“Auth.Login-Status”字段映射而来 |
Auth.NAS-IP-Address | target.ip | 值从“Auth.NAS-IP-Address”字段映射而来 |
Auth.Protocol | intermediary.application | 值从“Auth.Protocol”字段映射而来 |
Auth.Service | security_result.detection_fields.value | 值从“Auth.Service”字段映射而来 |
Auth.Source | principal.hostname | 值是从“Auth.Source”字段映射的,其中移除了所有前导字母数字字符和空格 |
Auth.Username | principal.user.user_display_name | 值从“Auth.Username”字段映射而来 |
类别 | metadata.event_type | 如果值为“已登录”,UDM 字段会设置为“USER_LOGIN”。如果值为“已退出”,则 UDM 字段设置为“USER_LOGOUT” |
Common.Alerts | security_result.description | 值从“Common.Alerts”字段映射而来 |
Common.Enforcement-Profiles | security_result.detection_fields.value | 值是从“Common.Enforcement-Profiles”字段映射的 |
Common.Login-Status | security_result.detection_fields.value | 值从“Common.Login-Status”字段映射而来 |
Common.NAS-IP-Address | target.ip | 值从“Common.NAS-IP-Address”字段映射而来 |
Common.Roles | principal.user.group_identifiers | 值从“Common.Roles”字段映射而来 |
Common.Service | security_result.detection_fields.value | 值从“Common.Service”字段映射而来 |
Common.Username | principal.user.userid | 值从“Common.Username”字段映射而来 |
组件 | intermediary.application | 值从“Component”(组件)字段映射而来 |
说明 | metadata.description | 将换行符替换为管道符后,系统会从“Description”字段映射值。如果“Description”字段包含“User”“Address”和“Role”,则系统会将其解析为键值对,并映射到相应的 UDM 字段。如果“Description”字段包含“Unable connection with”,则系统会提取目标主机名并将其映射到“target.hostname” |
EntityName | principal.hostname | 值从“EntityName”字段映射而来 |
InterIP | target.ip | 值从“InterIP”字段映射而来 |
级别 | security_result.severity | 如果值为“ERROR”或“FATAL”,则 UDM 字段会设为“HIGH”。如果值为“WARN”,则 UDM 字段会设为“MEDIUM”。如果值为“INFO”或“DEBUG”,则 UDM 字段会设为“LOW” |
LogNumber | metadata.product_log_id | 值从“LogNumber”字段映射而来 |
RADIUS.Acct-Framed-IP-Address | principal.ip | 值从“RADIUS.Acct-Framed-IP-Address”字段映射而来 |
时间戳 | metadata.event_timestamp | 值是从“时间戳”字段映射的,在将其转换为 UTC 并将其解析为时间戳后 |
用户 | principal.user.userid | 值从“用户”字段映射而来 |
agent_ip | principal.ip、principal.asset.ip | 值从“agent_ip”字段映射而来 |
社区 | additional.fields.value.string_value | 值从“社区”字段映射而来 |
descr | metadata.description | 值从“descr”字段映射而来 |
企业版 | additional.fields.value.string_value | 值从“企业”字段映射而来 |
eventDescription | metadata.description | 值是从“eventDescription”字段映射的,移除引号后 |
generic_num | additional.fields.value.string_value | 值从“generic_num”字段映射而来 |
prin_mac | principal.mac | 值是从“prin_mac”字段映射的,该字段已转换为以英文冒号分隔的 MAC 地址格式 |
prin_port | principal.port | 值从“prin_port”字段映射并转换为整数 |
specificTrap_name | additional.fields.value.string_value | 值从“specificTrap_name”字段映射而来 |
specificTrap_num | additional.fields.value.string_value | 值是从“specificTrap_num”字段映射的 |
uptime | additional.fields.value.string_value | 值从“uptime”字段映射而来 |
版本 | metadata.product_version | 值是从“version”字段映射的 |
extensions.auth.type | 值设置为“SSO” | |
metadata.event_type | 值是根据各种日志字段和解析器逻辑确定的。如需了解详情,请参阅解析器代码 | |
metadata.log_type | 值设置为“CLEARPASS” | |
metadata.product_name | 值设置为“ClearPass” | |
metadata.vendor_name | 值设置为“ArubaNetworks” |
变化
2024-09-12
增强功能:
- 添加了对解析新格式 SYSLOG 和 JSON 日志的支持。
2024-08-08
增强功能:
- 将
Acct-NAS-IP-Address
映射到principal.ip
。 - 将
Acct-Username
映射到principal.user.userid
。 - 将
Acct-Calling-Station-Id
映射到principal.user.product_object_id
。
2024-05-05
增强功能:
- 处理了未解析的 SYSLOG 格式日志。
- 将
prin_port
映射到principal.port
。 - 将
agent_ip
映射到principal.ip
和principal.asset.ip
。 - 将
descr
和eventDescription
映射到metadata.description
。 - 将
version
映射到metadata.product_version
。 - 将
specificTrap_name
、uptime
、enterprise
、generic_num
、specificTrap_num
和community
映射到additional.fields
。
2024-01-11
增强功能:
- 将
Common.NAS-IP-Address
映射到target.ip
。 - 将
Common.Service
、Common.Enforcement-Profiles
和Common.Login-Status
映射到security_result.detection_fields
。
2022-08-18
增强功能:
- 处理了格式为 CEF 且未解析的日志,以提高解析率。
- 将
metadata.event_type
映射到STATUS_UPDATE
(如果principal.hostname/principal.ip
不为 null),否则将其映射为GENERIC_EVENT
。
2022-07-08
增强功能:
- 将
_target_user_groupid
的映射从target.user.groupid
修改为了target.user.group_identifiers
。 - 将
Common.Roles
的映射从principal.user.groupid
修改为了principal.user.group_identifiers
。
需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。