Jenkins拾遗--第三篇(用户权限管理)

采访过不少实用Jenkins的同窗,发现Jenkins的安全是一个很薄弱的地方。不少公司用做生产部署的Jenkins安全管理都不是很规范,就更别提测试用的Jenkins了。
其实Jenkins是一个很敏感的地方。因为须要方便CI,Jenkins自己会获得不少权限,好比某些机器的SSH登陆权限,源码库访问权限,它的构建空间也会保存不少信息。
若是持有恶意的人获得了Jenkins的访问权限它能够干不少非法勾当,举几个触目惊心的例子:linux

  1. 跑到工做项目窃取源码。
  2. 修改源码,build,上线,这样能够拿到服务器端几乎全部权限。只要想,拖库,修改后台数据, rm -rf 基本上均可以作到。
  3. 污染客户端,好比在客户端上种个木马,窃取手机数据,把客户端当肉鸡。。。

安全无小事,Jenkins的安全仍是要上心的。
做为维护者,最基本的事情就是阅读Jenkins的安全文档,虽然这份文档很简单,作好远不止这些,可是考虑里边的风险并做出防御算是最基本的要求。
https://wiki.jenkins-ci.org/display/JENKINS/Securing+Jenkinswindows

这篇文章会介绍最基础的地方,就是用户权限管理。Jenkins自己提供三种权限管理安全

1.内建的用户管理。这是最简单的一种方式。在确认维护jenkins的人很少,且权限分配不复杂的时候,可使用这种方法。

2.使用 Active Directory (主要在Windows下) ,这样能够继承windows网络的管理权限。

3.LDAP方式。若是部署在linux上,使用LDAP方式是一种省事的方法。权限本质上是一个矩阵,LDAP提供的机制足够用了。同时,使用LDAP,会省去建立不少帐号的麻烦,使用者也省去了维护多个帐号的麻烦。若是有上下游产品(好比Jira)也使用LDAP,则能够系统管理员统一来管理这些帐号(通常能够委托给运维人员管理一部分权限),从整体上效率会提升不少。

配置的方法,下面文档写的很是详细,就不细讲了。
https://wiki.jenkins-ci.org/display/JENKINS/Standard+Security+Setup服务器

配置后,有一个很重要的事情就是,分配权限。jenkins提供了还算是比较细的权限矩阵,能够根据须要配置。 一个须要注意的就是,权限尽可能听从最小权限原则。安全是多层的概念,每一层多一些保护,受到攻击的几率就会下降一些。

参考文章:
https://zh.wikipedia.org/wiki/%E6%9C%80%E5%B0%8F%E6%9D%83%E9%99%90%E5%8E%9F%E5%88%99网络

https://wiki.jenkins-ci.org/display/JENKINS/LDAP+Plugin#LDAPPlugin-Configuration运维

相关文章
相关标签/搜索