Jenkins里的Crumb
Crumb的作用
CSRF Protection
首先解释一下CSRF,Cross-Site Request Forgery(CSRF或XSRF)跨站请求伪造,是一种web安全漏洞。如果没有CSRF保护,Jenkins的admin访问其他网站,将允许这个网站对Jenkins执行操作,导致Jenkins受害。
Jenkins 中的 CSRF 保护
Jenkins的CSRF保护使用token(在Jenkins里叫crumb),它由Jenkins创建,并发送给用户。任何导致修改的表单提交或者类似的操作,比如:触发任务或修改构建配置,都需要提供Crumb。crumb 包含标识创建它的用户的信息,因此使用另一个用户的token提交将被拒绝。
设置CSRF保护
Manage Jenkins » Configure Global Security » CSRF Protection
中,管理员可以配置 CSRF Protection。
默认的Crumb Issuer,生成crumb的哈希,并在其中编码以下的信息
- 为其生成crumb的用户名
- 生成crumb的网络会话 ID
- 为其生成crumb的用户的 IP 地址
- 此 Jenkins 实例独有的salt
当面包屑被发送回 Jenkins 时,所有这些信息都需要匹配,以便该提交被视为有效。
在脚本里使用
发给Jenkins的POST请求通常需要提供crumb。这也适用于使用用户名和密码进行身份验证的脚本客户端。由于 crumb 包含网络会话 ID,客户端需要执行以下操作:
- 向
/crumbIssuer/api
发送请求,请求面包屑。注意 Set-Cookie响应头 - 对于所有后续请求,除了用户名和密码之外,还提供 crumb 和会话 cookie。
或者使用用户名和 API Token 进行身份验证。
使用API Token的话,即使Jenkins打开了CSRF保护,也不需要提供crumb
Jenkins里的Crumb相关推荐
- Docker: Jenkins里的pipeline编写基本技巧
Jenkins里,先新建一个pipeline项目 Pipeline Syntax 在Sample Step里选择需要的插件,如果不存在,就去系统管理,插件管理里,进行安装. 如果源码管理工具用的是gi ...
- MacOS~jenkins里解决docker执行权限问题
MacOS~jenkins里解决docker执行权限问题 参考文章: (1)MacOS~jenkins里解决docker执行权限问题 (2)https://www.cnblogs.com/lori/p ...
- IntelliJ配置jenkins服务的Crumb Data
近期在做jenkins测试,IntelliJ并没有自动安装jenkins服务器,因此需要自己添加,但是如果不配置Crumb Data,jenkins的服务就不能使用. 首先在服务器中开启CSRF服务, ...
- 「Jenkins」- No valid crumb was included in request for /ajaxExecutors @20210305
问题描述 在 Jenkins 2.275 中,出现如下日志消息: # tail -f /var/log/jenkins/jenkins.log ... 2021-03-01 11:13:06.565+ ...
- 持续集成工具Jenkins学习4 Idea集成Jenkins插件
持续集成工具Jenkins学习4 Idea集成Jenkins插件 一.功能简介 二.安装Idea插件 1. 搜索安装 2. 设置 三.Jenkins开启CSRF 四.使用 一.功能简介 Idea可以方 ...
- jenkins pipeline脚本_Jenkins 创建流水线 (Pipeline) 项目的脚本
前一段时间在做接口测试自动化方面的工作.现在整理下,接口测试国中学到的知识,做到边学边用到实践了.下面,介绍下,把接口测试项目集成到Jenkins,建立PIpeline项目. Pipeline 是一套 ...
- centos8 用u盘安装失败_玩转jenkins - 在自己的服务器上安装jenkins
作者:zz_jesse 转发链接:https://mp.weixin.qq.com/s/2XVfym2MLvTVcbDfOOJ2mg 前言 做前端也好几年了,项目的CI/CD一直用的都是公司现有的je ...
- Jenkins + sonarqube集成实现发布代码审计
说明:此配置只适合maven部署java代码 1.在Jenkins上安装插件 2.登录sonarqube在配置-->安全-->输入token名点击Generate创建一个token 复制生 ...
- Jenkins + OSChina CI 最简
由于项目原因,代码托管在oschina,要为这个项目配置Jenkins. Jenkins配置中打开Jenkins的跨域保护 [UNCHECK] Manage Plugins - Configure G ...
最新文章
- Redis Primer(1)基于JedisPool的Redis hset并发性能测试 - @钟超 · 技术博客专栏 - 博客频道 - CSDN.NET...
- Vector反向迭代器使用
- 阻塞 、非阻塞;同步、异步
- ios gb2312转utf-8
- 信息学奥赛C++语言: 队伍调整
- JavaScript 弹出子窗体并返回结果到父窗体
- DIV+CSS的好处和意义
- 我关于读书的一点小体会
- 微信小程序报错:invalid credential, access_token is invalid or not latest
- QT应用SQL数据库,简单全面的应用,增删改查。
- plsql导出表结构和表数据的使用小结
- flashFxp连接不上服务器。
- matplotlib柱状图给指定的柱换颜色_matplotlib绘图基本操作amp;美化教程
- C++图形函数库EGE、raylib和EasyX及可以使用的开发工具小龙Dev-C++、小熊猫C++介绍
- nagios mysql 并发_nagios监控mysql的connections和processlist
- [jni] [android] 用C++开发安卓程序
- Xshell连接以及虚拟机网络设置
- 安卓手机重启日志_[手机维修自学教程]苹果安卓 手机无线重启故障原因维修技巧...
- 将Mxd文件压缩并上传到Geodatabase!
- layuiAdmin 框架iframe基础常用方法事件文档