Jenkins和GitLab - Gitlab Hook插件是正确的选择吗?

时间:2018-06-15 21:53:50

标签: jenkins gitlab

关于这一点的帖子太多了,而且在Git中没有经验也无助于抓住这个。

我刚刚加入了一家根本没有CI的新公司,所以抓住机会创建一个概念证明(现在在我的Windows机箱上使用Jenkins,直到我得到一个专用的服务器)。我过去使用和半配置过Jenkins,使用SVN,它非常简单快速地运行起来。在这家公司,他们不使用SVN,只使用GitLab(我相信它是私有的 - 我们有自己的网站,而不是.gitlab.com),没有什么对我有用。

我跟着一些短片,但主要是this似乎是满足我需要的那个。它不起作用(原因和症状可能值得一个自己的帖子)。

当我查看Jenkins中的Gitlab Hook插件时,我看到一个大红色警告说它不安全(“Gitlab API令牌存储并以纯文本显示”)。

所以我的问题是,对于我正在研究的这个POC,这个警​​告有多严重?我应该避免使用这个插件,然后完全放弃这个方法吗?

虽然我在这里,我可能还会提出一个额外的一般性问题来打开我的选择...如果我想让Jenkins与Gitlab一起工作(意思是,我检查了一些内容并触发了构建),我绝对需要来使用SSH方法,或者它也适用于HTTPS?

谢谢。

1 个答案:

答案 0 :(得分:0)

这确实是SECURITY-263 / CVE-2018-1000196

  

Gitlab Hook插件不会加密用于访问Gitlab的Gitlab API令牌。拥有主文件系统访问权限的用户可以使用它来获取GitHub凭据。

     

此外,Gitlab API令牌以其纯文本格式进行往返,并以常规文本字段显示给具有“总体/管理”权限的用户。这会将API令牌暴露给查看Jenkins管理员屏幕,浏览器扩展,跨站点脚本漏洞等的人。

     

在发布此通报时,没有任何解决方法。

所以:

  这个警告有多严重?

很严重,但它确实需要访问Jenkins服务器文件系统,或者它需要Jenkins管理级别。因此,只要有缓解措施,即可以记录,承认并暂时搁置风险,即:

  • 正确监控对Jenkins服务器的访问
  • 正确定期审核Jenkins管理员帐户列表。
  

我是否绝对需要使用SSH方法,或者也可以使用HTTPS?

您可以使用https访问Jenkins作业中的GitLab存储库 但对于GitLab钩子插件,SSH仍然是推荐的方式,考虑到您可以使用令牌(而不是用户帐户名/密码),您可以随时撤销。