收集 Microsoft System Center Endpoint Protection (SCEP) 日志

支持范围:

本文档介绍了如何通过使用 Microsoft Azure Blob Storage V2 设置 Google Security Operations Feed 来收集 Microsoft System Center Endpoint Protection (SCEP) 日志。

Microsoft System Center Endpoint Protection (SCEP) 是一款与 System Center Configuration Manager (SCCM) 集成的企业级反恶意软件和防病毒解决方案。SCEP 可为基于 Windows 的端点提供实时保护,防范恶意软件、病毒、间谍软件和其他恶意软件。SCEP 会将安全性事件写入 Microsoft-Windows-Windows Defender/Operational Windows 事件日志通道,该通道可使用 Azure Monitor 代理进行收集并导出到 Azure Blob Storage。

准备工作

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

  • Google SecOps 实例
  • 对 Microsoft Azure 门户的特权访问权限,包括:
    • 创建存储账号
    • 创建和管理 Log Analytics 工作区
    • 创建和管理数据收集规则
    • 配置数据导出规则
    • 管理访问密钥
  • Windows Server 2012 R2 或更高版本(已安装 SCEP),或者 Windows Server 2016 或更高版本(已安装 Windows Defender 杀毒软件)
  • 在 Windows 服务器上安装 Azure Monitor 代理(本地服务器需要 Azure Arc,Azure 虚拟机需要原生支持)
  • 对部署了 SCEP 的 Windows 服务器拥有管理员访问权限

配置 Azure 存储账号

创建存储账号

  1. 在 Azure 门户中,搜索存储账号。
  2. 点击 + 创建。
  3. 提供以下配置详细信息:

    设置 值
    订阅 选择您的 Azure 订阅
    资源组 选择现有组或创建新组
    存储账号名称 输入一个唯一名称(例如 sceplogssa)
    区域 选择区域(例如 East US)
    性能 标准(推荐)
    冗余 GRS(地理位置冗余存储)或 LRS(本地冗余存储)
  4. 点击检查 + 创建。

  5. 查看账号概览,然后点击创建。

  6. 等待部署完成。

获取存储账号凭证

  1. 前往您刚刚创建的存储账号。
  2. 在左侧导航栏中,选择安全性 + 网络下的访问密钥。
  3. 点击显示密钥。
  4. 复制并保存以下内容以供日后使用:
    • Storage 账号名称:您创建的名称(例如 sceplogssa)
    • 密钥 1 或密钥 2:共享访问密钥(采用 base-64 编码的 512 位随机字符串)

获取 Blob 服务端点

  1. 在同一存储账号中,从左侧导航栏中选择端点。
  2. 复制并保存 Blob 服务端点网址。
    • 示例:https://sceplogssa.blob.core.windows.net/

创建 Log Analytics 工作区

  1. 在 Azure 门户中,搜索 日志分析工作区。
  2. 点击 + 创建。
  3. 提供以下配置详细信息:

    设置 值
    订阅 选择您的 Azure 订阅
    资源组 选择与存储账号相同的资源组
    名称 输入一个唯一名称(例如 scep-logs-workspace)
    区域 选择与存储账号相同的区域
  4. 点击检查 + 创建。

  5. 点击创建。

  6. 等待部署完成。

在 Windows 服务器上安装 Azure Monitor 代理

对于运行 SCEP 的本地服务器,您必须先将服务器添加到 Azure Arc,然后安装 Azure Monitor 代理。

加入 Azure Arc(仅限本地服务器)

  1. 在 Azure 门户中,搜索 Azure Arc。
  2. 选择基础架构下的服务器。
  3. 点击添加。
  4. 选择添加单个服务器,然后点击生成脚本。
  5. 提供以下配置详细信息:
    • 订阅:选择您的 Azure 订阅
    • 资源组:选择您的资源组
    • 区域:选择与存储账号相同的区域
    • 操作系统:选择 Windows
  6. 点击下载并运行脚本。
  7. 在运行 SCEP 的 Windows 服务器上,以管理员身份打开 PowerShell。
  8. 运行下载的脚本,完成 Azure Arc 初始配置。

安装 Azure Monitor 代理

  1. 在 Azure 门户中,前往 Azure Arc > 服务器(对于 Azure 虚拟机,则前往虚拟机)。
  2. 选择运行 SCEP 的服务器。
  3. 在左侧导航栏中,选择设置下的扩展程序。
  4. 点击添加。
  5. 搜索并选择 Azure Monitor Agent。
  6. 点击下一步,然后点击检查 + 创建。
  7. 点击创建。
  8. 等待扩展程序安装完成。

为 SCEP 事件创建数据收集规则

  1. 在 Azure 门户中,搜索监控。
  2. 选择设置下的数据收集规则。
  3. 点击 + 创建。
  4. 在基本信息标签页中,提供以下配置详细信息:
    • 规则名称:输入一个描述性名称(例如 dcr-scep-events)
    • 订阅:选择您的 Azure 订阅
    • 资源组:选择您的资源组
    • 区域:选择与日志分析工作区相同的区域
    • 平台类型:选择 Windows
  5. 点击下一步:资源。
  6. 在资源标签页中:
    1. 点击 + 添加资源。
    2. 展开资源组,然后选择运行 SCEP 的服务器(Azure Arc 服务器或 Azure 虚拟机)。
    3. 点击应用。
  7. 点击下一步:收集和交付。
  8. 在揽件和派送标签页中:

    1. 点击 + 添加数据源。
    2. 在数据源类型下拉菜单中,选择 Windows 事件日志。
    3. 选择自定义以输入 XPath 查询。
    4. 点击 + 添加 XPath 查询,然后输入以下 XPath 查询,以收集所有 SCEP 和 Windows Defender 事件:

      Microsoft-Windows-Windows Defender/Operational!*[System[(Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]
      

      此 XPath 查询会从 Windows Defender Operational 渠道收集所有事件(严重、错误、警告、信息和详细)。如需仅收集特定事件 ID(例如恶意软件检测),请使用更具针对性的查询,例如:

      Microsoft-Windows-Windows Defender/Operational!*[System[(EventID=1006 or EventID=1007 or EventID=1116 or EventID=1117 or EventID=2000 or EventID=2001 or EventID=5007)]]
      
    5. 在目标标签页中,点击 + 添加目标。

    6. 选择 Azure Monitor 日志作为目标类型。

    7. 选择您之前创建的 Log Analytics 工作区(例如 scep-logs-workspace)。

  9. 点击添加数据源。

  10. 点击 Review + create(检查 + 创建)。

  11. 点击创建。

收集的关键事件 ID

数据收集规则会从 Microsoft-Windows-Windows Defender/Operational 通道收集事件,其中包括以下关键 SCEP 事件 ID:

事件 ID 说明
1006 反恶意软件引擎检测到恶意软件
1007 针对检测到的恶意软件采取的反恶意软件措施
1116 实时保护功能检测到了恶意软件或潜在垃圾软件
1117 实时防护功能已对恶意软件采取措施
2000 已开始更新反恶意软件签名
2001 反恶意软件签名更新已完成
5007 反恶意软件平台配置已更改

配置从 Log Analytics 工作区到 Azure Blob Storage 的数据导出

注册 Microsoft.Insights 资源提供方

  1. 在 Azure 门户中,前往订阅。
  2. 选择您的订阅。
  3. 在左侧导航栏中,选择设置下的资源提供方。
  4. 搜索 Microsoft.Insights。
  5. 如果状态不是已注册,请选择该设备,然后点击注册。

创建数据导出规则

  1. 在 Azure 门户中,前往您的 日志分析工作区(例如 scep-logs-workspace)。
  2. 在左侧导航栏中,选择设置下的数据导出。
  3. 点击 + 新建导出规则。
  4. 在基本标签页中:
    • 数据导出规则名称:输入一个描述性名称(例如 export-scep-to-blob)
  5. 点击下一步:来源。
  6. 在来源标签页中,选择事件表。

  7. 点击下一步:目标。

  8. 在目标标签页中:

    • 目标类型:选择存储账号
    • 订阅:选择包含存储账号的订阅
    • 存储账号:选择您之前创建的存储账号(例如 sceplogssa)
  9. 点击下一步:检查 + 创建。

  10. 点击创建。

  • 配置完成后,事件会自动导出到存储账号。系统会在存储账号中创建一个名为 am-Event 的容器。Blob 存储在 5 分钟文件夹中,使用以下路径结构:

    am-Event/
      └── WorkspaceResourceId=/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/microsoft.operationalinsights/workspaces/{workspace}/
          └── y={year}/m={month}/d={day}/h={hour}/m={minute}/
              └── PT05M.json
    

验证数据导出

  1. 在 Azure 门户中,前往存储账号(例如 sceplogssa)。
  2. 在左侧导航栏中,选择数据存储区下的容器。
  3. 验证容器 am-Event 是否存在。
  4. 进入容器,验证是否正在文件夹结构中创建包含事件数据的 JSON 文件。

在 Google SecOps 中配置 Feed,以注入 Microsoft System Center Endpoint Protection (SCEP) 日志

  1. 依次前往设置 > 数据管理 > Feed。如果您使用的是仅 SIEM 平台,请依次前往设置 > Feed。
  2. 点击添加新新闻信息流。
  3. 在下一页上,点击配置单个 Feed。
  4. 在 Feed 名称字段中,输入 Feed 的名称(例如 Microsoft SCEP Logs)。
  5. 选择 Microsoft Azure Blob Storage V2 作为来源类型。
  6. 选择 Microsoft System Center Endpoint Protection (SCEP) 作为日志类型。
  7. 点击下一步。
  8. 为以下输入参数指定值:

    • Azure URI:输入包含容器路径的 Blob Service 端点网址:
    https://sceplogssa.blob.core.windows.net/am-Event/
    

    替换以下内容:

    • sceplogssa:您的 Azure 存储账号名称。
    • am-Event:存储导出事件的 Blob 容器名称。
    • 来源删除选项:根据您的偏好选择删除选项:
      • 永不:转移后永不删除任何文件。
      • 删除已转移的文件:在成功转移后删除文件。
      • 删除已转移的文件和空目录:在成功转移后删除文件和空目录。
    • 文件存在时间上限:包含过去指定天数内修改过的文件(默认值为 180 天)
    • 共享密钥:输入您从存储账号中获取的共享密钥值(访问密钥)
    • 资产命名空间:资产命名空间
    • 注入标签:要应用于此 Feed 中事件的标签
  9. 点击下一步。

  10. 在最终确定界面中查看新的新闻信息流配置,然后点击提交。

配置 Azure Storage 防火墙(如果已启用)

如果您的 Azure Storage 账号使用防火墙,则必须添加 Google SecOps IP 范围。

  1. 在 Azure 门户中,前往您的存储账号。
  2. 选择安全 + 网络下的网络。
  3. 在防火墙和虚拟网络下,选择已从所选虚拟网络和 IP 地址启用。
  4. 在防火墙部分的地址范围下,点击 + 添加 IP 范围。
  5. 以 CIDR 表示法添加每个 Google SecOps IP 范围。

    如需获取当前的 IP 范围,请执行以下操作:

  6. 此外,选中允许受信任的服务列表中的 Azure 服务访问此存储账号复选框,以允许 Log Analytics 工作区数据导出功能向存储账号写入数据。

  7. 点击保存。

UDM 映射表

日志字段 UDM 映射 逻辑
about.hostname about.hostname 设置为“%{_DB_HOST}”
_DB_PORT about.port 直接复制值,转换为整数
_DB_DRIVER about.resource.name 设置为“%{_DB_DRIVER}”
_DB_URL about.url 设置为“%{_DB_URL}”
signature_labels event.idm.read_only_udm.additional.fields 如果 signature 不为空,则从 signature_labels 合并;如果 PendingAction 不为空,则从 pending_action 合并;如果 ExecutionStatus 不为空,则从 execution_status 合并;如果 RecordID 不为空,则从 record_id 合并;如果 ErrorCode 不为空,则从 error_code 合并;如果 ActionSuccess 不为空,则从 action_success 合并
pending_action event.idm.read_only_udm.additional.fields
execution_status event.idm.read_only_udm.additional.fields
record_id event.idm.read_only_udm.additional.fields
error_code event.idm.read_only_udm.additional.fields
action_success event.idm.read_only_udm.additional.fields
source_url event.idm.read_only_udm.src.url 如果 source_url 不为空,则取 source_url 的值;否则,如果 my_string1 不为空,则取 my_string1 的值
my_string1 event.idm.read_only_udm.src.url
has_principal metadata.event_type 如果 has_principal 和 has_target 为 true,则设置为“NETWORK_CONNECTION”;如果 has_principal 为 true,则设置为“STATUS_UPDATE”;如果 not no_target_host 和 path_available 为 true,则设置为“SCAN_FILE”;如果 not no_target_host 为 true,则设置为“STATUS_UNCATEGORIZED”;如果 has_user 为 true,则设置为“USER_UNCATEGORIZED”;否则设置为“GENERIC_EVENT”
has_user metadata.event_type
has_target metadata.event_type
no_target_host metadata.event_type
path_available metadata.event_type
名称 metadata.product_event_type 直接复制的值
DetectionID metadata.product_log_id 直接复制的值
metadata.product_name metadata.product_name 设为“MICROSOFT SYSTEM CENTER ENDPOINT PROTECTION”
metadata.vendor_name metadata.vendor_name 设置为“MICROSOFT”
NTdomain principal.administrative_domain 直接复制的值
主机名 principal.asset.hostname 来自主机名的值(如果不为空),否则来自 TargetHost
TargetHost principal.asset.hostname
action_type principal.group.attribute.labels 如果 action_type 不为空,则从 action_type_label 合并
主机名 principal.hostname 来自主机名的值(如果不为空),否则来自 TargetHost
TargetHost principal.hostname
流程 principal.process.file.full_path 如果“Process”不为空,则直接复制值
用户名 principal.user.user_display_name 直接复制的值
用户名 principal.user.userid UserName 的值(如果不为空),否则为 user 的值(如果不为空)
用户 principal.user.userid
操作 security_result.action 根据操作值(ALLOW 表示 success/created/started/delivered/allowed,BLOCK 表示 failure/blocked/teardown/deferred/deleted/rejected/dropped/error/locked,ALLOW_WITH_MODIFICATION 表示 acl_modified/modified,QUARANTINE 表示 quarantined)或 CleanAction(FAIL 表示 Failed,QUARANTINE 表示 Quarantined,ALLOW 表示 Allowed,BLOCK 表示 Blocked)进行设置
CleanAction security_result.action
CleanAction security_result.action_details 如果 CleanAction 不为空,则直接复制值
类别 security_result.category_details 如果“category”不为空,则从“category”合并,否则从“Category”合并
类别 security_result.category_details
DetectionID security_result.detection_fields 如果 DetectionID 不为空,则从 DetectionID_field 合并;如果 detectionid 不为空,则从 detectionid_field 合并;如果 detection_source 不为空,则从 detection_source_labels 合并;如果 pending_action 不为空,则从 pending_action_labels 合并;如果 source_url、file_path 和 Path 不为空,则从 detection_Path 合并
detectionid security_result.detection_fields
detection_source security_result.detection_fields
pending_action security_result.detection_fields
路径 security_result.detection_fields
severity security_result.severity 根据严重程度(0/1/2/3/LOW 为 LOW,4/5/6/MEDIUM/SUBSTANTIAL/INFO 为 MEDIUM,7/8/HIGH/SEVERE 为 HIGH,9/10/VERY-HIGH/CRITICAL 为 CRITICAL)或 SeverityID(1 为 LOW,2 为 MEDIUM,4 为 HIGH,5 为 CRITICAL,其他为 UNKNOWN_SEVERITY)设置
SeverityID security_result.severity
SeverityID security_result.severity_details 直接复制的值
ThreatID security_result.threat_id 直接复制的值
ThreatName security_result.threat_name 直接复制的值
MaliciousFileCt security_result.verdict_info 直接复制值,转换为整数,合并为 malicious_file_ct
dest_nt_domain target.administrative_domain 直接复制的值
dest_name target.asset.hostname 如果 dest_name 不为空,则直接复制值
file_path target.file.full_path 如果 file_path 不为空,则为 file_path 中的值;如果 file_path 为空,则为 Path 中的值;如果 Path 为空,则为 my_string 中的值
路径 target.file.full_path
my_string target.file.full_path
dest_name target.hostname 如果 dest_name 不为空,则直接复制值
ResourceID target.resource.name ResourceID 的值(如果不为空),否则为 resourceid 的值(如果不为空)
resourceid target.resource.name
用户 target.user.userid 如果用户不为空,则直接复制值
时间 metadata.event_timestamp 如果时间不为空,则使用“MMM dd HH:mm:ss”格式从时间转换而来,否则使用 UNIX_MS 从 DetectionTime 或 detectiontime 转换而来
DetectionTime metadata.event_timestamp
detectiontime metadata.event_timestamp
time syslogtimestamp 从更新日志映射
DetectionID", "detection_source", and "pending_action security_result.detection_fields 从更新日志映射
action temp_action 从更新日志映射

更新日志

查看此解析器的更新日志

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