注意,破壳漏洞影响到bash版本1.14到4.3(当前版本)。虽然在写本文时还没有该漏洞权威而完整的修复方案,也尽管主要的Linux发行版(Debian,Red Hat,CentOS,Ubuntu和 Novell/Suse)已经发布了用于部分解决与此漏洞相关的补丁(CVE-2014-6271和CVE-2014-7169),并且建议尽快更新bash,并在随后数日内检查更新(LCTT 译注,可能你看到这篇文章的时候,已经有了完善的解决方案)。
检测破壳漏洞
要检查你的Linux系统是否存在破壳漏洞,请在终端中输入以下命令。
$ env x=‘() { :;}; echo Your bash version is vulnerable’ bash -c echo This is a test
如果你的Linux系统已经暴露给了破壳漏洞渗透,命令输出会像这样:
Your bash version is vulnerableThis is a test
在上面的命令中,一个名为x的环境变量已经被设置可用于用户环境。就如我们所了解到的,它并没有赋值(是一个虚函数定义),后面跟了一个任意命令(红色),该命令将在bash调用前执行。
为破壳漏洞应用修复
你可以按照以下方法安装新发布的bash补丁。
在Debian及其衍生版上:
# aptitude update && aptitude safe-upgrade bash
在基于Red Hat的发行版上:
# yum update bash
打补丁之前:
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)Debian:
CentOS:
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)打补丁之后:
Debian:
CentOS:
注意,在安装补丁前后,各个发行版中的bash版本没有发生变化但是你可以通过从更新命令的运行过程中看到该补丁已经被安装(很可能在安装前需要你确认)。
如果处于某种原因你不能安装该补丁,或者针对你的发行版的补丁还没有发布,那么建议你先试用另外一个shell,直到修复补丁出现。
上面就是Linux系统中bash破壳漏洞的检测和修复的方法介绍了,赶紧检测下你的系统是否存在bash破壳漏洞,以防服务器被攻击。