使用专家选项部署适用于 SAP 的 Microsoft Sentinel 数据连接器代理容器
本文介绍使用专家、自定义或手动配置选项部署并配置适用于 SAP 的 Microsoft Sentinel 数据连接器代理容器的过程。 对于典型部署,我们建议改用门户。
本文的内容适用于 SAP BASIS 团队。 有关详细信息,请参阅从命令行部署 SAP 数据连接器代理。
先决条件
- 在开始之前,请确保系统符合主要的 SAP 数据连接器先决条件文件中记录的先决条件。
手动添加 SAP 数据连接器代理 Azure 密钥保管库机密
使用以下脚本手动将 SAP 系统机密添加到你的密钥保管库。 请务必将占位符替换为你自己的系统 ID 和要添加的凭据:
#Add Abap username
az keyvault secret set \
--name <SID>-ABAPUSER \
--value "<abapuser>" \
--description SECRET_ABAP_USER --vault-name $kvname
#Add Abap Username password
az keyvault secret set \
--name <SID>-ABAPPASS \
--value "<abapuserpass>" \
--description SECRET_ABAP_PASSWORD --vault-name $kvname
#Add Java Username
az keyvault secret set \
--name <SID>-JAVAOSUSER \
--value "<javauser>" \
--description SECRET_JAVAOS_USER --vault-name $kvname
#Add Java Username password
az keyvault secret set \
--name <SID>-JAVAOSPASS \
--value "<javauserpass>" \
--description SECRET_JAVAOS_PASSWORD --vault-name $kvname
#Add abapos username
az keyvault secret set \
--name <SID>-ABAPOSUSER \
--value "<abaposuser>" \
--description SECRET_ABAPOS_USER --vault-name $kvname
#Add abapos username password
az keyvault secret set \
--name <SID>-ABAPOSPASS \
--value "<abaposuserpass>" \
--description SECRET_ABAPOS_PASSWORD --vault-name $kvname
#Add Azure Log ws ID
az keyvault secret set \
--name <SID>-LOGWSID \
--value "<logwsod>" \
--description SECRET_AZURE_LOG_WS_ID --vault-name $kvname
#Add Azure Log ws public key
az keyvault secret set \
--name <SID>-LOGWSPUBLICKEY \
--value "<loswspubkey>" \
--description SECRET_AZURE_LOG_WS_PUBLIC_KEY --vault-name $kvname
有关详细信息,请参阅快速入门:使用 Azure CLI 创建密钥保管库和 az keyvault secret CLI 文档。
执行专业/自定义安装
此过程介绍如何使用专业或自定义安装(例如在本地安装时)通过 CLI 部署适用于 SAP 的 Microsoft Sentinel 数据连接器。
先决条件:Azure 密钥保管库是用于存储身份验证凭据和配置数据的建议方法。 我们建议仅在准备好包含 SAP 凭据的密钥保管库之后才执行此过程。
部署适用于 SAP 的 Microsoft Sentinel 数据连接器:
从 SAP Launchpad 站点 >“SAP NW RFC SDK”>“SAP NW RFC SDK 7.50”>“nwrfc750X_X-xxxxxxx.zip”下载最新的 SAP NW RFC SDK,并将其保存到你的数据连接器代理计算机。
注意
需要 SAP 用户登录信息才能访问此 SDK,并且必须下载与操作系统相匹配的 SDK。
确保选择“LINUX ON X86_64”选项。
在同一台计算机上,创建一个新文件夹并提供一个有意义的名称,然后将 SDK zip 文件复制到新文件夹中。
将 Microsoft Sentinel 解决方案 GitHub 存储库克隆到本地计算机上,并将适用于 SAP 应用程序的 Microsoft Sentinel 解决方案 systemconfig.ini 文件复制到新文件夹中。
例如:
mkdir /home/$(pwd)/sapcon/<sap-sid>/ cd /home/$(pwd)/sapcon/<sap-sid>/ wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/template/systemconfig.json cp <**nwrfc750X_X-xxxxxxx.zip**> /home/$(pwd)/sapcon/<sap-sid>/
根据需要编辑 systemconfig.json 文件,使用嵌入的注释作为指导。
使用 systemconfig.json 文件中的说明定义以下配置:
- 使用 systemconfig.json 文件中的说明来定义你要引入到 Microsoft Sentinel 中的日志。
- 是否将用户电子邮件地址包含在审核日志中
- 是否重试失败的 API 调用
- 是否包括 cexal 审核日志
- 是否在两次数据提取之间留出间隔时间,尤其是对于大型提取
有关详细信息,请参阅手动配置适用于 SAP 的 Microsoft Sentinel 数据连接器和定义发送到 Microsoft Sentinel 的 SAP 日志。
若要测试配置,可能需要将用户和密码直接添加到 systemconfig.json 配置文件。 尽管我们建议使用 Azure 密钥保管库来存储凭据,但你也可以使用 env.list 文件和 Docker 机密,或者将凭据直接添加到 systemconfig.json 文件。
有关详细信息,请参阅 SAL 日志连接器配置。
将更新的 systemconfig.json 文件保存到计算机上的 sapcon 目录中。
如果已选择使用 env.list 文件存储凭据,请创建一个包含所需凭据的临时 env.list 文件 。 Docker 容器正常运行后,请确保删除此文件。
注意
下面的脚本将每个 Docker 容器连接到特定的 ABAP 系统。 根据环境需要修改脚本。
运行:
############################################################## # Include the following section if you're using user authentication ############################################################## # env.list template for Credentials SAPADMUSER=<SET_SAPCONTROL_USER> SAPADMPASSWORD=<SET_SAPCONTROL_PASS> LOGWSID=<SET MICROSOFT SENTINEL WORKSPACE ID> LOGWSPUBLICKEY=<SET MICROSOFT SENTINEL WORKSPACE KEY> ABAPUSER=SET_ABAP_USER> ABAPPASS=<SET_ABAP_PASS> JAVAUSER=<SET_JAVA_OS_USER> JAVAPASS=<SET_JAVA_OS_USER> ############################################################## # Include the following section if you are using Azure Keyvault ############################################################## # env.list template for AZ Cli when MI is not enabled AZURE_TENANT_ID=<your tenant id> AZURE_CLIENT_ID=<your client/app id> AZURE_CLIENT_SECRET=<your password/secret for the service principal> ##############################################################
在安装了 SAP 数据连接器的情况下,下载并运行预定义的 Docker 映像。 运行:
docker pull mcr.microsoft.com/azure-sentinel/solutions/sapcon:latest-preview docker run --env-file=<env.list_location> -d --restart unless-stopped -v /home/$(pwd)/sapcon/<sap-sid>/:/sapcon-app/sapcon/config/system --name sapcon-<sid> sapcon rm -f <env.list_location>
验证 Docker 容器是否正常运行。 运行:
docker logs –f sapcon-[SID]
继续部署适用于 SAP 应用程序的 Microsoft Sentinel 解决方案。
通过部署此解决方案,SAP 数据连接器可以在 Microsoft Sentinel 中显示,并支持部署 SAP 工作簿和分析规则。 完成后,手动添加和自定义 SAP 关注列表。
有关详细信息,请参阅从内容中心部署适用于 SAP 应用程序的 Microsoft Sentinel 解决方案。
手动配置适用于 SAP 的 Microsoft Sentinel 数据连接器
当通过 CLI 部署时,适用于 SAP 的 Microsoft Sentinel 数据连接器在 systemconfig.json 文件中配置,该文件在部署过程中已克隆到 SAP 数据连接器计算机。 使用本部分中的内容手动配置数据连接器设置。
有关详细信息,请参阅 Systemconfig.json 文件参考或适用于旧版系统的 Systemconfig.ini 文件参考。
定义发送到 Microsoft Sentinel 的 SAP 日志
默认的 systemconfig.json 文件已配置为涵盖内置分析、SAP 用户授权主数据表(包含用户和特权信息),以及用于跟踪 SAP 环境中的更改和活动的功能。
默认配置提供更多日志记录信息,让用户可以进行入侵后调查并获得更大的搜寻能力。 但是,随着时间的推移,你可以自定义配置,特别是在业务流程具有季节性的情况下。
使用以下代码集配置 systemconfig.json 文件,以定义发送到 Microsoft Sentinel 的日志。
有关详细信息,请参阅适用于 SAP 应用程序的 Microsoft Sentinel 解决方案日志参考(公共预览版)。
配置默认配置文件
以下代码将配置默认配置:
"logs_activation_status": {
"abapauditlog": "True",
"abapjoblog": "True",
"abapspoollog": "True",
"abapspooloutputlog": "True",
"abapchangedocslog": "True",
"abapapplog": "True",
"abapworkflowlog": "True",
"abapcrlog": "True",
"abaptabledatalog": "False",
"abapfileslogs": "False",
"syslog": "False",
"icm": "False",
"wp": "False",
"gw": "False",
"javafileslogs": "False"
配置以检测为主的配置文件
使用以下代码配置以检测为主的配置文件,其中包括使大多数分析规则正常运行所需的 SAP 环境核心安全日志。 入侵后调查和搜寻功能有限。
"logs_activation_status": {
"abapauditlog": "True",
"abapjoblog": "False",
"abapspoollog": "False",
"abapspooloutputlog": "False",
"abapchangedocslog": "True",
"abapapplog": "False",
"abapworkflowlog": "False",
"abapcrlog": "True",
"abaptabledatalog": "False",
"abapfileslogs": "False",
"syslog": "False",
"icm": "False",
"wp": "False",
"gw": "False",
"javafileslogs": "False"
},
....
"abap_table_selector": {
"agr_tcodes_full": "True",
"usr01_full": "True",
"usr02_full": "True",
"usr02_incremental": "True",
"agr_1251_full": "True",
"agr_users_full": "True",
"agr_users_incremental": "True",
"agr_prof_full": "True",
"ust04_full": "True",
"usr21_full": "True",
"adr6_full": "True",
"adcp_full": "True",
"usr05_full": "True",
"usgrp_user_full": "True",
"user_addr_full": "True",
"devaccess_full": "True",
"agr_define_full": "True",
"agr_define_incremental": "True",
"pahi_full": "True",
"pahi_incremental": "True",
"agr_agrs_full": "True",
"usrstamp_full": "True",
"usrstamp_incremental": "True",
"agr_flags_full": "True",
"agr_flags_incremental": "True",
"sncsysacl_full": "False",
"usracl_full": "False",
使用以下代码配置极简配置文件,其中包括 SAP 安全审核日志,它是由适用于 SAP 应用程序的 Microsoft Sentinel 解决方案用来分析 SAP 环境活动的最重要数据源。 启用此日志是提供任何安全覆盖范围的最低要求。
"logs_activation_status": {
"abapauditlog": "True",
"abapjoblog": "False",
"abapspoollog": "False",
"abapspooloutputlog": "False",
"abapchangedocslog": "True",
"abapapplog": "False",
"abapworkflowlog": "False",
"abapcrlog": "True",
"abaptabledatalog": "False",
"abapfileslogs": "False",
"syslog": "False",
"icm": "False",
"wp": "False",
"gw": "False",
"javafileslogs": "False"
},
....
"abap_table_selector": {
"agr_tcodes_full": "False",
"usr01_full": "False",
"usr02_full": "False",
"usr02_incremental": "False",
"agr_1251_full": "False",
"agr_users_full": "False",
"agr_users_incremental": "False",
"agr_prof_full": "False",
"ust04_full": "False",
"usr21_full": "False",
"adr6_full": "False",
"adcp_full": "False",
"usr05_full": "False",
"usgrp_user_full": "False",
"user_addr_full": "False",
"devaccess_full": "False",
"agr_define_full": "False",
"agr_define_incremental": "False",
"pahi_full": "False",
"pahi_incremental": "False",
"agr_agrs_full": "False",
"usrstamp_full": "False",
"usrstamp_incremental": "False",
"agr_flags_full": "False",
"agr_flags_incremental": "False",
"sncsysacl_full": "False",
"usracl_full": "False",
SAL 日志连接器设置
将以下代码添加到适用于 SAP 的 Microsoft Sentinel 数据连接器 systemconfig.json 文件中,以定义已引入到 Microsoft Sentinel 中的 SAP 日志的其他设置。
有关详细信息,请参阅执行专业/自定义 SAP 数据连接器安装。
"connector_configuration": {
"extractuseremail": "True",
"apiretry": "True",
"auditlogforcexal": "False",
"auditlogforcelegacyfiles": "False",
"timechunk": "60"
通过本部分,你能够配置以下参数:
参数名称 | 说明 |
---|---|
extractuseremail | 确定用户电子邮件地址是否包含在审核日志中。 |
apiretry | 确定是否将 API 调用作为故障转移机制进行重试。 |
auditlogforcexal | 确定系统是否对非 SAL 系统(如 SAP BASIS 版本 7.4)强制使用审核日志。 |
auditlogforcelegacyfiles | 确定系统是否强制使用带有旧系统功能(例如补丁级别较低的 SAP BASIS 版本 7.4 的功能)的审核日志。 |
timechunk | 确定系统在两次数据提取之间等待特定的分钟数。 如果预期有大量数据,请使用此参数。 例如,在第一个 24 小时内的初始数据加载期间,你可能希望数据提取每 30 分钟运行一次,以便每次有足够的时间提取数据。 在这种情况下,请将此值设置为 30。 |
配置 ABAP SAP Control 实例
要将所有 ABAP 日志(包括基于 NW RFC 和 SAP Control Web 服务的日志)引入 Microsoft Sentinel,请配置以下 ABAP SAP Control 详细信息:
设置 | 说明 |
---|---|
javaappserver | 输入 SAP Control ABAP 服务器主机。 例如: contoso-erp.appserver.com |
javainstance | 输入 SAP Control ABAP 实例编号。 例如: 00 |
abaptz | 输入在 SAP Control ABAP 服务器上配置的时区(GMT 格式)。 例如: GMT+3 |
abapseverity | 输入要将 ABAP 日志引入 Microsoft Sentinel 的最低(含)严重性级别。 值包括: - 0 = 所有日志 - 1 = 警告 - 2 = 错误 |
配置 Java SAP Control 实例
要将 SAP Control Web 服务日志引入 Microsoft Sentinel,请配置以下 JAVA SAP Control 实例详细信息:
参数 | 说明 |
---|---|
javaappserver | 输入 SAP Control Java 服务器主机。 例如: contoso-java.server.com |
javainstance | 输入 SAP Control ABAP 实例编号。 例如: 10 |
javatz | 输入在 SAP Control Java 服务器上配置的时区(GMT 格式)。 例如: GMT+3 |
javaseverity | 输入要将 Web 服务日志引入 Microsoft Sentinel 的最低(含)严重性级别。 值包括: - 0 = 所有日志 - 1 = 警告 - 2 = 错误 |
配置用户主机数据收集
若要直接从 SAP 系统中引入包含用户和角色授权详细信息的表,请使用 True
/False
语句配置 systemconfig.json 文件,每个表一个语句。
例如:
"abap_table_selector": {
"agr_tcodes_full": "True",
"usr01_full": "True",
"usr02_full": "True",
"usr02_incremental": "True",
"agr_1251_full": "True",
"agr_users_full": "True",
"agr_users_incremental": "True",
"agr_prof_full": "True",
"ust04_full": "True",
"usr21_full": "True",
"adr6_full": "True",
"adcp_full": "True",
"usr05_full": "True",
"usgrp_user_full": "True",
"user_addr_full": "True",
"devaccess_full": "True",
"agr_define_full": "True",
"agr_define_incremental": "True",
"pahi_full": "True",
"pahi_incremental": "True",
"agr_agrs_full": "True",
"usrstamp_full": "True",
"usrstamp_incremental": "True",
"agr_flags_full": "True",
"agr_flags_incremental": "True",
"sncsysacl_full": "False",
"usracl_full": "False",
有关详细信息,请参阅直接从 SAP 系统检索的表参考。
相关内容
有关详细信息,请参阅: