CentOS Jenkins配置中的安全设置
进入Jenkins管理界面(Manage Jenkins → Configure Global Security),勾选“Enable security”(启用安全)。这是Jenkins安全的基础,未启用时所有用户可无限制访问。启用后需配置安全领域(身份验证)和授权(权限控制)两大核心模块。
安全领域决定用户身份信息的来源,常见选项:
授权策略决定用户/组对Jenkins资源的访问权限,推荐以下两种方式:
Role-based Authorization Strategy插件,支持创建三类角色:
/etc/sysconfig/jenkins文件,修改JENKINS_PORT(如改为8081),避免默认端口(8080)被扫描攻击;firewall-cmd开放Jenkins端口(如sudo firewall-cmd --permanent --add-port=8081/tcp),并重载防火墙规则(sudo firewall-cmd --reload);/etc/pam.d/su文件,添加auth required pam_wheel.so use_uid,仅允许wheel组用户使用su切换root,减少root权限滥用风险。使用Credentials Binding插件或Jenkins Credentials功能,将API密钥、数据库密码、私钥等敏感信息加密存储。在作业配置中通过${VAR_NAME}引用,避免敏感信息硬编码在脚本或配置文件中。
在“Configure Global Security”的“CSRF Protection”部分,保持“Enable CSRF Protection”开启(默认开启)。Jenkins会生成CSRF令牌,验证请求的合法性,防止恶意用户伪造请求执行危险操作(如删除作业、修改配置)。
Manage Jenkins → Manage Plugins → Available),升级到最新稳定版,修复已知安全漏洞;JENKINS_HOME(默认/var/lib/jenkins)包含作业配置、构建日志、凭据等关键数据。可通过cron定时任务或插件(如ThinBackup)定期备份,建议备份到异地或云存储。Manage Jenkins → Configure Global Security → Enable SSL),避免数据传输过程中被窃取。