Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Gitlab-shell 受 Bash CVE-2014-6271 漏洞影响

今天 US-CERT 公布了一个严重的 Bash 安全漏洞 (CVE-2014-6271) ,该漏洞同时也影响 OpenSSH 守护进程。而 Gitlab 服务器默认的 git 账号就是使用 Bash 用来执行远程的代码。攻击者只要有 SSH key 就可以利用这个漏洞在 Gitlab 服务器执行任意代码。检测服务器是否存在这个漏洞的方法:ssh git@gitlab.example.com "() { ignored; }; /usr/bin/id"如果输出下面内容表示服务器存在此漏洞:uid=1001(git) gid=1001(git) groups=1001(git)如果你看到的是 Not allowed command 说明不存在此漏洞。

解决办法是升级 Bash,请参考这篇文章。http://www.linuxidc.com/Linux/2014-09/107182.htm解决完请再通过上述代码测试是否存在漏洞。你也可以将 shell 改为 csh,安装:sudo apt-get install csh如果你正在使用 omnibus-gitlab, 只需要将下面一行代码添加到 /etc/gitlab/gitlab.rb 文件然后运行 sudo gitlab-ctl reconfigure 即可:user["shell"] = "/bin/csh"如果你是通过源码方式安装,可使用如下命令来更改 shell:sudo chsh -s /bin/csh git再次测试看看漏洞是否解决。

如果因为某些原因导致上面的方法你都不能使用,你可以禁用 git 用户通过 SSH 连接服务器,只需要在 /etc/ssh/sshd_config 增加 DenyUsers git,然后重启 SSH 服务即可,这样会导致无法通过 SSH 方式 Push 代码。Linux再曝安全漏洞Bash 比心脏出血还严重 http://www.linuxidc.com/Linux/2014-09/107176.htm