linux

Jenkins于Linux如何安全部署

小樊
37
2025-08-17 08:50:07
栏目: 智能运维

以下是在Linux上安全部署Jenkins的关键步骤,涵盖安装、配置及安全加固:

一、基础安装

  1. 安装Java环境

    • Ubuntu/Debian: sudo apt update && sudo apt install openjdk-11-jdk
    • CentOS/RHEL: sudo yum install -y java-11-openjdk-devel
  2. 添加Jenkins仓库并安装

    • Ubuntu/Debian:
      wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
      echo "deb https://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list
      sudo apt update && sudo apt install jenkins
      
    • CentOS/RHEL:
      sudo wget https://pkg.jenkins.io/redhat-stable/jenkins.repo -P /etc/yum.repos.d/
      sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
      sudo yum install -y jenkins
      
  3. 启动服务并开放端口

    sudo systemctl start jenkins && sudo systemctl enable jenkins  # 启动并开机自启
    sudo ufw allow 8080/tcp  # Ubuntu防火墙放行(默认端口)
    sudo firewall-cmd --permanent --add-port=8080/tcp --reload  # CentOS防火墙放行
    

二、安全配置

  1. 初始化安全设置

    • 访问 http://<服务器IP>:8080,使用初始密码(路径:/var/lib/jenkins/secrets/initialAdminPassword)解锁。
    • 启用安全认证
      • 进入「Manage Jenkins → Configure Global Security」,开启「Enable security」。
      • 选择「Role-Based Strategy」插件进行角色权限管理,禁止匿名访问。
  2. 强化访问控制

    • 禁用root远程登录:编辑 /etc/ssh/sshd_config,设置 PermitRootLogin prohibit-password,并重启SSH服务。
    • 使用非root用户运行Jenkins:创建专用用户(如 jenkins),通过 sudo -u jenkins 执行命令。
  3. 数据加密与存储

    • 配置SSL证书:在「Manage Jenkins → Configure Global Security」中启用HTTPS,使用自签名或CA证书。
    • 敏感信息加密存储:使用「Credentials Binding」插件加密存储密码、API密钥等。
  4. 系统加固

    • 限制端口访问:仅开放必要端口(如8080、SSH),关闭默认未使用端口。
    • 定期更新:定期升级Jenkins及插件,修复安全漏洞。
    • 备份配置:定期备份 /var/lib/jenkins 目录,建议使用自动化工具(如cron)。

三、高级安全建议

参考来源

0
看了该问题的人还看了