
用于分析SAP安全网络通信(SNC)的工具。

在当前状态下,sncscan 可用于读取 SAP Router 和 DIAG(SAP GUI)连接的 SNC 配置。SAP RFC 协议的实现目前正在开发中。
SAP Router 可以支持或不支持 SNC,但无法对 SNC 参数进行更细粒度的配置。尽管如此,sncscan 可以检测它是否已激活:
sncscan -H 10.3.161.4 -S 3299 -p router
DIAG 连接(由 SAP GUI 使用)的 SNC 配置比 Router 配置具有更多样的设置。有关可使用 sncscan 读取并影响连接安全性的系统参数的详细概述,请参见 背景 部分。
sncscan -H 10.3.161.3 -S 3200 -p diag
可以使用一条命令扫描多个目标:
sncscan -L /H/192.168.56.101/S/3200,/H/192.168.56.102/S/3206
sncscan --route-string /H/10.3.161.5/S/3299/H/10.3.161.3/S/3200 -p diag
要求:目前 sncscan 仅适用于我们 fork 的 pysap 库。
python3 -m pip install -r requirements.txt
或
python3 setup.py test
python3 setup.py install
SAP 协议(如 DIAG 或 RFC)本身不提供高安全性。为了增强安全性并确保身份验证、完整性和加密,需要使用 SNC(安全网络通信)。 SNC 通过将已知的加密算法应用于数据,保护使用 RFC、DIAG 或路由协议的 SAP 系统各客户端与服务器组件之间的数据通信路径,从而提高其安全性。 SNC 安全连接可采用三种不同级别的数据保护:
每个 SAP 系统均可通过 SNC 参数配置通信安全。 SNC 连接的级别由保护质量(Quality of Protection)参数决定:
其他 SNC 参数可用于进一步指定系统配置选项,包括 snc/only_encrypted_gui 参数,该参数确保强制使用加密的 SAPGUI 连接。
只要访问的 SAP 系统能够发送 SNC 消息,它就会响应有效的 SNC 请求,无论为 SNC 指定了哪个 IP、端口和 CN。该响应包含 SAP 系统对 SNC 连接的要求,可据此获取 SNC 参数。 这可用于查明 SAP 系统是否已启用 SNC,以及如果已启用,设置了哪些 SNC 参数。