Ubuntu下Jenkins配置的安全建议
登录Jenkins管理界面,进入“Manage Jenkins”→“Configure Global Security”,必须勾选“Enable security”(启用安全)。这是Jenkins安全的基础,未启用则所有用户均可无限制访问。
在“Authorization”部分,推荐使用Role-Based Strategy(基于角色的授权策略)或Project-based Matrix Authorization Strategy(项目级矩阵授权策略)。前者通过角色分配权限(如管理员、开发者、观察者),后者针对每个项目单独设置用户权限,均能有效控制用户对项目、任务的访问范围。
在“Security Realm”部分,优先选择以下身份验证方式:
在“CSRF Protection”部分,务必保持“Enable proxy compatibility”选项开启。CSRF(跨站请求伪造)保护可防止恶意请求篡改Jenkins配置(如创建管理员账号、删除项目),是防范web攻击的关键措施。
为避免数据传输(如登录密码、构建日志)被窃取,建议启用SSL证书:
https://your-server-ip:8080访问Jenkins,数据传输将加密。使用ufw(Uncomplicated Firewall)限制Jenkins默认端口(8080)的访问:
sudo ufw allow from trusted-ip-address to any port 8080 # 仅允许可信IP访问
sudo ufw enable # 启用防火墙
避免开放所有端口,减少外部攻击面。
默认情况下,Jenkins以jenkins系统用户运行。若需更高安全性,可创建专用用户(如jenkins-admin):
sudo adduser jenkins-admin
sudo usermod -aG jenkins jenkins-admin # 将用户加入jenkins组
sudo nano /etc/default/jenkins # 修改JENKINS_USER=jenkins-admin
sudo systemctl restart jenkins # 重启服务
降低Jenkins进程对系统的高权限访问风险。
Jenkins及插件的漏洞是常见攻击入口,需定期执行:
sudo apt update && sudo apt upgrade jenkins # 更新Jenkins
进入“Manage Jenkins”→“Manage Plugins”,检查并更新所有可用插件(尤其是安全插件),及时修补已知漏洞。
安装Role-based Authorization Strategy插件(通过“Manage Plugins”→“Available”搜索安装),配置步骤:
admin:拥有系统管理权限;viewer:仅查看权限);project-dev:允许构建/查看特定项目;project-ops:允许部署特定项目);project-dev,管理员分配admin)。
实现“最小权限原则”,避免用户越权操作。/var/log/jenkins/jenkins.log),关注可疑操作(如频繁的失败登录尝试)。