对API的令牌

必威国际有限公司Jenkins API令牌是一种身份验证机制,它允许工具(脚本、应用程序等)模拟用户,而无需提供Jenkins API或CLI使用的实际密码。当您的安全领域基于一个中心目录(如Active directory或LDAP),并且您不想在脚本中存储密码时,这一点尤其有用。Jenkins的最新版本还使得在使用A必威国际有限公司PI令牌进行身份验证时更容易使用远程API,因为即使启用了CSRF保护,也不需要提供CSRF令牌。API令牌并不意味着——也不能——取代Jenkins UI的常规密码。必威国际有限公司

以前的问题

我们在Jenkins 2.129中解决了现有API令牌系统的两个主要问题:必威国际有限公司

首先,报道必威国际有限公司詹金斯- 32442, Jenkins中的用户帐户默认有一必威国际有限公司个自动生成的API令牌。由于这些令牌可以用来作为给定的用户进行身份验证,它们增加了Jenkins的攻击面。必威国际有限公司

第二个问题是在必威国际有限公司詹金斯- 32776:令牌先前以加密形式存储在磁盘上。这意味着它们可能被未经授权的用户利用另一个安全漏洞解密,或者从不正确保护的备份中获得,并用于冒充其他用户。

新方法

这个新系统的主要目标是提供以单向方式存储在磁盘上的API令牌,即使用散列算法(在这个特殊情况下SHA-256)。

虽然这意味着在创建API令牌之后,你将无法再看到它们,但我们添加了几个特性来缓解这个潜在的问题:

  • 您可以同时拥有多个活动的API令牌。如果您不再记得API令牌的值,只需撤销它。

  • 您可以为令牌命名,以了解它们被使用的位置(如果需要,可以在创建后重命名它们)。我们建议令牌使用指明使用位置(例如应用程序、脚本或主机)的名称。

  • 您可以跟踪令牌的使用情况。每个令牌保存使用次数和最后一次使用日期的记录。这将允许您更好地了解哪些令牌是真正使用的,哪些不再是主动需要的。必威国际有限公司Jenkins还鼓励用户轮换旧的API令牌,在6个月后用橙色突出它们的创建日期,在12个月后用红色突出创建日期。这样做的目的是提醒用户,当您经常重新生成令牌时,令牌会更加安全:令牌存在的时间越长(可能在脚本文件中传递或存储在共享驱动器中),令牌被未授权使用它的人访问的机会就越大。

使用令牌
图1。令牌使用跟踪
  • 您可以撤销API令牌。当您知道您不再使用给定的令牌时,您可以撤销它,以减少它被未经授权的用户使用的风险。因为可以有多个API令牌,所以可以细粒度地控制允许哪些脚本、主机或应用程序将Jenkins用作给定用户。必威国际有限公司

迁移到新的API令牌

为了帮助管理员逐步迁移他们的实例,遗留行为仍然可用,而新系统也可用。

在用户配置页面上,遗留令牌用一个警告标志突出显示,说明用户应该撤销它并生成一个新令牌(如果需要)以提高安全性。

遗留的更新
图2。遗留令牌更新仍然是可能的

管理员的新选项

为了让管理员控制迁移到新的API令牌系统的速度,我们在全新的“API令牌”部分的“配置全局安全”页面中添加了两个全局配置选项:

  • 禁用在用户创建时创建遗留API令牌的选项。

  • 禁用用户重新创建遗留API令牌的选项,强制他们只使用新的、不可恢复的API令牌。

在默认情况下,这两个选项对于新安装是禁用的(安全默认值),而当Jenkins从2.129之前升级时,它们是启用的。必威国际有限公司

安全配置选项
图3。安全配置选项
除遗留
图4。删除遗留令牌并禁用重新创建

新的管理员警告

当升级到Jenkins 2.129时必威国际有限公司,一个管理监视器通知管理员上述新选项,并建议禁用它们。

如果至少有一个用户仍然使用遗留API令牌,则会出现另一个管理警告。它提供了对仍然配置在Jenkins实例中的遗留令牌的集中控制,并允许撤销所有令牌。必威国际有限公司

监控屏幕
图5。遗留令牌监视页面

总结

必威国际有限公司Jenkins API令牌现在更加灵活:它们允许甚至鼓励更好的安全实践。我们建议您尽快撤销遗留API令牌,只使用新引入的API令牌。

关于作者
Wadeck Follonier

瓦德克是詹金斯的安保人员,领必威国际有限公司导安全团队改善詹金斯的安全状况。必威国际有限公司他喜欢提供既有用又易于使用的解决方案。