发布于 2014-09-25 06:57:32 | 404 次阅读 | 评论: 1 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

GitLab项目管理和代码托管平台

GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。


今天 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,请参考这篇文章

解决完请再通过上述代码测试是否存在漏洞。

你也可以将 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 代码。

 



最新网友评论  共有(1)条评论 发布评论 返回顶部
PHPERZ网友 发布于2014-09-25 07:06:18
这漏洞看来影响不小啊,
支持(0)  反对(0)  回复

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务