Jenkins安全提示(jenkins常见问题)

Jenkins安全提示(jenkins常见问题)

编码文章call10242025-02-01 3:16:4513A+A-

这篇文章着眼于一些方法和工具,以确保您的 Jenkins 实例安全、可靠并保护使用它的人。对于一个开放的、可定制的平台。

每日分享最新,最流行的软件开发知识与最新行业趋势,希望大家能够一键三连,多多支持,跪求关注,点赞,留言。

对于这样一个开放的、可定制的平台,即使在默认状态下,Jenkins 也提供了不错的安全性。尽管它连接到无数的行业工具,但还有其他一些方法可以帮助保护您的项目。

在这篇文章中,我们将介绍一些方法和工具,以确保您的 Jenkins 实例安全、可靠并保护使用它的人。

保持一切更新

正如 2021 年 12 月提醒我们的那样,软件漏洞随时都会曝光。软件提供商不仅更新他们的应用程序以修复错误或添加新功能,而且还消除了安全漏洞。

Jenkins 有一个安全公告页面,可告知您其平台的漏洞。保持实例更新(包括其插件)仍然是一个好主意。

要检查 Jenkins 中的更新:

  1. 从菜单中单击管理 Jenkins 。
  2. 如果有可用的新版本,管理 Jenkins屏幕会在顶部告诉您。单击或自动升级按钮立即升级。否则,您可以下载最新版本并在预定时间进行升级。

您还可以从同一屏幕回滚升级 - 只需单击降级按钮。

要更新 Jenkins 插件:

  1. 从菜单中单击管理 Jenkins 。
  2. 单击管理插件
  3. 确保您在“更新”选项卡上,勾选要安装的更新,单击“立即下载”, 然后在重新启动后安装
  4. 重新启动 Jenkins 以完成更新。

您可以在大多数主要操作系统和容器上安装 Jenkins,因此也要保持更新。查找您的操作系统文档以获取有关如何操作的更多信息。

如果您确定,请仅更改 Jenkins 的安全默认值

Jenkins 在安装时启用了它的大部分安全功能,以使事情尽可能安全。鉴于您可以使用 Jenkins 的多种方式,对于如何最好地配置或锁定您的实例,没有“一刀切”的方法。

因此,虽然我们无法就什么对您的团队最有利提供建议(除了我们将在接下来探讨的一个例外),但 Jenkins 提供了有关您应该查看的重要功能的详细文档。请参阅保护 Jenkins 页面以获取与以下相关的安全性的帮助:

  • 基本设置
  • 构建行为
  • 用户界面

您只应仔细考虑进行更改,并在可能的情况下与您的网络安全专家交谈。您可以在“配置全局安全性”页面上进行这些更改——通过从左侧菜单中选择“管理 Jenkins ”来找到它。

避免建立在你的控制器上

Jenkins 提供了一个内置节点,因此您可以尽快运行测试,看看它是否适合您。但是,在单个实例上运行的构建可以访问您的操作系统的文件系统。出于这个原因,Jenkins 建议您改为在“代理”上运行作业(这发生在可扩展的设置中,我们在上一篇文章中讨论过,使用动态构建代理在 Jenkins 中自动扩展)。

代理是运行作业而不是控制器的虚拟 Jenkins 实例。使用代理时,您可以阻止控制器运行构建以限制对可能造成伤害的文件的访问。

要阻止控制器运行构建:

  1. 从菜单中单击管理 Jenkins 。
  2. 单击管理节点和云
  3. 单击Built-In Node右侧的齿轮。
  4. 您有 2 个选项可以防止在控制器上构建。选择一个并单击Save
    • 如果您不想在控制器上构建,请将执行者数量更改为0 。
    • 如果您想在需要时在控制器上构建,请从“使用”下拉列表中选择“仅构建带有与此节点匹配的标签表达式的作业” 。

只让您的团队访问他们需要的东西

安全不仅仅是保护自己免受即将到来的威胁。这也是从内部保护您的环境,因为事故可能发生。如果出现以下情况,它们更有可能发生:

  • 您正在使用单个管理员帐户运行 Jenkins 实例
  • 每个人都可以访问一切
  • 人们可以改变他们不应该改变的事情

以下是管理用户访问权限的一些建议。

给每个 Jenkins 用户一个账户

为了帮助跟踪您的用户在做什么,请为使用您的 Jenkins 实例的任何人创建个人用户帐户。这样,您可以查看所有活动以及谁做了什么。

创建额外用户:

  1. 从菜单中单击管理 Jenkins 。
  2. 向下滚动并选择管理用户
  3. 单击左侧的创建用户
  4. 填写所有字段并单击创建用户

使用矩阵授权策略插件

我们建议使用Matrix Authorization Strategy 插件来更精细地管理用户对 Jenkins 的访问。例如,使用此插件,您可以:

  • 限制用户的访问权限,使他们只能查看和管理他们参与的项目的构建
  • 向项目经理授予只读访问权限,以便他们查看构建的进度

要安装插件:

  1. 单击左侧菜单中的管理 Jenkins
  2. 单击管理插件
  3. 单击可用选项卡并开始输入Matrix Authorization。该插件将出现在预测结果中。
  4. 勾选插件左侧的框,然后单击Install without restart

要使用插件设置权限:

  1. 从菜单中单击管理 Jenkins 。
  2. 单击配置全局安全性
  3. 单击以下任一选项的单选按钮:
    • 基于矩阵的安全性——允许您管理全局用户和组权限。
    • 基于项目的矩阵授权策略——允许您在项目级别管理用户和组权限。
  4. 无论您如何选择,都可以使用按钮添加用户或组,并使用表格中的复选框选择他们的访问级别。完成后单击保存

您应该考虑的其他用户访问插件

如果您已经使用其他系统进行访问管理,您也许可以使用这些系统对您的 Jenkins 用户进行身份验证。例如, Microsoft 的 Active Directory和OpenID都有插件,可以让您免于在多个位置管理访问。

我们还建议查看文件夹和基于文件夹的授权策略插件。

文件夹插件允许您在可嵌套文件夹中根据需要对作业进行分组。此插件可让您对共享安全需求的作业进行分组,从而帮助您密切关注它们。

基于文件夹的授权策略插件允许您使用角色设置文件夹访问权限,从而扩展了文件夹的安全性。

安全地存储您的凭证

Credentials Binding 插件是加密和安全存储连接 Jenkins 与其他服务的凭据的最佳选择。Jenkins 也推荐它——作为他们第一次安装 Jenkins 时建议的插件之一。另外,许多其他插件将其用作依赖项。

该插件允许您存储和重用所有类型的身份验证方法,例如:

  • 用户名和密码
  • SSH 用户名和私钥
  • 秘密文件
  • 密文
  • 证书

我们将在以后的文章中详细介绍 Credentials Binding 插件。

结论

如您所见,有很多方法可以确保安全使用 Jenkins 来保护项目免受外部和内部风险。查看Jenkins 的文档以获取有关确保实例安全的更多信息。

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4