Ubuntu 上 GitLab 的安全策略清单
一 基础网络与传输安全
sudo ufw default deny → sudo ufw allow http → sudo ufw allow https → sudo ufw limit ssh/tcp → sudo ufw enable。如使用云厂商安全组,同样遵循最小化放通原则。external_url 设为 https://,并配置自动重定向与有效证书(如 Let’s Encrypt)。示例:external_url "https://git.example.com";nginx['redirect_http_to_https'] = true;nginx['ssl_certificate'] = "/etc/letsencrypt/live/git.example.com/fullchain.pem";nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/git.example.com/privkey.pem";执行 sudo gitlab-ctl reconfigure 使配置生效。二 身份与访问控制
三 系统与进程加固
gitlab_rails['gitlab_shell_ssh_port'] 并重启服务。/etc/sysctl.d/99-gitlab-hardening.conf 强化内核安全(示例:kernel.kptr_restrict=2、net.ipv4.conf.all.rp_filter=1、net.ipv4.conf.all.accept_redirects=0、net.core.bpf_jit_harden=2 等),执行 sudo sysctl --system 生效。四 数据安全与备份
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups";gitlab_rails['backup_keep_time'] = 604800 表示保留 7 天),并通过 crontab 定时执行(如 0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create)。五 运行监控与审计
/var/log/gitlab 下各组件日志),结合 Prometheus/Grafana 建立监控与阈值告警,覆盖服务可用性、登录异常、CI 资源使用等关键指标。