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相关推荐

  1. Docker: Jenkins里的pipeline编写基本技巧

    Jenkins里,先新建一个pipeline项目 Pipeline Syntax 在Sample Step里选择需要的插件,如果不存在,就去系统管理,插件管理里,进行安装. 如果源码管理工具用的是gi ...

  2. MacOS~jenkins里解决docker执行权限问题

    MacOS~jenkins里解决docker执行权限问题 参考文章: (1)MacOS~jenkins里解决docker执行权限问题 (2)https://www.cnblogs.com/lori/p ...

  3. IntelliJ配置jenkins服务的Crumb Data

    近期在做jenkins测试,IntelliJ并没有自动安装jenkins服务器,因此需要自己添加,但是如果不配置Crumb Data,jenkins的服务就不能使用. 首先在服务器中开启CSRF服务, ...

  4. 「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+ ...

  5. 持续集成工具Jenkins学习4 Idea集成Jenkins插件

    持续集成工具Jenkins学习4 Idea集成Jenkins插件 一.功能简介 二.安装Idea插件 1. 搜索安装 2. 设置 三.Jenkins开启CSRF 四.使用 一.功能简介 Idea可以方 ...

  6. jenkins pipeline脚本_Jenkins 创建流水线 (Pipeline) 项目的脚本

    前一段时间在做接口测试自动化方面的工作.现在整理下,接口测试国中学到的知识,做到边学边用到实践了.下面,介绍下,把接口测试项目集成到Jenkins,建立PIpeline项目. Pipeline 是一套 ...

  7. centos8 用u盘安装失败_玩转jenkins - 在自己的服务器上安装jenkins

    作者:zz_jesse 转发链接:https://mp.weixin.qq.com/s/2XVfym2MLvTVcbDfOOJ2mg 前言 做前端也好几年了,项目的CI/CD一直用的都是公司现有的je ...

  8. Jenkins + sonarqube集成实现发布代码审计

    说明:此配置只适合maven部署java代码 1.在Jenkins上安装插件 2.登录sonarqube在配置-->安全-->输入token名点击Generate创建一个token 复制生 ...

  9. Jenkins + OSChina CI 最简

    由于项目原因,代码托管在oschina,要为这个项目配置Jenkins. Jenkins配置中打开Jenkins的跨域保护 [UNCHECK] Manage Plugins - Configure G ...

最新文章

  1. Redis Primer(1)基于JedisPool的Redis hset并发性能测试 - @钟超 · 技术博客专栏 - 博客频道 - CSDN.NET...
  2. Vector反向迭代器使用
  3. 阻塞 、非阻塞;同步、异步
  4. ios gb2312转utf-8
  5. 信息学奥赛C++语言: 队伍调整
  6. JavaScript 弹出子窗体并返回结果到父窗体
  7. DIV+CSS的好处和意义
  8. 我关于读书的一点小体会
  9. 微信小程序报错:invalid credential, access_token is invalid or not latest
  10. QT应用SQL数据库,简单全面的应用,增删改查。
  11. plsql导出表结构和表数据的使用小结
  12. flashFxp连接不上服务器。
  13. matplotlib柱状图给指定的柱换颜色_matplotlib绘图基本操作amp;美化教程
  14. C++图形函数库EGE、raylib和EasyX及可以使用的开发工具小龙Dev-C++、小熊猫C++介绍
  15. nagios mysql 并发_nagios监控mysql的connections和processlist
  16. [jni] [android] 用C++开发安卓程序
  17. Xshell连接以及虚拟机网络设置
  18. 安卓手机重启日志_[手机维修自学教程]苹果安卓 手机无线重启故障原因维修技巧...
  19. 将Mxd文件压缩并上传到Geodatabase!
  20. layuiAdmin 框架iframe基础常用方法事件文档

热门文章

  1. 贴海报 (线段树染色-离散化
  2. docker swarm实践爆心肝总结全在这里,火速收藏!!!
  3. 张无忌当年究竟对她做了什么?走进爱恨情仇,探究他与她之间的瓜葛!
  4. 移动通信的频段、频率与频点
  5. 邮箱不可用 550 User has no permission(JavaMail登不进邮件系统)
  6. 浅谈——业务逻辑漏洞
  7. 突然觉得一个感情空虚的人是多么的痛苦?
  8. P1234小A的口头禅
  9. pyecharts qq聊天记录数据可视化
  10. 基于ssm小说阅读安卓APP项目