CloudBees在Jenkins/CBCI生态系统上建立了一个专门的安全团队。关于该团队的公开信息可以在从此链接中找到:https://www.jenkins.io/security/。由于所涉及的系统复杂且插件数量众多(见下文),许多扫描提供的信息缺少有价值的上下文,除非使用者有相应的工具经验。所以,专门的安全团队很有必要。
安全团队主要行动和责任
以下是该团队所采取的关键行动的大纲,并在适当的地方提供了链接。如需进一步信息,请发送邮件至support@cloudbees.com,或联系CloudBees授权合作伙伴——龙智(customer@shdsd.com)。
- 审计新插件代码的托管请求(想要进入生态系统的插件);
https://github.com/jenkins-infra/repository-permissions-updater/labels/hosting-request
-
审计CAP中是否包含插件(希望进入CloudBees保证计划的插件);
-
根据插件的流行程度(基于安装数量判断),对随机插件进行主动审核;
-
当CloudBees发现危险模式时,进行大规模分析/调查;
- 由于需要涵盖2000多个插件,这对CI生态系统来说是特殊的。
-
Jenkins专用工具开发(jenkins-codeql和usage-in-plugins);
-
Jenkins插件生态系统的CodeQL自定义规则;
- 这些规则检测到安全专家多年来发现的常见缺陷,利用CloudBees团队的专业知识为上下文提供一些有意义的东西。 - 工具开发,以防止缺陷被引入。 - https://github.com/jenkins-infra/jenkins-codeql
-
多种模式(Classes, Methods 和Fields等)的自定义代码搜索引擎。
- https://github.com/jenkins-infra/usage-in-plugins
-
-
外部安全研究人员和插件维护者之间的协作/协调;
-
确保报告清晰,包含足够的细节;
-
复现不同的漏洞;
-
为维护人员提供建议;
-
审查纠正,协调发布版本。
-
CloudBees安全警告页面网址为:https://www.cloudbees.com/security-advisories
Jenkins安全警告页面的网址为:https://www.jenkins.io/security/advisories/
-
在CloudBees流水线中完成扫描报告分析;
- 对分析进行CVE(Common Vulnerabilities & Exposures,通用漏洞披露)评估和论证。
-
客户扫描报告分析;
- 对分析进行CVE评估和论证。
-
通过共享的Slack渠道、Confluence和学习发展训练,进行教育和指导,提升内部和外部的安全意识;
-
遵循产品开发团队执行的内部OLA(操作级别协议)政策;
-
Jenkins CERT是一个CNA(CVE编号的分发机构),允许生成CVE。
疑难问题解答
以下是关于Jenkins安全话题的两个问题,龙智CloudBees的技术专家进行了解答,希望能为您提供参考。
问题1:
在Jenkins的安全警告里,最后会提示哪些插件漏洞还没有修复,但是CloudBees里的安全警告最后都是让升级版本,这意思是升级版本可以解决/避免插件漏洞吗?
解答:
是的,CI在升级版本的时候,已经包含了新版本的Plugin,而这些新版本的Plugin会会包含这些安全漏洞的修复。
问题2:
对于插件漏洞,Jenkins也可以升级Plugin版本来解决?
解答:
开源的Jenkins不会帮助你去测试新版本的Plugin和其他Plugin的兼容性,结果就是必须自己去解决兼容性问题,这也是开源Jenkins升级最让人头疼的问题之一。
但是CloudBees所提供的升级版本,新的Plugin已经和其他的新旧版本的Plugin都测试过兼容性了,所以下载后直接可用,方便省心。