Linux上保障GitLab安全性的实用方案
一 基础安全配置
二 系统与网络加固
三 数据安全与漏洞管理
四 快速落地清单
| 操作 | 关键要点 | 命令或路径示例 |
|---|---|---|
| 防火墙仅放行业务端口 | 开放 80/443;必要时保留 22/2222 | firewalld: firewall-cmd --permanent --add-port={80,443}/tcp && firewall-cmd --reload;ufw: ufw allow 'Nginx Full' && ufw allow 'OpenSSH' |
| 强制 HTTPS | 配置有效证书并跳转 | /etc/gitlab/gitlab.rb: external_url 'https://git.example.com';启用 Let’s Encrypt 或导入自有证书后执行 gitlab-ctl reconfigure |
| 禁用 root 远程与 SSH 口令 | 仅用密钥登录,失败锁定 | /etc/ssh/sshd_config: PermitRootLogin no、PasswordAuthentication no、MaxAuthTries 3、UsePAM yes;配合 fail2ban |
| 审计与防篡改 | 审计关键调用,锁定关键配置 | auditctl -a always,exit -F path=/etc/gitlab/gitlab.rb -F perm=wa;chattr +i /etc/gitlab/gitlab.rb |
| 备份与演练 | 定期全量备份并验证可恢复 | Omnibus: gitlab-backup create;检查 /var/opt/gitlab/backups;定期恢复演练与异地存放 |
| 及时更新与重启 | 小版本与大版本按路径升级 | apt update && apt upgrade 或 yum update;gitlab-ctl reconfigure && gitlab-ctl restart |