排查适用于 SAP 的 Microsoft Sentinel 解决方案应用程序部署问题

本文包含故障排除步骤,有助于确保使用 Microsoft Sentinel 准确且及时地引入和监视 SAP 环境的数据。

仅当数据连接器代理通过命令行部署时,选定的故障排除过程才相关。 如果使用建议的过程从门户部署代理,请使用门户进行任何配置更改。

有用的 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. 在数据收集器代理容器虚拟机上,编辑 /opt/sapcon/[SID]/systemconfig.json 文件。

  2. 定义“常规”部分(如果以前未定义)。 在本节中,请定义 logging_debug = True 以启用调试模式输出,或定义 logging_debug = False 以禁用它。

    例如:

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

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

查看所有容器执行日志

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

查看和更新适用于 SAP 的 Microsoft Sentinel 代理连接器配置文件

仅当你已通过命令行部署了数据连接器代理时,才支持此过程。 如果你已通过门户部署代理,请继续通过门户维护和更改配置设置。

如果你是通过命令行部署的,请执行以下步骤:

  1. 在 VM 上打开配置文件:sapcon/[SID]/systemconfig.json

  2. 根据需要更新配置,并保存文件。 有关详细信息,请参阅适用于 SAP 应用程序的 Microsoft Sentinel 解决方案的 systemconfig.json 文件参考

更改会在保存文件大约两分钟后生效。 无需重启 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 的 Microsoft Sentinel 数据连接器和安全内容后,你可能会遇到以下错误或问题:

SAP SDK 文件损坏或缺失

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

  1. 重新安装 SAP SDK。
  2. 验证你的版本是否为正确的 Linux 64 位版本,例如 nwrfc750P_8-70002752.zip

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

运行:

docker cp nwrfc750P_8-70002752.zip /sapcon-app/inst/

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

仅当你已通过命令行部署了数据连接器代理时,才支持此过程。

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

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

    例如:

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

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

注意

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

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

  1. 检查是否在 SAP 中启用了审核日志记录。
  2. 验证 SM19 或 RSAU_CONFIG 事务 。
  3. 根据需要启用任何事件。
  4. 验证消息是否到达并存在于 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 授权和角色。

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

  2. 使用 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_CLSAPAuditLog 表中的额外字段。

如果使用高于 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_PROXYHTTPS_PROXY 环境变量。 此外,还可以在创建 docker 容器时,通过将 -e 标志添加到 docker create / run 命令来将环境变量引入到该容器中。

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

仅当你已通过命令行部署了数据连接器代理时,才支持此部分。

如果尝试检索审核日志但未进行必需的配置,而该过程失败并显示警告,请验证是否可以使用下列方法之一来检索 SAP 审核日志:

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

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

  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**

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

如果在引入初始负载之后,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 的 Microsoft Sentinel 解决方案应用程序:

参考文件:

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