Jade Dungeon

jenkins安全

安全建议

  • 使用最新版的jenkins
  • 关闭匿名访问
  • 关闭用户注册功能
  • 用户严格授权
  • 最小化插件,相关插件使用最新版
  • 使用nginx代理jenkins,不要直接暴露在公网

添加全局安全管理

限制非登录用户权限

默认的 允许任意账户注册 带来的安全问题

访问http://jenkins-host/manage,在「系统管理」可以看到没有任何限制可以直接访问

关闭注册

添加按角色定制权限

安装插件:


Role-based Authorization Strategy

到设置页面:jenkins -> 全局安全配置 ,选择Role-Based Strategy

可以管理角色权限等等的操作:先创建jenkins用户,然后再到插件里面添加其他信息。

如果搞得没权限进jenkins了删除下面的行:然后重启jenkins。

vim /var/lib/jenkins/config.xml
<useSecurity>true</useSecurity>
	<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>
	<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
	<disableSignup>false</disableSignup><enableCaptcha>false</enableCaptcha>
</securityRealm>

命令行工具

访问http://jenkins-host/script;或在「系统管理」->「脚本命令行」中可以执行Groovy脚本。 在Groovy脚本中还可以调用系统命令:

例:执行系统命令

println "whoami".execute().text

例:写webshell

new File("/var/www.html/shell.php").write('<?php phpinfo(); ?>');

所以一定要在「全局安全设置」中,限制至少要以登录用户才能操作命令行