Jenkins安全部署规范及安全基线

news2024/12/25 7:15:57

Jenkins安全部署规范及安全基线

  • 进入安全设置界面
  • 启用安全
  • Disable remember me
  • 访问控制——安全域(Security Realm)
    • servlet容器代理(Delegate to servlet container)
    • Jenkins专有用户数据库(Jenkins’ own user database)
    • LDAP
    • UNIX用户/组数据库(Unix user/group database)
  • 访问控制——授权(Authorization)
    • 任何用户可以做任何事(Anyone can do anything)
    • 传统模式(Legacy mode)
    • 登录用户可以做任何事(Logged-in users can do anything)
    • 安全矩阵(`推荐使用`)
    • 项目矩阵授权策略
  • 其他全局安全配置
    • 标记格式化程序(Markup Formatter)
    • 代理(Agents)
    • CLI
    • 插件管理
    • 构建的权限控制
    • 隐藏安全警告(Hidden security warnings)
    • SSH服务器

进入安全设置界面

在Jenkins的主界面,点击Manage Jenkins,
界面1
点击 configure Global Security 选项,进入Jenkins的系统安全设置界面。
界面2

启用安全

启用安全,如果启动此项,除非匿名用户被允许进行操作,否则任何操作都需要用户名/密码登录。
启用安全

Disable remember me

在启用安全的复选框后,有一个禁用记住我(Disable remember me)的复选框。勾选这个复选框会在登录界面上移除在这台计算机上记住我(Remember me on this computer)的选项。Disable remember me

访问控制——安全域(Security Realm)

安全域

servlet容器代理(Delegate to servlet container)

这里提到的servlet容器就是运行Jenkins实例的一种方法。现在,通常会使用Jetty,但如果是定制化安装的话,则有可能是Tomcat或其他的servlet。使用这个选项,你可以通过servlet容器支持的任何机制来进行身份验证。
关于如何进行设置的细节,取决于你正在使用的特定servlet容器是如何配置身份验证的。最好的办法就是查阅servlet容器的文档。在v1.163之前,这是安全域的默认选项。当前由于其他选项的出现,已经不太可能使用这种方法了,但是向后兼容依旧是有价值的,或者你已经在servlet容器的配置中为身份验证做了大量的设置。

Jenkins专有用户数据库(Jenkins’ own user database)

此选项将身份验证委托给Jenkins维护/熟悉的人员列表。这不是一个典型的用例,但适用于轻量的、基本的安装设置。需要注意的是,这不仅包括Jenkins明确知道的用户,也包括提交信息中提到了的用户。
有一个子选项允许用户进行“注册”——这意味着他们在第一次需要登录到Jenkins的时候,可以创建他们自己的账户。在默认情况下,此选项被禁用以便更严格地控制访问。

LDAP

轻 量 级 目 录 访 问 协 议 ( LDAP , Lightweight DirectoryAccess Protocol)是用于在网络上定位人员、组织、设备和其他资源的一种软件协议。如果你的公司使用LDAP,你就可以为Jenkins配置它。你可以添加一个以上的LDAP服务器(如果需要的话,每一个服务器都有不同的配置)。

UNIX用户/组数据库(Unix user/group database)

此选项将身份验证委托给UNIX主机系统的用户数据库。如果使用此方法,用户可以使用UNIX用户名和密码登录Jenkins。UNIX组也能用于身份验证。如果一个用户和一个组有相同的名字,那么在名字前加上一个@将它与一个组区分开。需要注意的是,可能会需要其他额外的配置来使得这个方法真正生效,比如,把Jenkins设置成shadow组的成员,以便操作系统可以访问和使用它。

访问控制——授权(Authorization)

任何用户可以做任何事(Anyone can do anything)

使用此选项将不会进行真正的身份验证。
总的来说,每个人都被认为是“可信的”——包括匿名用户(即使他们还没登录)。这是不被推荐的,但在一个完全可信的环境中,为了简单和高效,它适应于允许无限制访问的情况。

传统模式(Legacy mode)

这种模式模拟了v1.164版本之前的Jenkins特性:任何具有“管理员”角色的人都有完全的控制权,而其他人只有只读权限。

登录用户可以做任何事(Logged-in users can do anything)

顾名思义,用户必须先登录,然后才能完全访问。如果你不介意每个人都能完全访问,而只是想要追踪谁正在做什么的话(通过他们的登录),这是有用的。
这里还有一个子选项能开启匿名用户拥有只读权限。

安全矩阵(推荐使用

此选项允许你通过矩阵排列中的复选框为单个用户或组指定非常详细的权限。矩阵中的列被划分为类别(分组),比如总体、任务、运行等。然后在这些项的下面是与该类别相关的更细的权限。
矩阵的每一行代表一个用户或组。有两个默认组是自动添加的:匿名用户(未登录的用户)和已验证用户(登录的用户)。矩阵下的文本框可以允许你添加新用户。
要给一个用户或组授权一个指定的权限,其实就是点击这个用户/组对应的行以及指定权限对应的列相交的框。删除权限只需要再次点击以清除复选框。
每行最后的可以点击的复选框可以一次性地为用户/组授权所有权限或删除所有权限。
安全矩阵
在添加用户/组的后面输入已经存在的用户的用户名,点击添加,然后在表的相应位置选中相应的功能赋值给用户。

项目矩阵授权策略

此选项是前面章节中描述的“安全矩阵”模型的扩展。在选择此选项后,会为每个项目的配置页添加一个类似的矩阵。这允许每个项目可以以用户/组来配置,因此你可以限制对某些项目的访问,但同时允许访问其他项目。
说得再具体一些,当在全局安全配置页面中设置此选项时,每个项目的配置页面在基础配置部分中都有一个启用基于项目的安全(Enable project-based security)选项。选择此选项后将会出现那个项目的授权矩阵,该矩阵可以像全局矩阵一样配置,以提供特定项目的访问权限。一个附加选项可以允许你选择是否从父访问控制列表继承权限,即全局定义的权限。

其他全局安全配置

除了身份验证和授权设置,在全局安全配置页面上还有其他多种选项可以设置。这是一个配置的集合,主要目的是保证Jenkins的隐式安全,而不是显式地定义访问权限。

标记格式化程序(Markup Formatter)

Jenkins允许用户在各种文本域中放置自由形式的文本,比如,任务描述、构建描述等。你可以选择将这些格式设置为纯文本或HTML。如果你想使用HTML,请将此选项设置为安全HTML(Safe HTML)。这里的“安全”指的是只允许不会引起黑客攻击安全风险的HTML结构(即以会使系统处于风险中的操作方式进行修改)。安全HTML结构的示例包括基本的粗体、斜体、超链接等。
Markup Formatter

代理(Agents)

请忽略这个常用的名称,这部分用于配置通过JNLP进程启动的代理的TCP端口。(JNLP是指Java网络启动协议(Java Network LaunchProtocol)—— 一种可以在客户端桌面上通过使用远程服务器上的资源来启动应用的方式)。
在通常情况下,这里会使用随机端口。然而,你可以指定一个固定端口替代之而使得它更加安全(只需要为固定端口打开防火墙)。如果你没有使用JNLP功能,你可以在这里使用禁用选项(Disable option)来保证你的系统更加安全。
子选项允许你选择一个指定的JNLP协议版本,如果需要的话。
Agents

防止跨站请求伪造攻击
跨站请求伪造(CSRF,Cross-Site Request Forgery)是一种可以强制用户在通过身份验证的Web应用程序上执行多余操作的攻击类型。这部分的预防方法是验证Jenkins中的用户是否存在碎屑踪迹(导航历史)。
子选项允许激活代理兼容性,用来防止代理过滤掉关于碎屑踪迹的信息。
CSRF

CLI

CLI是一个用于使用命令行接口的传统选项,允许被称为“远程处理”模式。这种模式被认为是不安全的,和其他的一些模式(比如HTTP或SSH)相反。这与它实际使用的编程风格有关,比如Java序列化,会打开安全漏洞和注意事项。这种传统协议也被认为是不易理解的,因此,从Jenkins 2.54开始实施了更新的、更安全的选项。
启用CLI进行远程处理(Enable CLI over Remoting)选项默认是关闭的,但如果你了解风险并需要向后兼容的话,在这里可以打开它。

插件管理

此选项是“使用浏览器进行元数据下载”,并且通常情况下它处于未选中(关闭)状态。打开这个选项就是告诉Jenkins让浏览器通过插件下载元数据而不是Jenkins自己来做。除非你有特殊原因要激活它,否则最好让它保持关闭状态并允许Jenkins进行下载操作。

构建的权限控制

如果你选择安装了授权项目插件(Authorize Project plugin),在这里就会有附加的条目。这个插件允许设置附加项目选项,用于使用指定的权限运行构建。
全局配置部分会出现在这里,允许你选择哪种类型的授权用户可以作为选项出现在项目中。
点击链接,可以生成一个简单的配置界面,允许你选择对这个插件进行全局配置的选项,以控制谁可以运行这个任务

隐藏安全警告(Hidden security warnings)

此选项与从已安装组件的更新站点获取的安全警告有关。(在以前版本的Jenkins中,这些并不在Jenkins中直接呈现,而是以邮件、博客等形式通知。从2.40版本开始,它们直接在Jenkins中显示。)如果你有一个警告列表,那么已被勾选的警告会被显示,没被勾选的那些则不显示。
这里的另一个选项是,启用代理到主机(agent to master)访问控制。这与代理可以发送什么样的命令到主机来使得它们的交互更安全有关。如果你需要调整这些规则来处理特定的实例或插件,那么这里也有一个链接来完成这些操作。

SSH服务器

为了通过SSH执行命令行子集,Jenkins可以充当SSH服务器。一些插件也可能会使用这个功能。如果需要用到这个功能,可以在这里设置一个固定端口以简化安全性。也可以使用随机端口来避免冲突。如果不需要此功能,则最好使用禁用选项来禁用已打开的端口。
SSH

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2265166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

写SQL太麻烦?免费搭建 Text2SQL 应用,智能写 SQL | OceanBase AI 实践

自OceanBase 4.3.3版本推出以来,向量检索的能力受到了很多客户的关注,也纷纷表达希望OB能拓展更多 多模数据库大模型 的AI应用实践。 在上篇文章 👉 OceanBase LLM,免费构建你的专属 AI 助手 ,我们介绍了如何去搭建一…

5.npm包

文章目录 [TOC](文章目录) 3.npm与包3.1.包3.2.npm体验在项目中安装包的命令包管理配置文件一次性安装开发项目时安装的包如何从项目中卸载包devDependencies节点的作用解决下载包速度比较慢的问题nrm工具,利用其提供的终端命令,可以快速查看和切换下包的…

Dots 常用操作

游戏中有多个蚂蚁群落,每个蚂蚁属于一个群落,如何设计数据结构? 方法1:为蚂蚁组件添加一个属性 ID,会造成逻辑中大量分支语句,如果分支语句逻辑不平衡可能带来 Job 调度问题,每个蚂蚁会有一份蚂…

HTML与数据抓取:GET与POST方法详解

讲GET和POST就不能只讲GET和POST 你要讲HTTP请求的基本概念: HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最为广泛的一种网络协议,主要用于Web浏览器与Web服务器之间的数据通信。HTTP是一个基于…

Android 之 Activity 的启动模式(launchMode)

一、Activity 启动模式 在实际项目中&#xff0c;应该根据项目的实际需要来为每个 Activity 指定恰当的启动模式 launchMode。启动模式一共有四种&#xff0c;分别是 standard、singleTop、singleTask 和 singleInstance。可以在 AndroidManifest.xml 中通过给 <activity&g…

软考:系统架构设计师教材笔记(持续更新中)

教材中的知识点都会在。其实就是将教材中的废话删除&#xff0c;语言精练一下&#xff0c;内容比较多&#xff0c;没有标注重点 系统架构概述 定义 系统是指完成某一特定功能或一组功能所需要的组件集&#xff0c;而系统架构则是对所有组件的高层次结构表示&#xff0c;包括各…

大模型应用—IOPaint 图片去水印

IOPaint 是由 SOTA AI 模型提供支持的免费开源修复和修复工具,可以轻松实现图片去水印,去除图片不需要的部分,是目前效果最好的一个项目!完全免费开源 IOPaint 已经托管到 hugging face上,打开就可以直接免费使用,需要外网环境! 在线免费使用:【链接直达】 如果你需要…

Go C编程 第6课 无人机 --- 计算旋转角

旋转的秘密---认识角度 rt、lt命令学习 goc电子课程 一、编程步骤 第一步 第二步 第三步 第四步 二、画“四轴无人机” &#xff08;一&#xff09;、画第一根机轴 &#xff08;二&#xff09;、画第二根机轴 &#xff08;三&#xff09;、画完整的无人机 三、画“多轴无人…

v3s点RGB屏 40pin 800x480,不一样的点屏,不通过chosen。

一、背景、目的、简介。 一般来说&#xff0c;通过uboot将屏幕参数传给kernel&#xff0c;是通过修改设备树。 uboot和kernel都需要屏幕点亮。uboot侧重于显示一张图片。而kernel则多是动画。 在这里&#xff0c;我先是找到了一个裸机点屏的代码。将其编译成静态库后&#x…

【编译原理】编译原理知识点汇总·语法分析器(消除左递归、消除二义性、自顶向下语法分析、自下向上语法分析)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;编译原理_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. …

golang 并发--goroutine(四)

golang 语言最大的特点之一就是语法上支持并发&#xff0c;通过简单的语法很容易就能创建一个 go 程&#xff0c;这就使得 golang 天生适合写高并发的程序。这一章节我们就主要介绍 go 程&#xff0c;但是要想完全理解 go 程我们需要深入研究 GPM 模型&#xff0c;关于 GPM 模型…

Wireshark协议相关功能:过滤、启用/禁用、导出和统计查看

简述 Wireshark 是一个非常强大的网络分析工具&#xff0c;广泛用于网络故障排查、安全分析、协议分析等任务。在使用 Wireshark 进行网络抓包和协议分析时&#xff0c;掌握一些基本的操作技巧对于提高效率和准确性至关重要。本文将介绍 Wireshark 中如何进行协议相关的操作&a…

渗透Vulnhub-DC-9靶机

本篇文章旨在为网络安全渗透测试行业靶机教学。通过阅读本文&#xff0c;读者将能够对渗透Vulnhub系列DC-6靶机有定的了解 一、信息收集阶段 DC-9靶场信息: DC-9靶场介绍&#xff1a; https://www.vulnhub.com/entry/dc-9,412/ DC-9靶场下载&#xff1a; https://download.vu…

【Linux系列】Shell 命令:`echo ““ > img.sh`及其应用

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

云图库平台(三)——后端用户模块开发

需求分析&#xff1a;对于用户模块而言&#xff0c;通常要实现下列功能&#xff1a; 用户注册&#xff1a;用户输入账号、密码、确认密码进行注册账号用户登录&#xff1a;用户通过输入账号、密码登录注册账号获取当前登录用户信息&#xff1a;即得到当前已登录用户的信息用户…

怎么设置电脑密码?Windows和Mac设置密码的方法

为电脑设置密码是保护个人信息安全的重要措施。无论是Windows系统还是MacOS系统&#xff0c;设置密码的步骤都相对简单&#xff0c;但需要根据不同的操作系统选择不同的方法。 一、Windows系统电脑密码设置 方法一&#xff1a;通过控制面板设置账户密码 点击桌面左下角的“开…

思考: 与人交际

前晚可能是因为我和某个曾经的同学&#xff08;我认为是朋友&#xff0c;但是它真的很讨厌&#xff0c;现在觉得它在PUA很多人&#xff09;发生了一件事情&#xff0c;现在没关系了&#xff0c;算是到此结束了&#xff0c;再也不见。 让我看清楚了人和人的交际需要什么&#xf…

突发!!!GitLab停止为中国大陆、港澳地区提供服务,60天内需迁移账号否则将被删除

GitLab停止为中国大陆、香港和澳门地区提供服务&#xff0c;要求用户在60天内迁移账号&#xff0c;否则将被删除。这一事件即将引起广泛的关注和讨论。以下是对该事件的扩展信息&#xff1a; 1. 背景介绍&#xff1a;GitLab是一家全球知名的软件开发平台&#xff0c;提供代码托…

vulnhub靶场-matrix-breakout-2-morpheus攻略(截止至获取shell)

扫描出ip为192.168.121.161 访问该ip&#xff0c;发现只是一个静态页面什么也没有 使用dir dirsearch 御剑都只能扫描到/robots.txt /server-status 两个页面&#xff0c;前者提示我们什么也没有&#xff0c;后面两个没有权限访问 扫描端口&#xff0c;存在81端口 访问&#x…

美股开户网:谷歌搜索迎“大动作”:推出AI模式切换选项应对竞争压力

谷歌的AI战略新举措 近日&#xff0c;硅谷权威媒体《The Information》报道了谷歌即将在其搜索引擎中推出一项全新的功能——“切换到AI模式”。这一新功能将为用户提供更加智能、对话式的回答&#xff0c;标志着谷歌对人工智能&#xff08;AI&#xff09;领域的进一步布局&am…