在CentOS上设置GitLab时,确保系统安全是非常重要的。以下是一些关键的安全设置步骤:
/etc/passwd 文件来检测并管理这些账户。adm,lp,sync 等,以减少系统受攻击的风险。/etc/login.defs 文件来强制执行这些要求。chattr 命令给 /etc/passwd,/etc/shadow,/etc/group,和 /etc/gshadow 文件加上不可更改属性。/etc/profile 文件中的 TMOUT 参数,设置root账户的自动注销时限。/etc/pam.d/su 文件,限制只有特定组的用户才能使用 su 命令切换为root。/etc/security/console.apps 下的相应程序的访问控制文件,防止普通用户执行关机、重启等敏感操作。firewalld 管理防火墙规则。/var/opt/gitlab 目录。使用 firewalld 配置防火墙规则:
# 安装firewalld
sudo yum install firewalld
# 启动firewalld服务
sudo systemctl start firewalld
# 设置firewalld开机自启
sudo systemctl enable firewalld
# 允许HTTP流量通过防火墙并使其永久生效
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
# 添加SSH端口(22)到防火墙
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
sudo firewall-cmd --reload
/etc/gitlab/gitlab.rb 中修改对外访问的域名或IP:external_url 'http://your_server_ip:8080'
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
为GitLab安装SSL证书的步骤如下:
openssl genrsa -out /etc/gitlab/ssl/gitlab.key 2048
openssl req -new -key /etc/gitlab/ssl/gitlab.key -out /etc/gitlab/ssl/gitlab.csr
openssl x509 -req -days 3650 -in /etc/gitlab/ssl/gitlab.csr -signkey /etc/gitlab/ssl/gitlab.key -out /etc/gitlab/ssl/gitlab.crt
编辑 /etc/gitlab/gitlab.rb 文件,找到以下配置项并修改:
external_url 'https://gitlab.example.com'
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key"
nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"
gitlab-ctl reconfigure
sudo gitlab-ctl restart
https://gitlab.example.com,确保浏览器显示安全锁图标,表示SSL证书安装成功。通过上述步骤,你可以显著提高GitLab在CentOS上的安全性,保护你的代码和数据不受未授权访问和潜在威胁的侵害。