在 CentOS 上安全部署 Jenkins 的实操指南
一 环境准备与最小化安装
java -version。sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.reposudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.keysudo yum install -y jenkinssudo systemctl start jenkins && sudo systemctl enable jenkins。sudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reload。sudo cat /var/lib/jenkins/secrets/initialAdminPassword,随后通过 http://<服务器IP>:8080 完成初始化。二 系统与服务加固
chown -R jenkins:jenkins /var/lib/jenkins,谨慎设置 755/750 等)。TMOUT=300)、禁用 Ctrl-Alt-Delete 重启、必要时对关键文件设置不可变属性(如 chattr +i /var/lib/jenkins/secrets/initialAdminPassword,变更前务必评估备份与恢复流程)。三 Jenkins 安全配置
四 备份与监控
五 快速安全清单
| 项目 | 建议 |
|---|---|
| Java 版本 | 使用 OpenJDK 11(或至少 Java 8) |
| 运行用户 | 以 jenkins 用户运行,避免 root |
| 访问端口 | 仅开放 8080(Web)与 50000(Agent) |
| 身份认证 | 启用安全、禁用匿名、强密码与 MFA(可用插件) |
| 加密通信 | 启用 HTTPS/TLS |
| 防火墙 | 仅放行业务所需来源 IP 与端口 |
| 插件与更新 | 最小化安装、及时更新 |
| 备份 | 定期备份 $JENKINS_HOME 并验证可恢复 |
| 日志 | 集中收集与告警,定期审计 |