你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍如何准备 SAP 环境以连接到 SAP 数据连接器。 所做准备有所不同,具体取决于是否在使用容器化数据连接器代理。 选择页面顶部与你的环境匹配的选项。
本文是为 SAP 应用程序部署 Microsoft Sentinel 解决方案的第二步的一部分。
本文中的过程通常由 SAP BASIS 团队执行。
本文是为 SAP 应用程序部署 Microsoft Sentinel 解决方案的第二步的一部分。 虽然在 Microsoft Sentinel 中执行的步骤要求先安装解决方案,但 SAP 环境中的其他准备可以并行进行。
本文中的许多过程通常由 SAP BASIS 团队执行。 某些步骤还包括安全团队。
重要说明
Microsoft Sentinel 的适用于 SAP 的无代理数据连接器目前为预览版。 Azure 预览版补充条款包含适用于 beta 版、预览版或其他尚未正式发布的 Azure 功能的其他法律条款。
先决条件
- 开始之前,请确保查看为 SAP 应用程序部署 Microsoft Sentinel 解决方案所需的先决条件。
- 如果使用无代理数据连接器,则Microsoft Sentinel 中执行一些步骤,并要求 先安装解决方案。
配置 Microsoft Sentinel 角色
若要使 SAP 数据连接器可以连接到 SAP 系统,必须专门为此创建 SAP 系统角色。
建议通过部署 NPLK900271 SAP 更改请求(CR):K900271.NPL | R900271.NPL 来创建此角色
根据需要在 SAP 系统上部署 CR, 就像部署其他 CR 一样。 强烈建议由经验丰富的 SAP 系统管理员完成部署 SAP CR。 有关详细信息,请参阅 SAP 文档。
或者,从 MSFTSEN_SENTINEL_CONNECTOR 文件加载角色授权,其中包括数据连接器运行的所有基本权限。
有经验的 SAP 管理员可以选择手动创建角色并为其分配适当的权限。 在这种情况下,手动创建具有要引入的日志所需的相关授权的角色。 有关详细信息,请参阅所需的 ABAP 授权。 文档中的示例使用 /MSFTSEN/SENTINEL_RESPONDER 名称。
配置角色时,建议:
- 通过运行 PFCG 事务,为 Microsoft Sentinel 生成活动角色配置文件。
- 使用
/MSFTSEN/SENTINEL_RESPONDER
作为角色名称。
有关详细信息,请参阅有关创建角色的 SAP 文档。
创建用户
适用于 SAP 的 Microsoft Sentinel 解决方案应用程序要求用户帐户连接到 SAP 系统。 创建用户时:
- 请确保创建系统用户。
- 将 /MSFTSEN/SENTINEL_RESPONDER 角色分配给在上一步骤中创建的用户。
- 请确保创建系统用户。
- 将 MSFTSEN_SENTINEL_READER 角色分配给在上一步骤中创建的用户。
有关详细信息,请参阅 SAP 文档。
配置 SAP 审核
默认情况下,SAP 系统的某些安装可能未启用审核日志。 在评估适用于 SAP 的 Microsoft Sentinel 解决方案应用程序的性能和效果时,为获得最佳结果,请对 SAP 系统启用审核并配置审核参数。 如果要引入 SAP HANA DB 日志,请确保同时为 SAP HANA DB 启用审核。
建议为审核日志中的所有消息(而不是仅特定日志)配置审核。 引入成本差异通常很小,并且数据对于 Microsoft Sentinel 检测以及入侵后调查和搜寻很有用。
为了实现无代理数据连接器的全面监视覆盖范围,我们建议您为所监控的 SAP 系统的所有客户端 ID(包括客户端 000 和 066)启用监控功能。
有关详细信息,请参阅 SAP 社区和在 Microsoft Sentinel 中收集 SAP HANA 审核日志。
将系统配置为使用 SNC 进行安全连接
默认情况下,SAP 数据连接器代理使用远程函数调用 (RFC) 连接以及用户名和密码连接到 SAP 服务器进行身份验证。
但是,可能需要在加密通道上建立连接,或使用客户端证书进行身份验证。 在这些情况下,请使用 SAP 中的智能网络通信 (SNC) 来保护数据连接,如本部分所述。
在生产环境中,强烈建议你咨询 SAP 管理员来创建配置 SNC 的部署计划。 有关详细信息,请参阅 SAP 文档。
配置 SNC 时:
- 如果客户端证书是由企业证书颁发机构颁发的,请将发证 CA 和根 CA 证书传输到计划创建数据连接器代理的系统。
- 如果使用的是数据连接器代理,请确保在配置 SAP 数据连接器代理容器时,也输入相关值并使用相关过程。 如果使用无代理数据连接器,则 SNC 配置在 SAP 云连接器中完成。
有关 SNC 的详细信息,请参阅开始使用 SAP SNC 实现 RFC 集成 - SAP 博客。
配置对额外数据检索的支持(推荐)
虽然此步骤是可选的,但建议启用 SAP 数据连接器,以便从 SAP 系统检索以下内容信息:
- “DB 表”和“后台打印输出”日志
- 安全审核日志中的客户端 IP 地址信息
根据 SAP 版本,从 Microsoft Sentinel GitHub 存储库部署相关的 CR:
SAP BASIS 版本 推荐的 CR 750 及更高版本 NPLK900202:K900202.NPL、R900202.NPL
部署此 CR 时,下面任何 SAP 版本还会部署 2641084 - 对安全审核日志数据的标准化读取访问:
- 750 SP04 到 SP12
- 751 SP00 到 SP06
- 752 SP00 到 SP02740 NPLK900201:K900201.NPL、R900201.NPL 根据需要在 SAP 系统上部署 CR, 就像部署其他 CR 一样。 强烈建议由经验丰富的 SAP 系统管理员完成部署 SAP CR。 有关详细信息,请参阅 SAP 文档。
若要支持 SAP BASIS 版本 7.31-7.5 SP12 将客户端 IP 地址信息发送到 Microsoft Sentinel,请激活 SAP 表 USR41 的日志记录。 有关详细信息,请参阅 SAP 文档。
验证 PAHI 表是否定期更新
SAP PAHI 表包括有关 SAP 系统、数据库和 SAP 参数的历史记录数据。 在某些情况下,由于配置缺失或错误,适用于 SAP 的 Microsoft Sentinel 解决方案 应用程序无法定期监视 SAP PAHI 表。 请务必更新 PAHI 表并经常对其进行监视,以便适用于 SAP 的 Microsoft Sentinel 解决方案 应用程序可以针对全天随时可能发生的可疑操作发出警报。 有关详细信息,请参阅:
如果 PAHI 表定期更新,则 SAP_COLLECTOR_FOR_PERFMONITOR
作业会被计划并每小时运行一次。 如果 SAP_COLLECTOR_FOR_PERFMONITOR
作业不存在,请确保根据需要对其进行配置。
有关详细信息,请参阅后台处理中的数据库收集器和配置数据收集器。
配置 SAP BTP 设置
在 SAP BTP 子帐户中,为以下服务添加权利:
- SAP Integration Suite
- SAP 过程集成运行时
- Cloud Foundry Runtime
创建 Cloud Foundry Runtime 的实例,然后创建 Cloud Foundry 空间。
创建 SAP Integration Suite 的实例。
将 SAP BTP Integration_Provisioner 角色分配给 SAP BTP 子帐户用户帐户。
在 SAP Integration Suite 中,添加云集成功能。
将以下流程集成角色分配给用户帐户:
- PI_Administrator
- PI_Integration_Developer
- PI_Business_Expert
这些角色仅在激活云集成功能后可用。
在子帐户中创建 SAP Process Integration Runtime 的实例。
为 SAP Process Integration Runtime 创建服务密钥,并将 JSON 内容保存到安全位置。 必须先激活云集成功能,然后才能为 SAP Process Integration Runtime 创建服务密钥。
有关详细信息,请参阅 SAP 文档。
在 Microsoft Sentinel 和 SAP 系统中配置连接器
此过程在 Microsoft Sentinel 和 SAP 系统中都有步骤,并且需要与 SAP 管理员协调。
在 Microsoft Sentinel 中,转到 “配置 > 数据连接器” 页面,找到 Microsoft Sentinel for SAP - 无代理(预览版) 数据连接器。
在“配置”部分,展开初始连接器配置 - 运行以下步骤一次:部分并按照其中的说明进行操作。。 这些步骤需要 SecuritySOC 工程师和 SAP 管理员。
触发 Azure 资源的自动部署(SOC 工程师)。 如果在部署 Azure 资源后,步骤 2 和步骤 3 中的值不会自动填充,请关闭并重新展开步骤 1 以刷新步骤 2 和步骤 3 中的值。
在 SAP 集成(SAP 管理员)中部署 OAuth2 客户端凭据项目。
在名为 workspaceKey 的 SAP 集成(SAP 管理员)中部署安全参数项目,其中包含数据连接器 UI 中显示的 Log Analytics 工作区密钥。
将 SAP 无代理数据连接器包部署到 SAP Integration Suite(SAP 管理员)。
运行先决条件检查器
包中包含先决条件检查程序 iflow。 建议在继续执行下一步之前运行此 iflow,以确保 SAP 系统满足系统先决条件。
若要运行该工具,请执行以下作:
打开集成包,导航到“构件”选项卡,然后选择“先决条件检查程序 iflow”>。
将目标 RFC 目标设置为要检查的 SAP 系统。
按您通常为 SAP 系统部署的方式部署 iflow。 例如,使用以下示例 PowerShell 脚本,修改环境的示例占位符值:
$cpiEndpoint = "https://my-cpi-uri.it-cpi012-rt.cfapps.eu01-010.hana.ondemand.com" # CPI endpoint URL $credentialsUrl = "https://my-uaa-uri.authentication.eu01.hana.ondemand.com/oauth/token" # SAP authorization server URL $serviceKey = 'sb-12324cd-a1b2-5678-a1b2-1234cd5678ef!g9123|it-rt-my-cpi!h45678' # Process Integration Runtime Service client ID $serviceSecret = '< client secret >' # Your Process Integration Runtime service secret (make sure to use single quotes) $credentials = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("$serviceKey`:$serviceSecret")) $headers = @{ "Authorization" = "Basic $credentials" "Content-Type" = "application/json" } $authResponse = Invoke-WebRequest -Uri $credentialsUrl"?grant_type=client_credentials" ` -Method Post ` -Headers $headers $token = ($authResponse.Content | ConvertFrom-Json).access_token $path = "/http/checkSAP" $param = "?startTimeUTC=$((Get-Date).AddMinutes(-1).ToString("yyyy-MM-ddTHH:mm:ss"))&endTimeUTC=$((Get-Date).ToString("yyyy-MM-ddTHH:mm:ss"))" $headers = @{ "Authorization" = "Bearer $token" "Content-Type" = "application/json" } $response = Invoke-WebRequest -Uri "$cpiEndpoint$path$param" -Method Get -Headers $headers Write-Host $response.RawContent
请确保先决条件检查程序在连接到 Microsoft Sentinel 之前成功运行。
在“配置”区域中进一步向下滚动,然后展开添加受监视的 SAP 系统 - 为每个受监视的 SAP 系统运行以下步骤:区域并按照其中的说明为要监视的每个 SAP 系统进行操作。
进入步骤“2.将 SAP 系统连接到 Microsoft Sentinel/SOC Engineer”后,继续将 SAP 系统连接到 Microsoft Sentinel。
配置 SAP 云连接器设置
安装 SAP 云连接器。 有关详细信息,请参阅 SAP 文档。
在云连接器界面登录,并使用相关凭据添加子帐户。 有关详细信息,请参阅 SAP 文档。
在云连接器子帐户中,将新的系统映射添加到后端系统,以将 ABAP 系统映射到 RFC 协议。
定义负载均衡选项并输入后端 ABAP 服务器详细信息。 在此步骤中,将虚拟主机的名称复制到安全位置,以便稍后在部署过程中使用。
将新资源添加到以下每个函数名称的系统映射:
RSAU_API_GET_LOG_DATA,用于提取 SAP 安全审核日志数据
BAPI_USER_GET_DETAIL,用于检索 SAP 用户详细信息
RFC_READ_TABLE,用于从所需表读取数据
SIAG_ROLE_GET_AUTH,用于检索安全角色授权
/OSP/SYSTEM_TIMEZONE,用于检索 SAP 系统时区详细信息
在 SAP BTP 中添加一个新目标,该目标指向之前创建的虚拟主机。 使用以下详细信息填充新目标:
名称:输入要用于 Microsoft Sentinel 连接的名称
类型
RFC
代理类型:
On-Premise
用户:输入前面为 Microsoft Sentinel 创建的 ABAP 用户帐户
授权类型:
CONFIGURED USER
附加属性:
jco.client.ashost = <virtual host name>
jco.client.client = <client e.g. 001>
jco.client.sysnr = <system number = 00>
jco.client.lang = EN
位置:仅当将多个云连接器连接到同一 BTP 子帐户时才需要。 有关详细信息,请参阅 SAP 文档。