首页/安全/渗透测试与安全评估速查/Jenkins 权限与暴露面检查
常见漏洞验证121 条

Jenkins 权限与暴露面检查

Jenkins 常见问题:匿名可读/可写、脚本控制台暴露、插件过期以及默认凭据;核查权限矩阵与对外暴露面。

Jenkins 的暴露面在哪

Jenkins 是持续集成平台,权限一旦放开就等于把构建环境、凭据库与部署权限一起放开。常见问题包括:匿名可读甚至可写、脚本控制台(/script)对普通用户开放、插件长期未更新、以及默认或共享的管理员凭据。核查以权限矩阵与对外暴露面为两条主线。

基本信息

适用平台Jenkins LTS 与周更版,可运行于 Windows/Linux 容器
核查入口配置全局安全、权限矩阵或项目式矩阵授权
高风险功能脚本控制台 /script、凭据管理与流水线共享库
暴露面主端口 8080、代理端口 50000、反向代理后的路径前缀

典型使用场景

  • CI/CD 平台纳入评估范围时的暴露面盘点
  • 排查构建服务器被当作跳板进入生产环境的风险
  • 核查凭据库里存放的部署密钥与云账号权限
  • 评估对外映射的 Jenkins 是否可被任意人访问
  • 为平台加固提供权限矩阵改造清单

检查要点

检查要点
1. 匿名访问:项目列表、构建日志、系统信息页是否可直接打开
2. 脚本控制台与系统管理页面是否只对管理员开放(普通用户可进入即高危)
3. 凭据管理:是否存在全局凭据被多个任务共享、是否绑定部署密钥
4. 代理节点:50000 端口是否对业务网段可达、节点是否可复用
5. 版本与插件:插件列表中长期未更新项与已知问题,升级计划是否可行
6. 反代配置:路径前缀暴露内部任务名,或未限制来源 IP

权限项与判据

权限项期望配置风险表现
匿名读取关闭未登录可看任务与日志
脚本控制台仅管理员普通用户可执行脚本
系统配置仅管理员可改凭据与节点配置
节点管理限定管理员与专用账号任意任务可挂载到生产节点
部署权限按环境与项目分权同一账号可发布到生产
Jenkins 常在反向代理后对外开放:评估时要确认代理层是否做了来源限制与路径收敛,很多风险实际上是“内网平台被映射到公网”造成的。
构建任务通常持有生产部署权限:发现可匿名触发或修改任务的能力后应立即通报,不要实际触发部署动作。

易错点

  • 仅看是否能匿名访问首页,忽略匿名是否有触发构建或读取凭据的能力
  • 把脚本控制台开放给普通用户视为低风险,实际等同于服务器命令执行
  • 插件长期不更新,平台版本停留在已知问题较多的分支
  • 凭据库中部署密钥被多个项目共享,单点泄漏影响全部环境
  • 构建节点同时承担生产部署,评估时的验证动作可能触发真实发布

数据来源与参考

  • Jenkins 官方安全文档(Securing Jenkins)
  • CWE-284
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌