你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 SAP® 的 Microsoft Sentinel 解决方案应用程序部署故障排除

有用的 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]

启用/禁用调试模式打印

启用调试模式打印:

  1. 在 VM 上,编辑 /opt/sapcon/[SID]/systemconfig.ini 文件。

  2. 定义“常规”部分(如果以前未定义)。 在本部分中,定义 logging_debug = True

    例如:

    [General]
    logging_debug = True
    
  3. 保存文件。

更改会在保存文件两分钟后生效。 无需重启 Docker 容器。

禁用调试模式打印:

  1. 在 VM 上,编辑 /opt/sapcon/[SID]/systemconfig.ini 文件。

  2. 在“常规”部分中,定义 logging_debug = False

    例如:

    [General]
    logging_debug = False
    
  3. 保存文件。

更改会在保存文件两分钟后生效。 无需重启 Docker 容器。

查看所有容器执行日志

适用于 SAP® 的 Microsoft Sentinel 解决方案应用程序数据连接器部署的连接器执行日志存储在 VM 上的 /opt/sapcon/[SID]/log/ 中。 日志文件名为 OmniLog.log。 保留日志文件的历史记录,后缀为.[数字] 如 OMNILOG.LOG.1、OMNILOG.LOG.2 等

查看和更新适用于 SAP 的 Microsoft Sentinel 数据连接器配置

如果要查看适用于 SAP 的 Microsoft Sentinel 数据连接器配置文件并手动进行更新,请执行以下步骤:

  1. 在 VM 上,打开配置文件:

    • 对于 2023 年 6 月 22 日或之后发布的代理版本,sapcon/[SID]/systemconfig.json。
    • 对于 2023 年 6 月 22 日之前发布的代理版本,sapcon/[SID]/systemconfig.ini
  2. 根据需要更新配置,并保存文件。

更改会在保存文件两分钟后生效。 无需重启 Docker 容器。

重置适用于 SAP 的 Microsoft Sentinel 数据连接器

以下步骤将重置连接器并重新引入最近 30 分钟内的 SAP 日志。

  1. 停止连接器。 运行:

    docker stop sapcon-[SID]
    
  2. 从 /opt/sapcon/[SID] 目录中删除 metadata.db 文件。 运行:

    cd /opt/sapcon/<SID>
    rm metadata.db
    

    注意

    metadata.db 文件包含每个日志的最后一个时间戳,可防止重复。

  3. 再次启动连接器。 运行:

    docker start sapcon-[SID]
    

完成后确保查看系统日志

SAP 审核日志中缺少 IP 地址或事务代码字段

通过此解决方案,具有 SAP BASIS 7.5 SP12 及更高版本的 SAP 系统可以反映 ABAPAuditLog_CLSAPAuditLog 表中的其他字段。

如果使用高于 7.5 SP12 的 SAP BASIS 版本,并且 SAP 审核日志中缺少 IP 地址或事务代码字段,请验证要从中提取数据的 SAP 系统是否包含相关的更改请求(传输)。 若要了解详细信息,请查看先决条件中的从 SAP 检索其他信息部分。

SAP 表数据日志中未显示任何数据

通过此解决方案,具有 SAP BASIS 7.5 SP12 及更高版本的 SAP 系统可以反映 ABAPTableDataLog_CL 表中的表数据日志更改。

如果 ABAPTableDataLog_CL 表中未显示任何数据,请验证要从中提取数据的 SAP 系统是否包含相关的更改请求(传输)。 若要了解详细信息,请查看先决条件中的从 SAP 检索其他信息部分。

常见问题

部署适用于 SAP 的 Microsoft Sentinel 数据连接器和安全内容后,你可能会遇到以下错误或问题:

SAP SDK 文件损坏或缺失

如果连接器无法用 PyRfc 启动,或者显示了与 zip 相关的错误消息,则可能发生此错误。

  1. 重新安装 SAP SDK。
  2. 验证你的 Linux 64 位版本是否正确。 从当前日期开始,发布文件名为:nwrfc750P_8-70002752.zip。

如果你已手动安装数据连接器,请确保已将 SDK 文件复制到 Docker 容器中。

运行:

Docker cp SDK by running docker cp nwrfc750P_8-70002752.zip /sapcon-app/inst/

大型系统上出现 ABAP 运行时错误

如果在大型系统上出现 ABAP 运行时错误,请尝试缩小区域大小:

  1. 编辑 /opt/sapcon/[SID]/systemconfig.ini 文件,并在“连接器配置”部分定义 timechunk = 5

    例如:

    [Connector Configuration]
    timechunk = 5
    
  2. 保存文件。

更改会在保存文件两分钟后生效。 无需重启 Docker 容器。

注意

timechunk 大小以分钟为单位定义。

空或未检索审核日志,无特殊错误消息

  1. 检查是否在 SAP 中启用了审核日志记录。
  2. 验证 SM19 或 RSAU_CONFIG 事务 。
  3. 根据需要启用任何事件。
  4. 验证消息是否到达并存在于 SAP SM20 或 RSAU_READ_LOG 中,连接器日志中不显示任何特殊错误。

Microsoft Sentinel 工作区 ID 或密钥不正确

如果你发现了在部署脚本中输入了不正确的工作区 ID 或密钥,请更新 Azure Key Vault 中存储的凭据。

验证 Azure 密钥保管库中的凭据后,重启容器:

docker restart sapcon-[SID]

固定配置中的 SAP ABAP 用户凭据不正确

固定配置是指密码直接存储在 systemconfig.ini 配置文件中。

如果凭据不正确,请验证凭据。

使用 base64 加密对用户和密码进行加密。 可以使用联机加密工具(例如 https://www.base64encode.org/ )加密凭据。

密钥保管库中 SAP ABAP 用户凭据不正确

检查凭据,并根据需要通过将正确的值应用于 Azure 密钥保管库中的 ABAPUSER 和 ABAPPASS 值来修复凭据 。

然后重启容器:

docker restart sapcon-[SID]

缺失 ABAP(SAP 用户)权限

如果收到了类似于“..缺失后台 RFC 授权..”的错误消息,说明没有恰当应用 SAP 授权和角色。

  1. 请确保在更改请求传输过程中,已导入 MSFTSEN/SENTINEL_CONNECTOR 角色并将其应用到连接器用户。

  2. 使用 SAP 事务 PFCG 运行角色生成和用户比较。

工作簿或警告中缺失数据

如果发现在 Microsoft Sentinel 工作簿或警告中缺失数据,请确保在 SAP 端恰当启用了审核日志策略,并且日志文件中没有错误。

在此步骤中使用 RSAU_CONFIG_LOG 事务。

SAP 更改请求缺失

如果发现缺少所需的 SAP 更改请求错误,请确保已为系统导入正确的 SAP 更改请求。

有关详细信息,请参阅 ValidateSAP 环境验证步骤

无记录/延迟记录

代理依赖于时区信息的正确性。 如果 SAP 审核和更改日志中没有记录,或者记录总是滞后几个小时,请检查 SAP 报告 TZCUSTHELP 是否显示任何错误。 有关更多详细信息,请参见 SAP 说明 481835。 此外,托管适用于 SAP 的 Microsoft Sentinel 解决方案®应用程序代理的 VM 上的时钟也可能出现问题。 VM 时钟与 UTC 的任何偏差都会影响数据收集。 更重要的是,SAP VM 的时钟和 Sentinel 代理的 VM 时钟应匹配。

网络连接问题

如果在 SAP 环境或 Microsoft Sentinel 上遇到网络连接问题,请检查你的网络连接,以确保数据按预期方式流动。

常见问题包括:

  • Docker 容器与 SAP 主机之间的防火墙可能会阻止流量。 SAP 主机通过以下 TCP 端口接收通信,这些端口必须是打开的:32xx、5xx13 和 33xx,其中 xx 是 SAP 实例编号 。

  • 从 SAP 主机到 Microsoft Container Registry 或 Azure 的出站通信需要进行代理配置。 这通常会影响安装并要求配置 HTTP_PROXYHTTPS_PROXY 环境变量。 此外,还可以在创建 docker 容器时,通过将 -e 标志添加到 docker create / run 命令来将环境变量引入到该容器中。

其他意外问题

如果出现本文未列出的意外问题,请尝试执行以下步骤:

提示

另外还建议在完成任何大的配置更改后,重置连接器并确保已获得最新升级。

检索审核日志失败并出现警告

如果尝试检索审核日志,但未部署所需的更改请求,或使用了较旧/未修补的版本,并且该进程失败并出现警告,请验证是否可以使用下列方法之一来检索 SAP 审核日志:

  • 在较旧版本中使用称为 XAL 的兼容性模式
  • 使用最近未修补的版本
  • 未安装所需的更改请求

尽管系统应在需要时自动切换到兼容模式,但你可能需要手动切换。 手动切换到兼容模式:

  1. 编辑 /opt/sapcon/[SID]/systemconfig.ini 文件

  2. 在“连接器配置”部分中定义:auditlogforcexal = True

    例如:

    [Connector Configuration]
    auditlogforcexal = True
    
  3. 保存文件。

更改会在保存文件两分钟后生效。 无需重启 Docker 容器。

SAPCONTROL 或 JAVA 子系统无法连接

请检查 OS 用户是否有效,并且是否可以在目标 SAP 系统上运行以下命令:

sapcontrol -nr <SID> -function GetSystemInstanceList

如果 SAPCONTROL 或 JAVA 子系统失败,并出现时区相关的错误消息,例如:请检查 SAP 服务器 'Etc/NZST' 的配置和网络访问,请确保使用的是标准时区代码。

例如,使用 javatz = GMT+12abaptz = GMT-3**

无法将更改请求传输导入到 SAP

如果无法导入所需的 SAP 日志更改请求并且收到有关无效组件版本的错误,请在导入更改请求时添加 ignore invalid component version

引入初始负载之后未引入审核日志数据

如果在引入初始负载之后,RSAU_READ_LOAD 或 SM200 事务中显示的 SAP 审核日志数据未引入 Microsoft Sentinel 中,则原因可能是错误配置了 SAP 系统和 SAP 主机操作系统。

  • 初始负载是在全新安装适用于 SAP 的 Microsoft Sentinel 数据连接器后或者在删除 metadata.db 文件后引入的。
  • 示例错误配置:STZAC 事务中的 SAP 系统时区设置为 CET,但 SAP 主机操作系统时区却设置为 UTC 。

若要检查是否存在错误配置,请在事务 SE38 中运行 RSDBTIME 报告 。 如果发现 SAP 系统与 SAP 主机操作系统之间存在不匹配情况,请执行以下操作:

  1. 停止 Docker 容器。 运行

    docker stop sapcon-[SID]
    
  2. 从 /opt/sapcon/[SID] 目录中删除 metadata.db 文件。 运行:

    rm /opt/sapcon/[SID]/metadata.db
    
  3. 更新 SAP 系统和 SAP 主机操作系统,使设置匹配,例如使用相同的时区。 有关详细信息,请参阅 SAP 社区 Wiki

  4. 再次启动容器。 运行:

    docker start sapcon-[SID]
    

SAP 审核日志中缺少 IP 地址或事务代码字段

该解决方案允许 SAP BASIS 7.5 SP12 及以上版本的 SAP 系统在 ABAPAuditLog_CL 和 SAPAuditLog 表中反映附加字段。 如果使用高于 7.5 SP12 的 SAP BASIS 版本,并且 SAP 审核日志中缺少 IP 地址或事务代码字段,请验证要从中提取数据的 SAP 系统是否包含相关的更改请求(传输)。 有关更多详细信息,请参阅从 SAP 检索其他信息(可选)

SAP 表数据日志中未显示任何数据

通过此解决方案,具有 SAP BASIS 7.5 SP12 及更高版本的 SAP 系统可以反映 ABAPTableDataLog_CL 表中的表数据日志更改。 如果 ABAPTableDataLog_CL 中未显示任何数据,请验证要从中提取数据的 SAP 系统是否包含相关的更改请求(传输)。 有关更多详细信息,请参阅从 SAP 检索其他信息(可选)

后续步骤

详细了解适用于 SAP® 的 Microsoft Sentinel 解决方案应用程序:

参考文件:

要了解详情,请参阅 Microsoft Sentinel 解决方案