一个基于审批的本地 Web 应用,用于扫描与 Check Point CVE-2026-50751、CVE-2026-50752、CVE-2026-85102 和 CVE-2026-85103 相关的配置标记,并通过 Check Point Management API 命令应用选定的缓解措施。
本工具并非由 Check Point 创建或提供支持,使用风险自负。缓解措施是临时的。Check Point 建议尽快使用 Check Point 安全公告中为每个 CVE 提供的补丁进行修补。
该应用在本地运行,扫描相关 VPN 配置,显示可能需要缓解的位置,允许操作员批准更改,并可以发布管理会话。发布后仍需安装策略,更改才能在网关上生效。配置发现结果并不能确定网关是否已修补或是否可被利用。
登录支持用户名/密码或 API 密钥认证。扫描结果在可用时使用 SMS 管理对象名称或返回的 Smart-1 Cloud/MDS 域名。已批准的更改使用相应的域会话。
扫描 SMS 全局 Remote Access VPN 属性:
remote-access.vpn-authentication-and-encryption.encryption-method
如果当前值不是 ike_v2_only,应用可以批准并应用更改,将该属性设置为:
ike_v2_only
此扫描旨在识别 VPN Remote Access 和 Mobile Access 仍全局允许已弃用的 IKEv1 密钥交换所带来的暴露风险。IKEv1 已被弃用,不再是行业最佳实践。此更改可能影响较旧的 VPN 客户端。请查阅 SK166415 获取 Check Point 的更多指导。
扫描简单网关,并检查每个网关通用对象中的 VPN realm:
realmsForBlades
应用会报告旧版客户端是受支持还是已禁用。当缓解措施被批准时,它会将 VPN realm 所属对象的 disabled 值设置为 true。
面向用户的结果文本:
Legacy clients are disabledLegacy Clients are Supported允许旧版客户端可能会保留对 IKEv1 的支持,而 IKEv1 已不再是行业最佳实践。除非仍然需要旧版客户端,否则我们建议禁用此设置。如果需要旧版客户端,请计划将其迁移到更安全的现代 VPN 客户端。
此检查查找个人证书认证,作为应用中描述的证书验证问题的配置标记:VPN 协商期间对证书数据的不当验证可能允许未经身份验证的远程攻击者在网关上执行任意代码。
对于扫描的管理域中返回的每个简单网关,应用使用 show-simple-gateway 请求完整详细信息。等效的 CLI 检查为:
mgmt_cli -r true show simple-gateway name "YOUR_GATEWAY_NAME" details-level full --format json
它检查 vpn-settings.authentication.authentication-clients,包括每个客户端嵌套的 authentication-methods 数组,查找:
{
"name": "Personal_Certificate",
"display-name": "Personal Certificate",
"authentication-methods": [
{ "authentication-factor": "personal-certificate" }
]
}
检测使用认证因子,而非硬编码的客户端名称。证据表显示网关、域、UID、当前状态、匹配的客户端显示名称和状态。缺失或不完整的详细信息显示为 Unknown;API 失败显示为 Scan error。两者都不会被视为干净结果。此检查目前枚举简单网关,而非集群对象。
勾选每个要更新的网关的复选框,然后点击 Remove User Certificate。应用会重新检查选定的网关,并按实际对象名称移除检测到的个人证书登录选项。对于名为 Personal_Certificate 的客户端,等效命令为:
mgmt_cli -r true set simple-gateway name "YOUR_GATEWAY_NAME" vpn-settings.authentication.authentication-clients.remove "Personal_Certificate"
其他认证客户端条目保持不变。移除登录选项会移除整个选项,包括其中包含的任何其他方法;它不会删除证书对象。依赖被移除选项的客户端在策略安装后需要另一种认证方法。
Publish after successful apply 默认勾选。应用会报告各个网关的成功和失败情况,并在之后刷新扫描。如果任何网关更新失败,此操作不会自动发布成功的更改;请先审查它们,再手动发布。发布错误会单独报告。发布后安装策略。
扫描两种 Check Point 站点到站点 VPN 社区类型:
仅当观察到以下所有情况时,应用才会标记 VPN 社区:
对于星型社区,应用分别显示中心网关和卫星网关。当 API 数据提供足够的对象类型信息时,网关名称会标记为本地管理或外部管理。
对于网状社区,应用从社区的 gateways 列表获取网关名称。网状社区在此工具中不包含外部管理网关处理,因此该字段显示为不适用。
当缓解措施被批准时,应用会尝试将 VPN 社区加密方法设置为仅 IKEv2。星型社区使用:
set-vpn-community-star
网状社区使用:
set-vpn-community-meshed
如果选定的星型社区包含外部管理的网关,应用会在应用更改前发出警告。你必须确保在外部管理的网关侧也进行匹配的仅 IKEv2 更改。
使用 details-level: full 从 show-global-properties 读取 firewall.accept-control-connections。表格显示 Enabled、Disabled、Unknown 或 Scan error,并带有管理/域标签和 API 证据。
这是一项只读检查。仅在高安全环境中,按照 SK179346 将隐式规则替换为显式 Access Control 规则。不正确的规则可能会破坏策略安装以及管理/日志连接。仅凭设置被禁用并不能验证所需的显式规则是否存在。
操作运行期间,底部会显示实时状态栏。登录后,它会轮询后端以获取最新的 API 命令、域和已启动的命令数量,并显示已用时间。活动指示器不是完成百分比估算。
http://... 形式输入管理服务器;那会通过明文 HTTP 发送 Check Point API 登录信息。http://127.0.0.1:3000 与本地后端通信。后端代理以下 Check Point Management API 命令:
loginlogoutpublishshow-sessionshow-domainsshow-gateways-and-serversshow-simple-gatewaysshow-simple-gatewayset-simple-gatewayshow-generic-objectset-generic-objectshow-global-propertiesset-global-propertiesshow-vpn-communities-star此项目没有第三方 npm 依赖。从源代码运行时,仅需要 Node.js 18 或更高版本。
从 nodejs.org 或 Homebrew 安装 Node.js 18 或更高版本。
brew install node
下载或克隆此项目。
git clone <repo-url>
cd CVE-Web-Check
启动本地应用。
npm start
由于没有 npm 依赖,这也可以:
node server.js
打开应用。
http://127.0.0.1:3000
从 nodejs.org 安装 Node.js 18 或更高版本。
下载并解压项目 ZIP,或使用 Git for Windows 克隆仓库。
git clone <repo-url>
cd CVE-Web-Check
启动本地应用。
npm start
由于没有 npm 依赖,这也可以:
node server.js
在浏览器中打开应用。
http://127.0.0.1:3000
默认情况下,应用监听 127.0.0.1:3000。要使用其他端口:
macOS:
PORT=3100 npm start
Windows PowerShell:
$env:PORT = "3100"
npm start
然后打开:
http://127.0.0.1:3100
在 http://127.0.0.1:3000 打开正在运行的应用,而不是将 public/index.html 作为本地文件打开。API 调用和实时状态栏需要 Node 后端。后端重启后,请重新登录并运行新的扫描。
服务器会将请求诊断信息打印到终端。成功的登录尝试会显示类似以下的行:
Local API request requestId=abc12345 route=/api/login
Login request received target=https://mgmt.example.com/web_api/login user=admin
Check Point API request starting command=login target=https://mgmt.example.com/web_api/login
如果浏览器显示带有请求 ID 的登录错误,但数据包捕获显示没有向管理服务器发出站尝试,请将终端中的 target= 值与你的数据包捕获过滤器进行比较。
如果完全没有 Local API request 行,则浏览器未到达本地后端。确认应用正在运行,并且你打开了正确的本地 URL。
show-vpn-communities-meshedset-vpn-community-starset-vpn-community-meshed