你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 SNC 部署适用于 SAP 的 Microsoft Sentinel 数据连接器
本文介绍如何部署适用于 SAP 的 Microsoft Sentinel 数据连接器,以使用安全网络通信 (SNC) 通过安全连接引入 SAP NetWeaver 和 SAP ABAP 日志。
SAP 数据连接器代理通常使用远程函数调用 (RFC) 连接以及用户名和密码连接到 SAP ABAP 服务器进行身份验证。
但是,某些环境可能要求在加密通道上建立连接,某些环境可能要求使用客户端证书进行身份验证。 在这些情况下,可以使用 SAP 的 SNC 安全地连接数据连接器。 完成本文中所述的步骤。
先决条件
若要使用 SNC 部署适用于 SAP 的 Microsoft Sentinel 数据连接器,你需要:
- SAP 加密库。
- 网络连接。 SNC 使用端口 48xx(其中 xx 是 SAP 实例编号)连接到 ABAP 服务器。
- SAP 服务器配置为支持 SNC 身份验证。
- 自签名或企业证书颁发机构 (CA) 颁发的用于用户身份验证的证书。
注意
本文介绍配置 SNC 的示例案例。 在生产环境中,强烈建议你咨询 SAP 管理员来创建部署计划。
导出服务器证书
若要开始,请导出服务器证书:
登录到 SAP 客户端并运行 STRUST 事务。
在左窗格中,转到“SNC SAPCryptolib”并展开该部分。
选择系统,然后为“主体”选择一个值。
服务器证书信息显示在“证书”部分中。
选择“导出证书”。
在“导出证书”对话框中:
对于文件格式,请选择“Base64”。
在“文件路径”旁边,选择双框图标。
选择要将证书导出到的文件名。
选择绿色复选标记以导出证书。
导入证书
本节介绍如何导入证书,使其受到 ABAP 服务器的信任。 了解需要将哪个证书导入 SAP 系统非常重要。 只需将证书的公钥导入 SAP 系统。
如果用户证书是自签名的:导入用户证书。
如果用户证书由企业 CA 颁发:导入企业 CA 证书。 如果同时使用根 CA 服务器和从属 CA 服务器,请同时导入根 CA 和从属 CA 公共证书。
若要导入证书:
运行 STRUST 事务。
选择“显示”<->“更改”。
选择“导入证书”。
在“导入证书”对话框中:
在“文件路径”旁边,选择双框图标并转到证书。
转到包含证书的文件(仅公钥),然后选择绿色复选标记以导入证书。
证书信息显示在“证书”部分。
选择“添加到证书列表”。
证书显示在“证书列表”部分中。
将证书与用户帐户关联
要将证书与用户帐户关联:
运行 SM30 事务。
在“表/视图”中,输入“USRACLEXT”,然后选择“维护”。
查看输出,确定目标用户是否已具有关联的 SNC 名称。 如果没有与用户关联的 SNC 名称,请选择“新条目”。
对于“用户”,请输入用户的用户名。 对于“SNC 名称”,输入前缀为“p:”的用户证书主体名称,然后选择“保存”。
使用证书授予登录权限
若要授予登录权限:
运行 SM30 事务。
在“表/视图”中,输入“VSNCSYSACL”,然后选择“维护”。
在出现的信息提示中,确认表是跨客户端的。
在“确定工作区域: 条目”中,输入“E”作为“ACL 条目类型”,然后选择绿色复选标记。
查看输出,确定目标用户是否已具有关联的 SNC 名称。 如果用户没有关联的 SNC 名称,请选择“新条目”。
输入带有 p: 前缀的系统 ID 和用户证书使用者名称。
确保选中“已激活 RFC 条目”和“已激活证书条目”复选框,然后选择“保存”。
将 ABAP 服务提供商的用户映射到外部用户 ID
若要将 ABAP 服务提供商用户映射到外部用户 ID:
运行 SM30 事务。
在“表/视图”中,输入“VUSREXTID”,然后选择“维护”。
在“确定工作区域: 条目”中,为“工作区域”选择“DN”ID 类型”。
输入以下值:
- 对于“外部 ID”,输入“CN=Sentinel”、“C=US”。
- 对于“Seq.No”,输入“000”。
- 对于“用户”,输入“SENTINEL”。
依次选择“保存”和“输入”。
设置容器
注意
如果你使用 UI 设置 SAP 数据连接器代理容器,请不要完成本节中所述的步骤。 请改为在连接器页中继续设置连接器。
若要设置容器:
将 libsapcrypto.so 和 sapgenpse 文件传输到将在其中创建容器的系统。
将客户端证书(私钥和公钥)传输到将创建容器的系统。
客户端证书和密钥可以是 .p12、.pfx 或 Base64 .crt 和 .key 格式。
将服务器证书(仅限公钥)传输到将在其中创建容器的系统。
服务器证书必须采用 Base64 .crt 格式。
如果客户端证书是由企业证书颁发机构颁发的,请将颁发的 CA 和根 CA 证书传输到将在其中创建容器的系统。
从 Microsoft Sentinel GitHub 存储库中获取 kickstart 脚本:
wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-kickstart.sh
更改脚本的权限以使其可执行:
chmod +x ./sapcon-sentinel-kickstart.sh
运行脚本并指定以下基参数:
./sapcon-sentinel-kickstart.sh \ --use-snc \ --cryptolib <path to sapcryptolib.so> \ --sapgenpse <path to sapgenpse> \ --server-cert <path to server certificate public key> \
如果客户端证书采用 .crt 或 .key 格式,请使用以下开关:
--client-cert <path to client certificate public key> \ --client-key <path to client certificate private key> \
如果客户端证书采用 .pfx 或 .p12 格式,请使用以下开关:
--client-pfx <pfx filename> --client-pfx-passwd <password>
如果客户端证书是由企业 CA 颁发的,请在信任链中为每个 CA 添加此开关:
--cacert <path to ca certificate>
例如:
./sapcon-sentinel-kickstart.sh \ --use-snc \ --cryptolib /home/azureuser/libsapcrypto.so \ --sapgenpse /home/azureuser/sapgenpse \ --client-cert /home/azureuser/client.crt \ --client-key /home/azureuser/client.key \ --cacert /home/azureuser/issuingca.crt --cacert /home/azureuser/rootca.crt --server-cert /home/azureuser/server.crt \
有关 kickstart 脚本中提供的选项的详细信息,请参阅参考:Kickstart 脚本。
故障排除和参考
有关排除故障的信息,请参阅以下文章:
如需参考,请参阅以下文章:
- 适用于 SAP 的 Microsoft Sentinel 解决方案应用程序数据参考
- 适用于 SAP 的 Microsoft Sentinel 解决方案应用程序:安全内容参考
- Kickstart 脚本参考
- 更新脚本参考
- Systemconfig.ini 文件参考