本文包含故障排除步骤,有助于确保使用 Microsoft Sentinel 准确且及时地引入和监视 SAP 环境的数据。
在使用无代理数据连接器时,大多数故障排除通常是在 SAP Integration Suite 中直接进行,并且消息日志中会显示错误,指示所遇到问题的性质。
首先检查消息处理日志。 有关详细信息,请参阅 SAP 文档。 那里的错误消息可帮助你诊断缺少权限、连接错误和其他错误配置的问题。
如果看不到问题的相关错误,请启用跟踪日志记录,以便进行更深入的故障排除。 有关详细信息,请参阅 SAP 文档。
检查先决条件
执行 初始连接器配置时部署的无代理数据连接器包包括一个工具,可帮助 SAP 管理员诊断和修复与 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 系统可能缺少 RFC_READ_TABLE 函数模块所需的功能。 请确保 SAP 管理员已查看 SAP 注释 3390051 和 382318,并相应地修补了系统。
有关详细信息,请参阅 配置 SAP 云连接器设置。
设置数据连接器时出现“部署所需的 Azure 资源”错误
为 SAP 设置 Microsoft Sentinel 的无代理数据连接器时,在 初始连接器配置 > 步骤 1:触发所需 Azure 资源的自动部署/SOC 工程师后,选择“部署必要资源”时,您可能会看到“部署所需 Azure 资源”错误或类似错误(错误可能有所不同)。 此错误可能表示缺少 Entra ID 应用注册所需的权限。
如果没有 Entra ID 应用程序开发人员 角色或更高级别,则需要与具有此权限的同事合作以完成 Azure 资源的设置。 有关详细信息,请按照 数据连接器代理连接步骤中的过程进行操作。
缺少“最后路由的地址”
如果在安全审核日志中看到错误,指出缺少路由的最后一个地址(IP 地址),请按照 SAP 说明中的指南 3566290 进行操作。
不完整的 SAP 用户主数据
如果您看到显示 SAP 用户主数据不完整或ABAPAuthorizationDetails Microsoft Sentinel 表中没有数据的错误,请按以下步骤进行操作:
- 确认 SAP 源系统中存在 SIAG_ROLE_GET_AUTH SAP 函数模块。
- 请按照 SAP 注 3088309 中相关解决方案的指导进行操作。
仅当数据连接器代理通过命令行部署时,选定的故障排除过程才相关。 如果使用建议的过程从门户部署代理,请使用门户进行任何配置更改。
有用的 Docker 命令
在对适用于 SAP 的 Microsoft Sentinel 数据连接器进行故障排除时,可能会发现以下命令很有用:
函数 | 命令 |
---|---|
停止 Docker 容器 | docker stop sapcon-[SID] |
启动 Docker 容器 | docker start sapcon-[SID] |
查看 Docker 系统日志 | docker logs -f sapcon-[SID] |
输入 Docker 容器 | docker exec -it sapcon-[SID] bash |
有关详细信息,请参阅 Docker CLI 文档。
查看系统日志
强烈建议在安装或者重置数据连接器后查看系统日志。
运行:
docker logs -f sapcon-[SID]
启用/禁用调试模式打印
仅当你已通过命令行部署了数据连接器代理时,才支持此过程。
在数据收集器代理容器虚拟机上,编辑 /opt/sapcon/[SID]/systemconfig.json 文件。
定义“常规”部分(如果以前未定义)。 在本节中,请定义
logging_debug = True
以启用调试模式输出,或定义logging_debug = False
以禁用它。例如:
[General] logging_debug = True
保存文件。
更改会在保存文件大约两分钟后生效。 无需重启 Docker 容器。
查看所有容器执行日志
适用于 SAP 的 Microsoft Sentinel 解决方案应用程序数据连接器部署的连接器执行日志存储在 VM 上的 /opt/sapcon/[SID]/log/ 中。 日志文件名为 OmniLog.log。 保留日志文件的历史记录,后缀为.[数字] 如 OMNILOG.LOG.1、OMNILOG.LOG.2 等。
查看和更新适用于 SAP 的 Microsoft Sentinel 代理连接器配置文件
仅当你已通过命令行部署了数据连接器代理时,才支持此过程。 如果你已通过门户部署代理,请继续通过门户维护和更改配置设置。
如果你是通过命令行部署的,请执行以下步骤:
在 VM 上打开配置文件:sapcon/[SID]/systemconfig.json
根据需要更新配置,并保存文件。 有关详细信息,请参阅适用于 SAP 应用程序的 Microsoft Sentinel 解决方案的
systemconfig.json
文件参考。
更改会在保存文件大约两分钟后生效。 无需重启 Docker 容器。
重置适用于 SAP 的 Microsoft Sentinel 数据连接器
以下步骤将重置连接器并重新引入最近 30 分钟内的 SAP 日志。
停止连接器。 运行:
docker stop sapcon-[SID]
从 /opt/sapcon/[SID] 目录中删除 metadata.db 文件。 运行:
cd /opt/sapcon/<SID> rm metadata.db
注意
metadata.db 文件包含每个日志的最后一个时间戳,可防止重复。
再次启动连接器。 运行:
docker start sapcon-[SID]
完成后确保查看系统日志。
常见问题
部署适用于 SAP 的 Microsoft Sentinel 数据连接器和安全内容后,你可能会遇到以下错误或问题:
SAP SDK 文件损坏或缺失
如果连接器无法用 PyRfc 启动,或者显示了与 zip 相关的错误消息,则可能发生此错误。
- 重新安装 SAP SDK。
- 验证你的版本是否为正确的 Linux 64 位版本,例如 nwrfc750P_8-70002752.zip。
如果你已手动安装数据连接器,请确保已将 SDK 文件复制到 Docker 容器中。
运行:
docker cp nwrfc750P_8-70002752.zip /sapcon-app/inst/
大型系统上出现 ABAP 运行时错误
仅当你已通过命令行部署了数据连接器代理时,才支持此过程。
如果在大型系统上出现 ABAP 运行时错误,请尝试缩小区域大小:
编辑 /opt/sapcon/[SID]/systemconfig.json 文件,在“连接器配置”部分中定义
timechunk = 5
。例如:
[Connector Configuration] timechunk = 5
保存文件。
更改会在保存文件大约两分钟后生效。 无需重启 Docker 容器。
注意
timechunk 大小以分钟为单位定义。
空或未检索审核日志,无特殊错误消息
- 检查是否在 SAP 中启用了审核日志记录。
- 验证 SM19 或 RSAU_CONFIG 事务 。
- 根据需要启用任何事件。
- 验证消息是否到达并存在于 SAP SM20 或 RSAU_READ_LOG 中,连接器日志中不显示任何特殊错误。
密钥保管库中的工作区 ID 或密钥不正确
如果意识到在部署脚本中输入了不正确的工作区 ID 或密钥,请更新 Azure Key Vault 中存储的凭据。
验证 Azure 密钥保管库中的凭据后,重启容器:
docker restart sapcon-[SID]
密钥保管库中 SAP ABAP 用户凭据不正确
检查凭据,并根据需要通过将正确的值应用于 Azure 密钥保管库中的 ABAPUSER 和 ABAPPASS 值来修复凭据 。
然后重启容器:
docker restart sapcon-[SID]
固定配置中的 SAP ABAP 用户凭据不正确
仅当你已通过命令行部署了数据连接器代理时,才支持此部分。
固定配置是指密码直接存储在 systemconfig.json 配置文件中。
如果凭据不正确,请验证凭据。
使用 base64 加密对用户和密码进行加密。 可以使用联机加密工具(例如 https://www.base64encode.org/ )加密凭据。
缺失 ABAP(SAP 用户)权限
如果收到了类似于“..缺失后台 RFC 授权..”的错误消息,说明没有恰当应用 SAP 授权和角色。
请确保在更改请求传输过程中,已导入 MSFTSEN/SENTINEL_CONNECTOR 角色并将其应用到连接器用户。
使用 SAP 事务 PFCG 运行角色生成和用户比较。
工作簿或警告中缺失数据
如果发现在 Microsoft Sentinel 工作簿或警告中缺失数据,请确保在 SAP 端恰当启用了审核日志策略,并且容器日志文件中没有错误。
在此步骤中使用 RSAU_CONFIG_LOG 事务。
有关详细信息,请参阅 SAP 文档和在 Microsoft Sentinel 中收集 SAP HANA 审核日志。
建议为审核日志中的所有消息(而不是仅特定日志)配置审核。 引入成本差异通常很小,并且数据对于 Microsoft Sentinel 检测以及入侵后调查和搜寻很有用。 有关详细信息,请参阅配置 SAP 审核。
SAP 审核日志中缺少 IP 地址或事务代码字段
在使用 SAP BASIS 7.5 SP12 及更高版本的 SAP 系统中,Microsoft Sentinel 可以反映 ABAPAuditLog_CL
和 SAPAuditLog
表中的额外字段。
如果使用高于 7.5 SP12 的 SAP BASIS 版本,并且 SAP 审核日志中缺少 IP 地址或事务代码字段,请验证要从中提取数据的 SAP 系统是否包含相关的更改请求(传输)。 有关详细信息,请参阅配置对额外数据检索的支持(推荐)。
SAP 更改请求缺失
如果发现缺少所需的 SAP 更改请求错误,请确保已为系统导入正确的 SAP 更改请求。 有关详细信息,请参阅 SAP 先决条件和为 Microsoft Sentinel 解决方案配置 SAP 系统。
SAP 表数据日志中未显示任何数据
在使用 SAP BASIS 7.5 SP12 及更高版本的 SAP 系统中,Microsoft Sentinel 可以反映 ABAPTableDataLog_CL
表中的表数据日志更改。
如果 ABAPTableDataLog_CL
表中未显示任何数据,请验证要从中提取数据的 SAP 系统是否包含相关的更改请求(传输)。 有关详细信息,请参阅配置对额外数据检索的支持(推荐)。
无记录/延迟记录
数据收集器代理依赖于时区信息的正确性。 如果 SAP 审核和更改日志中没有记录,或者记录总是滞后几个小时,请检查 SAP TZCUSTHELP 报表是否显示任何错误。 有关详细信息,请参阅 SAP 说明 481835。
托管数据收集器代理容器的虚拟机上的时钟可能也存在问题,VM 上的时钟与 UTC 的任何偏差都会影响数据收集。 更重要的是,SAP 系统计算机和数据收集代理计算机上的时钟必须匹配。
建议为审核日志中的所有消息(而不是仅特定日志)配置审核。 引入成本差异通常很小,并且数据对于 Microsoft Sentinel 检测以及入侵后调查和搜寻很有用。 有关详细信息,请参阅配置 SAP 审核。
网络连接问题
如果在 SAP 环境或 Microsoft Sentinel 上遇到网络连接问题,请检查你的网络连接,以确保数据按预期方式流动。
常见问题包括:
Docker 容器与 SAP 主机之间的防火墙可能会阻止流量。 SAP 主机通过以下 TCP 端口接收通信,这些端口必须是打开的:32xx、5xx13 和 33xx,其中 xx 是 SAP 实例编号 。
从 SAP 代理主机到 Microsoft 容器注册表或 Azure 的出站通信需要进行代理配置。 这通常会影响安装并要求配置
HTTP_PROXY
和HTTPS_PROXY
环境变量。 此外,还可以在创建 docker 容器时,通过将-e
标志添加到 dockercreate
/run
命令来将环境变量引入到该容器中。
检索审核日志失败并出现警告
仅当你已通过命令行部署了数据连接器代理时,才支持此部分。
如果尝试检索审核日志但未进行必需的配置,而该过程失败并显示警告,请验证是否可以使用下列方法之一来检索 SAP 审核日志:
- 在较旧版本中使用称为 XAL 的兼容性模式
- 使用最近未修补的版本
- 无需进行任何更改即可连接到 Microsoft Sentinel 数据连接器代理。 有关详细信息,请参阅为 Microsoft Sentinel 解决方案配置 SAP 系统。
尽管系统应在需要时自动切换到兼容模式,但你可能需要手动切换。 手动切换到兼容模式:
在“连接器配置”部分中定义:
例如:
[Connector Configuration] auditlogforcexal = True
保存文件。
更改会在保存文件大约两分钟后生效。 无需重启 Docker 容器。
SAPCONTROL 或 JAVA 子系统无法连接
请检查 OS 用户是否有效,并且是否可以在目标 SAP 系统上运行以下命令:
sapcontrol -nr <SID> -function GetSystemInstanceList
SAPCONTROL 或 JAVA 子系统失败,出现时区相关错误消息
如果 SAPCONTROL 或 JAVA 子系统失败,并出现时区相关的错误消息,例如:请检查 SAP 服务器 'Etc/NZST' 的配置和网络访问,请确保使用的是标准时区代码。
例如,使用 javatz = GMT+12
或 abaptz = GMT-3**
。
引入初始负载之后未引入审核日志数据
如果在引入初始负载之后,RSAU_READ_LOAD 或 SM200 事务中显示的 SAP 审核日志数据未引入 Microsoft Sentinel 中,则原因可能是错误配置了 SAP 系统和 SAP 主机操作系统。
- 初始负载是在全新安装适用于 SAP 的 Microsoft Sentinel 数据连接器后或者在删除 metadata.db 文件后引入的。
- 示例错误配置:STZAC 事务中的 SAP 系统时区设置为 CET,但 SAP 主机操作系统时区却设置为 UTC 。
若要检查是否存在错误配置,请在事务 SE38 中运行 RSDBTIME 报告 。 如果发现 SAP 系统与 SAP 主机操作系统之间存在不匹配情况,请执行以下操作:
停止 Docker 容器。 运行
docker stop sapcon-[SID]
从 /opt/sapcon/[SID] 目录中删除 metadata.db 文件。 运行:
rm /opt/sapcon/[SID]/metadata.db
更新 SAP 系统和 SAP 主机操作系统,使设置匹配,例如使用相同的时区。 有关详细信息,请参阅 SAP 社区 Wiki。
再次启动容器。 运行:
docker start sapcon-[SID]
其他意外问题
如果出现本文未列出的意外问题,请尝试执行以下步骤:
- 重置连接器并重新加载日志
- 将连接器升级到最新版本。
提示
另外还建议在完成任何大的配置更改后,重置连接器并确保已获得最新升级。
相关内容
详细了解适用于 SAP 的 Microsoft Sentinel 解决方案应用程序:
- 部署适用于 SAP 应用程序的 Microsoft Sentinel 解决方案
- 部署适用于 SAP 应用程序的 Microsoft Sentinel 解决方案的先决条件
- 为 Microsoft Sentinel 解决方案配置 SAP 系统
- 从内容中心部署解决方案内容
参考文件:
要了解详情,请参阅 Microsoft Sentinel 解决方案。