你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

配置 SAP 授权并部署可选的 SAP 更改请求

本文介绍如何为安装 SAP 代理准备环境,以便它可以正确连接到 SAP 系统。 准备包括配置所需的 SAP 授权,以及(可选)部署额外的 SAP 更改请求 (CR)。

部署里程碑

通过以下系列文章跟踪 SAP 解决方案部署过程:

  1. 部署概述

  2. 部署先决条件

  3. 跨多个工作区使用解决方案(预览版)

  4. 准备 SAP 环境(你在此处

  5. 配置审核

  6. 从内容中心部署解决方案内容

  7. 部署数据连接器代理

  8. 配置适用于 SAP® 的 Microsoft Sentinel 解决方案应用程序

  9. 可选部署步骤

配置 Microsoft Sentinel 角色

  1. 从 GitHub 中的 /MSFTSEN/SENTINEL_RESPONDER 文件上传角色授权。

    这会创建 /MSFTSEN/SENTINEL_RESPONDER 角色,其中包括从 SAP 系统检索日志并运行攻击中断响应操作所需的所有授权。

    或者,使用要引入的日志所需的相关授权手动创建角色。 有关详细信息,请参阅所需的 ABAP 授权。 此过程中的示例使用 /MSFTSEN/SENTINEL_RESPONDER 名称。

  2. 下一步是生成要使用的 Microsoft Sentinel 的活动角色配置文件。 运行 PFCG 事务:

    SAP Easy Access 屏幕中,在屏幕左上角的字段中输入 PFCG,然后按 Enter

  3. 在“角色维护”窗口中,在“角色”字段中键入角色名称 /MSFTSEN/SENTINEL_RESPONDER,然后选择“更改”按钮(铅笔)。

  4. 在显示的“更改角色”窗口中,选择“授权”选项卡。

  5. 在“授权”选项卡中,选择“更改授权数据”。

  6. 在“信息”弹出窗口中,阅读消息并选择绿色复选标记进行确认。

  7. 在“更改角色:授权”窗口中,选择“生成”。

    查看“状态”字段已从“未更改”更改为“已生成”。

  8. 选择(屏幕顶部的 SAP 徽标左侧)的“返回”。

  9. 返回“更改角色”窗口,验证“授权”选项卡是否显示绿色框,然后选择“保存”。

创建用户

适用于 SAP® 的 Microsoft Sentinel 解决方案应用程序要求用户帐户连接到 SAP 系统。 使用以下说明创建用户帐户,并将其分配给在上一步中创建的角色。

在此示例中,我们使用角色名称 /MSFTSEN/SENTINEL_RESPONDER

  1. 使用 SU01 事务:

    SAP Easy Access 屏幕中,在屏幕左上角的字段中输入 SU01,按 Enter

  2. 在“用户维护:初始屏幕”屏幕中的“用户”字段中键入新用户的名称,然后从按钮栏中选择“创建技术用户”。

  3. 在“维护用户”屏幕中,从“用户类型”下拉列表中选择“系统”。 在“新建密码”和“重复密码”字段中创建并输入复杂密码,然后选择“角色”选项卡。

  4. 在“角色”选项卡的“角色分配”部分中,输入示例中的完整角色名称 - /MSFTSEN/SENTINEL_RESPONDER - 然后按”Enter”。

    按“Enter”后,验证“角色分配”部分右侧是否填充了数据,例如“更改开始日期”。

  5. 选择“配置文件”选项卡,验证角色的配置文件是否显示在“分配的授权配置文件”下,然后选择“保存”。

所需 ABAP 授权

本部分列出了确保 Microsoft Sentinel 的 SAP 数据连接器使用的 SAP 用户帐户能够正确检索 SAP 系统中的日志并运行攻击中断响应操作所需的 ABAP 授权。

所需的授权在此处按其用途列出。 只需为要引入 Microsoft Sentinel 的日志类型和要应用的攻击中断响应操作列出的授权。

提示

若要创建具有所有所需授权的角色,请从 /MSFTSEN/SENTINEL_RESPONDER 文件加载角色授权。

或者,若要仅启用日志检索,而不执行攻击中断响应操作,请在 SAP 系统上部署 SAP NPLK900271 CR,以创建 /MSFTSEN/SENTINEL_CONNECTOR 角色,或从 /MSFTSEN/SENTINEL_CONNECTOR 文件加载角色授权。

授权对象 字段
所有日志
S_RFC RFC_TYPE 函数模块
S_RFC RFC_NAME /OSP/SYSTEM_TIMEZONE
S_RFC RFC_NAME DDIF_FIELDINFO_GET
S_RFC RFC_NAME RFCPING
S_RFC RFC_NAME RFC_GET_FUNCTION_INTERFACE
S_RFC RFC_NAME RFC_READ_TABLE
S_RFC RFC_NAME RFC_SYSTEM_INFO
S_RFC RFC_NAME SUSR_USER_AUTH_FOR_OBJ_GET
S_RFC RFC_NAME TH_SERVER_LIST
S_RFC ACTVT 执行
S_TCODE TCD SM51
S_TABU_NAM ACTVT 显示
S_TABU_NAM TABLE T000
可选 - 仅当 Sentinel 解决方案 CR 实现时
S_RFC RFC_NAME /MSFTSEN/*
ABAP 应用程序日志
S_RFC RFC_NAME BAPI_XBP_APPL_LOG_CONTENT_GET
S_RFC RFC_NAME BAPI_XMI_LOGOFF
S_RFC RFC_NAME BAPI_XMI_LOGON
S_RFC RFC_NAME BAPI_XMI_SET_AUDITLEVEL
S_TABU_NAM TABLE BALHDR
S_XMI_PROD EXTCOMPANY Microsoft
S_XMI_PROD EXTPRODUCT Azure Sentinel
S_XMI_PROD INTERFACE XBP
S_APPL_LOG ALG_OBJECT *
S_APPL_LOG ALG_SUBOBJ *
S_APPL_LOG ACTVT 显示
ABAP 更改文档日志
S_TABU_NAM TABLE CDHDR
S_TABU_NAM TABLE CDPOS
ABAP CR 日志
S_RFC RFC_NAME CTS_API_READ_CHANGE_REQUEST
S_TABU_NAM TABLE E070
S_TRANSPRT TTYPE *
S_TRANSPRT ACTVT 显示
ABAP DB 表数据日志
S_TABU_NAM TABLE DBTABLOG
S_TABU_NAM TABLE SACF_ALERT
S_TABU_NAM TABLE SOUD
S_TABU_NAM TABLE USR41
S_TABU_NAM TABLE TMSQAFILTER
ABAP 作业日志
S_RFC RFC_NAME BAPI_XBP_JOB_JOBLOG_READ
S_RFC RFC_NAME BAPI_XMI_LOGOFF
S_RFC RFC_NAME BAPI_XMI_LOGON
S_RFC RFC_NAME BAPI_XMI_SET_AUDITLEVEL
S_TABU_NAM TABLE TBTCO
S_XMI_PROD EXTCOMPANY Microsoft
S_XMI_PROD EXTPRODUCT Azure Sentinel
S_XMI_PROD INTERFACE XBP
ABAP Spool 日志
S_TABU_NAM TABLE TSP01
S_ADMI_FCD S_ADMI_FCD SPOS(使用事务 SP01 [所有系统])
ABAP 工作流日志
S_TABU_NAM TABLE SWWLOGHIST
S_TABU_NAM TABLE SWWWIHEAD
ABAP 安全审核日志
S_RFC RFC_NAME BAPI_USER_GET_DETAIL
S_RFC RFC_NAME BAPI_XMI_LOGOFF
S_RFC RFC_NAME BAPI_XMI_LOGON
S_RFC RFC_NAME BAPI_XMI_SET_AUDITLEVEL
S_RFC RFC_NAME BAPI_SYSTEM_MTE_GETMLHIS
S_RFC RFC_NAME BAPI_SYSTEM_MTE_GETTREE
S_RFC RFC_NAME BAPI_SYSTEM_MTE_GETTIDBYNAME
S_RFC RFC_NAME BAPI_SYSTEM_MS_GETLIST
S_RFC RFC_NAME BAPI_SYSTEM_MON_GETLIST
S_RFC RFC_NAME BAPI_SYSTEM_MON_GETTREE
S_RFC RFC_NAME BAPI_SYSTEM_MTE_GETPERFCURVAL
S_RFC RFC_NAME BAPI_SYSTEM_MT_GETALERTDATA
S_RFC RFC_NAME BAPI_SYSTEM_ALERT_ACKNOWLEDGE
S_ADMI_FCD S_ADMI_FCD AUDD(基础审核显示授权)
S_SAL SAL_ACTVT SHOW_LOG(评估基于文件的日志)
S_USER_GRP CLASS SUPER
S_USER_GRP ACTVT 显示
S_USER_GRP CLASS SUPER
S_USER_GRP ACTVT Lock
S_XMI_PROD EXTCOMPANY Microsoft
S_XMI_PROD EXTPRODUCT Azure Sentinel
S_XMI_PROD INTERFACE XAL
用户数据
S_TABU_NAM TABLE ADCP
S_TABU_NAM TABLE ADR6
S_TABU_NAM TABLE AGR_1251
S_TABU_NAM TABLE AGR_AGRS
S_TABU_NAM TABLE AGR_DEFINE
S_TABU_NAM TABLE AGR_FLAGS
S_TABU_NAM TABLE AGR_PROF
S_TABU_NAM TABLE AGR_TCODES
S_TABU_NAM TABLE AGR_USERS
S_TABU_NAM TABLE DEVACCESS
S_TABU_NAM TABLE USER_ADDR
S_TABU_NAM TABLE USGRP_USER
S_TABU_NAM TABLE USR01
S_TABU_NAM TABLE USR02
S_TABU_NAM TABLE USR05
S_TABU_NAM TABLE USR21
S_TABU_NAM TABLE USRSTAMP
S_TABU_NAM TABLE UST04
配置历史记录
S_TABU_NAM TABLE PAHI
SNC 数据
S_TABU_NAM TABLE SNCSYSACL
S_TABU_NAM TABLE USRACL
攻击中断响应操作
S_RFC RFC_TYPE 函数模块
S_RFC RFC_NAME BAPI_USER_LOCK
S_RFC RFC_NAME BAPI_USER_UNLOCK
S_RFC RFC_NAME TH_DELETE_USER
与其名称相反,此函数不会删除用户,而是会结束活动的用户会话。
S_USER_GRP CLASS *
建议将 S_USER_GRP CLASS 替换为组织中表示对话用户的相关类。
S_USER_GRP ACTVT 03
S_USER_GRP ACTVT 05

如果需要,可以移除用户角色和 ABAP 系统上安装的可选 CR

部署可选 CR

本部分提供了部署额外可选 CR 的分步指南。 它适用于可能不一定是 SAP 专家的 SOC 工程师或实施者。

熟悉 CR 部署过程的经验丰富的 SAP 管理员可能更喜欢从指南的 SAP 环境验证步骤部分直接获取相应的 CR 并进行部署。

强烈建议由经验丰富的 SAP 系统管理员完成部署 SAP CR。

下表描述了可用于部署的可选 CR:

CR 说明
NPLK900271 使用允许 SAP 数据连接器连接到 SAP 系统所需的基本授权创建和配置示例角色。 或者,可以直接从文件加载授权,或根据要引入的日志手动定义角色。

有关详细信息,请参阅所需的 ABAP 授权创建和配置角色(必需)
NPLK900201NPLK900202 从 SAP 检索其他信息。 根据你的 SAP 版本选择其中一个 CR。

部署 CRS 的先决条件

  1. 在开始部署过程之前,请确保已复制 SAP 系统版本系统 ID (SID)系统编号客户端编号IP 地址管理用户名密码的详细信息。 对于以下示例,假定以下详细信息:

    • SAP 系统版本:SAP ABAP Platform 1909 Developer edition
    • SID:A4H
    • 系统编号:00
    • 客户端编号:001
    • IP 地址:192.168.136.4
    • 管理员用户:a4hadm,但是,使用 root 用户凭据建立与 SAP 系统的 SSH 连接。
  2. 确保知道要部署的 CR

  3. 如果要部署 NPLK900202 CR 以检索其他信息,请确保已安装相关的 SAP 说明

设置文件

  1. 使用 SSH 登录 SAP 系统。

  2. 将 CR 文件传输到 SAP 系统,或直接从 SSH 提示将文件下载到 SAP 系统。 使用以下命令:

    • 下载 NPLK900271

      wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/K900271.NPL
      wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/R900271.NPL
      

      或者,可以直接从文件中加载这些授权

    • 下载 NPLK900202

      wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/K900202.NPL
      wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/R900202.NPL
      
    • 下载 NPLK900201

      wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/K900201.NPL
      wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/R900201.NPL
      

    每个 CR 由两个文件组成,一个以 K 开头,一个以 R 开头。

  3. 将文件的所有权更改为用户 <sid>adm 和 组 sapsys。 (将 SAP 系统 ID 替换为 <sid>。)

    chown <sid>adm:sapsys *.NPL
    

    在我们的示例中:

    chown a4hadm:sapsys *.NPL
    
  4. 将共同文件(以 K 开头)复制到文件夹 /usr/sap/trans/cofiles。 在复制时保留权限,使用具有 -p 开关的 cp 命令。

    cp -p K*.NPL /usr/sap/trans/cofiles/
    
  5. 将数据文件(以 R 开头)的数据文件复制到文件夹 /usr/sap/trans/data。 在复制时保留权限,使用具有 -p 开关的 cp 命令。

    cp -p R*.NPL /usr/sap/trans/data/
    

导入 CR

  1. 启动 SAP 登录应用程序并登录到 SAP GUI 控制台。

  2. 运行 STMS_IMPORT 事务:

    SAP Easy Access 屏幕中,在屏幕左上角的字段中输入 STMS_IMPORT,然后按 Enter

    运行 STMS 导入事务的屏幕截图。

  3. 在显示的“导入队列”窗口中,选择“更多”>“其他”>“其他请求”>“添加”。

    添加导入队列的屏幕截图。

  4. 在出现的“向导入队列添加传输请求”弹出窗口中,选择“传输、请求”字段。

  5. “传输请求”窗口将显示并显示可供部署的 CR 列表。 选择 CR,然后选择绿色复选标记按钮。

  6. 返回“向导入队列添加传输请求”窗口,选择“继续”(绿色复选标记)或按 Enter 键

  7. 在“添加传输请求”确认对话框中,选择“是”。

  8. 如果计划部署更多的 CR,请对剩余的 CR 重复前面 5 个步骤中的过程。

  9. 在“导入队列”窗口中,选择相关的传输请求一次,然后选择“F9”或“选择/取消选择请求”图标。

  10. 如果有剩余的传输请求要添加到部署,请重复步骤 9。

  11. 选择“导入请求”图标:

    导入所有请求的屏幕截图。

  12. 在“开始导入”窗口中,选择“目标客户端”字段。

  13. 此时会显示“输入帮助……”对话框。 选择要将 CR 部署到客户端的编号(示例中的 001),然后选择要确认的绿色复选标记。

  14. 返回“开始导入”窗口,选择“选项”选项卡,标记“忽略无效组件版本”复选框,然后选择绿色复选标记进行确认。

    “开始导入”窗口的屏幕截图。

  15. 在“开始导入”确认对话框中,选择“是”以确认导入。

  16. 返回“导入队列”窗口,选择“刷新”,等待导入操作完成且导入队列显示为空。

  17. 若要查看导入状态,请在“导入队列”窗口中选择“更多”转到“导入历史记录”>>

    导入历史记录的屏幕截图。

  18. 如果你部署了 NPLK900202 CR,预计会显示一个警告。 选择条目以验证显示的警告类型为“已激活表<TableName>”。

    根据你安装的 CR 版本,以下屏幕截图中的 CR 和版本可能有所变化。

    导入状态界面的屏幕截图。

    导入警告消息界面的屏幕截图。

验证 PAHI 表(系统、数据库和 SAP 参数的历史记录)是否定期更新

SAP PAHI 表包括有关 SAP 系统、数据库和 SAP 参数的历史记录数据。 在某些情况下,由于配置缺失或错误,适用于 SAP 的 Microsoft Sentinel 解决方案® 应用程序无法定期监视 SAP PAHI 表(请参阅 SAP 说明,其中包含有关此问题的更多详细信息)。 请务必更新 PAHI 表并经常对其进行监视,以便适用于 SAP 的 Microsoft Sentinel 解决方案® 应用程序可以针对全天随时可能发生的可疑操作发出警报。

详细了解适用于 SAP 的 Microsoft Sentinel 解决方案应用程序如何监视对安全参数的可疑配置更改

注意

为了获得最佳结果,请在计算机 systemconfig.ini 文件中的 [ABAP Table Selector] 部分下启用 PAHI_FULLPAHI_INCREMENTAL 参数。

若要验证 PAHI 表是否定期更新,请执行以下操作:

  1. 检查基于 RSCOLL00 程序的作业 SAP_COLLECTOR_FOR_PERFMONITOR 是否由 000 客户端中的 DDIC 用户计划并每小时运行一次。
  2. 检查 RSHOSTPHRSSTATPHRSDB_PAR 报表名称是否保留在 TCOLL 表中。
    • RSHOSTPH 报表:读取操作系统内核参数并将此数据存储在 PAHI 表中。
    • RSSTATPH 报表:读取 SAP 配置文件参数并将此数据存储在 PAHI 表中。
    • RSDB_PAR 报表:读取数据库参数并将其存储在 PAHI 表中。

如果作业存在且配置正确,则无需执行进一步的步骤。

如果作业不存在:

  1. 在 000 客户端中登录到 SAP 系统。

  2. 执行 SM36 事务。

  3. 在“作业名称”下,键入 SAP_COLLECTOR_FOR_PERFMONITOR。

    添加用于监视 SAP PAHI 表的作业的屏幕截图。

  4. 选择“步骤”并填写以下信息:

    • 在“用户”下,键入 DDIC。
    • 在“ABAP 程序名称”下,键入 RSCOLL00。
  5. 保存配置。

    为用于监视 SAP PAHI 表的作业定义用户的屏幕截图。

  6. 选择 F3,返回到上一个屏幕

  7. 选择“开始条件”,定义开始条件。

  8. 选择“即时”,然后选中“定期作业”复选框。

    将用于监视 SAP PAHI 表的作业定义为“定期”的屏幕截图。

  9. 选择“周期值”,然后选择“每小时”。

  10. 在对话框中选择“保存”,然后选择底部的“保存”。

    将用于监视 SAP PAHI 表的作业定义为“每小时”的屏幕截图。

  11. 若要发布作业,请选择顶部的“保存”。

    将用于监视 SAP PAHI 表的作业发布为“每小时”的屏幕截图。

后续步骤

SAP 环境现在已完全准备好部署数据连接器代理。 预配角色和配置文件、创建用户帐户并分配相关角色配置文件,并根据需要为环境部署 PR。

现在,你已准备好为 Microsoft Sentinel 启用和配置 SAP 审核。