1. 系统基础安全加固
sudo yum update -y确保系统包为最新版本,减少已知漏洞风险;安装Java环境(如java-11-openjdk-devel),Jenkins依赖Java运行。firewall-cmd开放Jenkins默认端口(8080),命令:sudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reload,限制非法IP访问。sudo yum install -y openssh-server),启动并设为开机自启(systemctl start sshd; systemctl enable sshd);编辑/etc/ssh/sshd_config,设置AllowUsers jenkins(仅允许jenkins用户登录)、禁用root远程登录(PermitRootLogin no)、启用公钥认证(PubkeyAuthentication yes),提升远程管理安全性。2. Jenkins用户与权限管理
sudo adduser jenkins创建专用用户,设置强密码(包含大小写字母、数字、特殊字符,长度≥8位);修改Jenkins服务启动用户(编辑/etc/sysconfig/jenkins,设置JENKINS_USER="jenkins"),并将Jenkins目录所有权转移给该用户(chown -R jenkins:jenkins /var/lib/jenkins /var/cache/jenkins /var/log/jenkins),避免以root权限运行。Role-based Authorization Strategy插件(通过“Manage Jenkins”→“Manage Plugins”搜索安装);进入“Manage Jenkins”→“Configure Global Security”,启用安全并选择“Role-Based Strategy”;创建角色(Global roles如admin/user、Project roles如dev-project-*、Node roles如linux-node-*),分配对应权限(如Overall: Administer、Job: Build),并将用户添加到相应角色,实现细粒度权限管控。3. 认证与加密配置
LDAP(集成企业用户目录,实现统一管理)或Unix用户/组数据库(利用系统用户权限);若使用内置数据库,需定期清理无效用户。CSRF Protection插件(默认可能已启用),在“Configure Global Security”的“CSRF Protection”部分,勾选“Prevent CSRF,并选择合适的验证方式(如Default`),防止跨站请求伪造攻击。cert.pem、key.pem)放置于Jenkins可访问目录;进入“Manage Jenkins”→“Configure System”,在“Jenkins Location”部分设置HTTPS URL(如https://your-server-ip:8443),并在“SSL Certificate”处上传证书,强制使用HTTPS访问,避免数据明文传输。4. 插件与系统维护
/var/backup/jenkins),使用cron定时任务每天凌晨2点备份Jenkins home目录(含jobs、配置等),命令示例:0 2 * * * tar -czvf /var/backup/jenkins/$(date +\%F).tar.gz /var/lib/jenkins,防止数据丢失。sudo yum update jenkins -y),修复已知安全漏洞。5. 监控与审计
/var/log/jenkins/jenkins.log,确保日志文件权限正确(chown jenkins:jenkins /var/log/jenkins/jenkins.log);可通过“Manage Jenkins”→“System Log”查看实时日志,或安装Log Parser插件分析日志。