Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
SECURITY-3314-3315 — 禁用CLI以缓解SECURITY-3314/CVE-2024-23897和SECURITY-3315/CVE-2024-23898的变通方案 | Kitploit
工具/GitHubGitHub/jenkinsci-cert/security-3314-3315
漏洞分析配置审计Web安全云安全DevSecOps错误配置Archived
GitHubjenkinsci-cert/security-3314-3315

SECURITY-3314-3315

禁用CLI以缓解SECURITY-3314/CVE-2024-23897和SECURITY-3315/CVE-2024-23898的变通方案

查看仓库
7272年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
网站
分享

= SECURITY-3314/SECURITY-3315 缓解措施

此仓库记录了防止在受影响实例上利用 SECURITY-3314 和 SECURITY-3315 的缓解措施。

== 概述

需要禁用对 CLI 的访问。 必须采取以下两个步骤:

  • 移除 CLI HTTP 端点
  • 禁用 SSH 端口(https://plugins.jenkins.io/sshd/[SSH Server Plugin])

[NOTE]

基于 remoting 的 CLI 已在 Jenkins 中移除 https://www.jenkins.io/blog/2019/02/17/remoting-cli-removed/[五年前]。 本文档不包含相关说明。 强烈建议使用基于 remoting 的 CLI 的 Jenkins 实例管理员紧急升级到更新的版本。

[IMPORTANT]

以下说明仅作为短期变通方案,即使您不使用 CLI 也是如此。 由于 Jenkins 的可扩展性,可能存在其他访问受影响 HTTP 端点的途径。

== 说明

=== 禁用 CLI 端点

如果 Jenkins 正在运行,请在 https://www.jenkins.io/doc/book/managing/script-console/[脚本控制台] 中执行提供的脚本 disable-cli.groovy。 这样做将移除 CLI HTTP 端点,直到 Jenkins 重启为止。 使用 disable-cli.groovy 的内容创建一个初始化后 https://www.jenkins.io/doc/book/managing/groovy-hook-scripts/[Groovy Hook 脚本],以确保每当 Jenkins(重新)启动时都会执行该脚本。

==== 确认

要确认脚本是否生效,请导航至 Manage Jenkins » Jenkins CLI。

未应用缓解措施时,将显示通用 CLI 文档(包括可用 CLI 命令的概述)。 应用缓解措施后,将显示 HTTP 404 Not Found 错误。

=== 禁用 SSH 端口

https://plugins.jenkins.io/sshd/[SSH Server Plugin] 提供通过 SSH 访问 Jenkins CLI 的功能。 这是一个功能曾经是 Jenkins 核心一部分的插件,因此即使您从未显式安装过它,也可能已安装。

导航至 Manage Jenkins » Security,确保 SSH Server 部分中的 SSHD Port 设置设置为 Disable。

注意:即使您选择禁用或卸载该插件,也建议执行此操作,因为插件管理功能可能会重新安装或重新启用该插件以确保满足插件依赖关系。

或者,您可以将以下代码片段添加到 disable-cli.groovy 脚本的末尾:

root@kitploit:~
// Disable CLI access over SSH Server Plugin
if (j.getPlugin('sshd')) {
  hudson.ExtensionList.lookupSingleton(org.jenkinsci.main.modules.sshd.SSHD.class).setPort(-1)
}

==== 确认

使用支持的 UI 选项禁用 SSH 端口无需显式配置,但您可以尝试连接到之前配置的 SSH CLI 端口。 预期结果是连接失败。 请注意,无法通过未认证方式使用 SSH CLI,因此并非每个错误都表示已成功禁用。 以下是预期(安全)结果的示例(假设之前配置了端口 2222):

root@kitploit:~
$ ssh -p 2222 jenkins.example.org
ssh: connect to host jenkins.example.org port 2222: Connection refused
root@kitploit:~
$ ssh -p 2222 jenkins.example.org
kex_exchange_identification: read: Connection reset by peer
Connection reset by … port 2222
下载工具