Ubuntu上GitLab安全设置清单
一 基础网络与系统加固
sudo ufw allow http && sudo ufw allow https && sudo ufw allow OpenSSH && sudo ufw enable。如使用云厂商安全组,同样仅放行上述端口。sudo apt update && sudo apt upgrade -y,及时修补漏洞。/etc/gitlab/gitlab.rb 中设置 external_url "https://你的域名",并开启 nginx['redirect_http_to_https'] = true。/etc/letsencrypt/live/你的域名/fullchain.pem 与 privkey.pem。nginx['ssl_certificate'] 与 nginx['ssl_certificate_key']。二 身份与访问控制
三 数据安全与备份
/etc/gitlab/gitlab.rb 中设置备份目录与保留时间,例如:
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"gitlab_rails['backup_keep_time'] = 604800(保留 7 天)sudo gitlab-ctl reconfigure 使配置生效。0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create四 运行环境与合规
sudo chown -R git:git /var/opt/gitlab && sudo chmod -R 755 /var/opt/gitlab。五 快速检查清单
| 项目 | 建议配置 | 验证方式 |
|---|---|---|
| 访问端口 | 仅开放 22/80/443 | sudo ufw status 或云安全组规则 |
| HTTPS | external_url "https://..." + 自动重定向 |
浏览器访问是否强制跳转 HTTPS |
| 证书 | Let’s Encrypt 或合规自签 | 证书路径与有效期、浏览器锁标识 |
| SSH | 禁用密码、仅密钥;必要时改端口 | 本地 ssh -T git@域名 测试 |
| 2FA | 管理员启用并推广用户开启 | 用户个人设置查看 2FA 状态 |
| 备份 | 定时任务 + 异地/快照 | 检查 /var/opt/gitlab/backups 与异地副本 |
| 权限 | 最小权限、定期审计 | 项目/组成员与权限清点 |
| 更新与监控 | 及时更新、监控告警 | apt list --upgradable、Grafana/Prometheus 告警 |