专业配置选项、本地部署和 SAPControl 日志源
本文介绍如何在专业或自定义进程中部署适用于 SAP 的 Microsoft Sentinel 数据连接器(例如使用本地计算机和 Azure 密钥保管库存储凭据)。
注意
部署适用于 SAP 的 Microsoft Sentinel 数据连接器的默认最佳方法是使用 Azure VM。 本文适用于高级用户。
先决条件
无论采用何种部署方法,部署适用于 SAP 的 Microsoft Sentinel 数据连接器所需的基本先决条件都是相同的。
在开始之前,请确保系统符合主要的 SAP 数据连接器先决条件文件中记录的先决条件。
创建 Azure 密钥保管库
创建专用于适用于 SAP® 的 Microsoft Sentinel 解决方案应用程序数据连接器的 Azure 密钥保管库。
运行以下命令,以创建 Azure 密钥保管库,并授予对 Azure 服务主体的访问权限:
kvgp=<KVResourceGroup>
kvname=<keyvaultname>
spname=<sp-name>
kvname=<keyvaultname>
# Optional when Azure MI not enabled - Create sp user for AZ cli connection, save details for env.list file
az ad sp create-for-rbac –name $spname --role Contributor --scopes /subscriptions/<subscription_id>
SpID=$(az ad sp list –display-name $spname –query “[].appId” --output tsv
#Create key vault
az keyvault create \
--name $kvname \
--resource-group $kvgp
# Add access to SP
az keyvault set-policy --name $kvname --resource-group $kvgp --object-id $spID --secret-permissions get list set
有关详细信息,请参阅快速入门:使用 Azure CLI 创建密钥保管库。
添加 Azure Key Vault 机密
若要添加 Azure Key Vault 机密,请使用你自己的系统 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
有关详细信息,请参阅 az keyvault secret CLI 文档。
执行专业/自定义安装
此过程介绍如何使用专业或自定义安装(例如在本地安装时)部署适用于 SAP 的 Microsoft Sentinel 数据连接器。
建议在为密钥保管库添加 SAP 凭据后执行此过程。
部署适用于 SAP 的 Microsoft Sentinel 数据连接器:
在本地计算机上,从 SAP 启动板站点>“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.ini cp <**nwrfc750X_X-xxxxxxx.zip**> /home/$(pwd)/sapcon/<sap-sid>/
根据需要编辑 systemconfig.ini 文件,使用嵌入的注释作为指南。 有关详细信息,请参阅手动配置适用于 SAP 的 Microsoft Sentinel 数据连接器。
若要测试配置,你可能需要将用户和密码直接添加到 systemconfig.ini 配置文件。 尽管我们建议使用 Azure 密钥保管库来存储凭据,但你也可以使用 env.list 文件和 Docker 机密,或者将凭据直接添加到 systemconfig.ini 文件 。
使用 systemconfig.ini 文件中的说明来定义要引入到 Microsoft Sentinel 中的日志。 有关示例,请参阅定义发送到 Microsoft Sentinel 的 SAP 日志。
使用 systemconfig.ini 文件中的说明来定义以下配置:
- 是否将用户电子邮件地址包含在审核日志中
- 是否重试失败的 API 调用
- 是否包括 cexal 审核日志
- 是否在两次数据提取之间留出间隔时间,尤其是对于大型提取
有关详细信息,请参阅 SAL 日志连接器配置。
将更新的 systemconfig.ini 文件保存到计算机上的 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 SENTINEL WORKSPACE id> LOGWSPUBLICKEY=<SET 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 数据连接器在 systemconfig.ini 文件中配置,该文件在部署过程中已克隆到 SAP 数据连接器计算机。
以下代码显示 systemconfig.ini 文件示例:
[Secrets Source]
secrets = '<DOCKER_RUNTIME/AZURE_KEY_VAULT/DOCKER_SECRETS/DOCKER_FIXED>'
keyvault = '<SET_YOUR_AZURE_KEYVAULT>'
intprefix = '<SET_YOUR_PREFIX>'
[ABAP Central Instance]
##############################################################
# Define the following values according to your server configuration.
ashost = <SET_YOUR_APPLICATION_SERVER_HOST>
mshost = <SET_YOUR_MESSAGE_SERVER_HOST> - #In case different then App
##############################################################
group = <SET_YOUR_LOGON_GROUP>
msserv = <SET_YOUR_MS_SERVICE> - #Required only if the message server service is not defined as sapms<SYSID> in /etc/services
sysnr = <SET_YOUR_SYS_NUMBER>
user = <SET_YOUR_USER>
##############################################################
# Enter your password OR your X509 SNC parameters
passwd = <SET_YOUR_PASSWORD>
snc_partnername = <SET_YOUR_SNC_PARTNER_NAME>
snc_lib = <SET_YOUR_SNC_LIBRARY_PATH>
x509cert = <SET_YOUR_X509_CERTIFICATE>
##############################################################
sysid = <SET_YOUR_SYSTEM_ID>
client = <SET_YOUR_CLIENT>
[Azure Credentials]
loganalyticswsid = <SET_YOUR_LOG_ANALYTICS_WORKSPACE_ID>
publickey = <SET_YOUR_PUBLIC_KEY>
[File Extraction ABAP]
osuser = <SET_YOUR_SAPADM_LIKE_USER>
##############################################################
# Enter your password OR your X509 SNC parameters
ospasswd = <SET_YOUR_SAPADM_PASS>
x509pkicert = <SET_YOUR_X509_PKI_CERTIFICATE>
##############################################################
appserver = <SET_YOUR_SAPCTRL_SERVER IP OR FQDN>
instance = <SET_YOUR_SAP_INSTANCE NUMBER, example 10>
abapseverity = <SET_ABAP_SEVERITY 0 = All logs ; 1 = Warning ; 2 = Error>
abaptz = <SET_ABAP_TZ --Use ONLY GMT FORMAT-- example - For OS Timezone = NZST use abaptz = GMT+12>
[File Extraction JAVA]
javaosuser = <SET_YOUR_JAVAADM_LIKE_USER>
##############################################################
# Enter your password OR your X509 SNC parameters
javaospasswd = <SET_YOUR_JAVAADM_PASS>
javax509pkicert = <SET_YOUR_X509_PKI_CERTIFICATE>
##############################################################
javaappserver = <SET_YOUR_JAVA_SAPCTRL_SERVER IP ADDRESS OR FQDN>
javainstance = <SET_YOUR_JAVA_SAP_INSTANCE for example 10>
javaseverity = <SET_JAVA_SEVERITY 0 = All logs ; 1 = Warning ; 2 = Error>
javatz = <SET_JAVA_TZ --Use ONLY GMT FORMAT-- example - For OS Timezone = NZST use javatz = GMT+12>
定义发送到 Microsoft Sentinel 的 SAP 日志
将以下代码添加到适用于 SAP® 的 Microsoft Sentinel 解决方案应用程序 systemconfig.ini 文件中,以定义发送到 Microsoft Sentinel 的日志。
有关详细信息,请参阅适用于 SAP® 的 Microsoft Sentinel 解决方案应用程序解决方案日志参考(公共预览版)。
##############################################################
# Enter True OR False for each log to send those logs to Microsoft Sentinel
[Logs Activation Status]
ABAPAuditLog = True
ABAPJobLog = True
ABAPSpoolLog = True
ABAPSpoolOutputLog = True
ABAPChangeDocsLog = True
ABAPAppLog = True
ABAPWorkflowLog = True
ABAPCRLog = True
ABAPTableDataLog = False
# ABAP SAP Control Logs - Retrieved by using SAP Conntrol interface and OS Login
ABAPFilesLogs = False
SysLog = False
ICM = False
WP = False
GW = False
# Java SAP Control Logs - Retrieved by using SAP Conntrol interface and OS Login
JAVAFilesLogs = False
##############################################################
SAL 日志连接器设置
将以下代码添加到适用于 SAP 的 Microsoft Sentinel 数据连接器 systemconfig.ini 文件中,以定义已引入到 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.ini 文件,每个表一个语句。
例如:
[ABAP Table Selector]
USR01_FULL = True
USR02_FULL = True
USR02_INCREMENTAL = True
UST04_FULL = True
AGR_USERS_FULL = True
AGR_USERS_INCREMENTAL = True
USR21_FULL = True
AGR_1251_FULL = True
ADR6_FULL = True
AGR_TCODES_FULL = True
DEVACCESS_FULL = True
AGR_DEFINE_FULL = True
AGR_DEFINE_INCREMENTAL = True
AGR_PROF_FULL = True
PAHI_FULL = True
有关详细信息,请参阅直接从 SAP 系统检索的表。
后续步骤
安装 SAP 数据连接器后,可以添加与 SAP 相关的安全内容。
有关详细信息,请参阅部署 SAP 解决方案。
有关详细信息,请参阅: