Linux有问必答：如何检测并修复bash中的破壳漏洞​​
================================================================================
> **问题**：我想要知道我的Linux服务器是否存在bash破壳漏洞，以及如何来保护我的Linux服务器不受破壳漏洞侵袭。

2014年9月24日，一位名叫斯特凡·沙泽拉的安全研究者发现了一个名为“破壳”（Shellshock，也称为“bash门”或“Bash漏洞”）的bash漏洞。该漏洞如果被渗透，远程攻击者就可以在调用shell前通过在特别精心编制的环境中输出函数定义执行任何程序代码。然后，这些函数内的代码就可以在调用bash时立即执行。

注意，破壳漏洞影响到bash版本1.14到4.3（当前版本）。虽然在写本文时还没有该漏洞权威而完整的修复方案，也尽管主要的Linux发行版（[Debian][1]，[Red Hat][2]，[CentOS][3]，[Ubuntu][4]和 [Novell/Suse][5]）已经发布了用于部分解决与此漏洞相关的补丁（[CVE-2014-6271][6]和[CVE-2014-7169][7]），并且建议尽快更新bash，并在随后数日内检查更新（LCTT 译注，可能你看到这篇文章的时候，已经有了完善的解决方案）。

### 检测破壳漏洞 ###

要检查你的Linux系统是否存在破壳漏洞，请在终端中输入以下命令。

     $ env x='() { :;}; echo "Your bash version is vulnerable"' bash -c "echo This is a test" 


如果你的Linux系统已经暴露给了破壳漏洞渗透，命令输出会像这样：

    Your bash version is vulnerable
    This is a test

在上面的命令中，一个名为x的环境变量已经被设置可用于用户环境。就如我们所了解到的，它并没有赋值（是一个虚函数定义），后面跟了一个任意命令（红色），该命令将在bash调用前执行。

### 为破壳漏洞应用修复 ###

你可以按照以下方法安装新发布的bash补丁。

在Debian及其衍生版上：

    # aptitude update && aptitude safe-upgrade bash 

在基于Red Hat的发行版上：

    # yum update bash 

#### 打补丁之前： ####

Debian：

![](https://farm4.staticflickr.com/3903/15342893796_0c3c61aa33_z.jpg)

CentOS：

![](https://farm3.staticflickr.com/2949/15362738261_99fa409e8b_z.jpg)

#### 打补丁之后： ####

Debian:

![](https://farm3.staticflickr.com/2944/15179388727_bdb8a09d62_z.jpg)

CentOS: 

![](https://farm4.staticflickr.com/3884/15179149029_3219ce56ea_z.jpg)

注意，在安装补丁前后，各个发行版中的bash版本没有发生变化——但是你可以通过从更新命令的运行过程中看到该补丁已经被安装（很可能在安装前需要你确认）。

如果处于某种原因你不能安装该补丁，或者针对你的发行版的补丁还没有发布，那么建议你先试用另外一个shell，直到修复补丁出现。

--------------------------------------------------------------------------------

via: http://ask.xmodulo.com/detect-patch-shellshock-vulnerability-bash.html

译者：[GOLinux](https://github.com/GOLinux)
校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出

[1]:https://www.debian.org/security/2014/dsa-3032
[2]:https://access.redhat.com/articles/1200223
[3]:http://centosnow.blogspot.com.ar/2014/09/critical-bash-updates-for-centos-5.html
[4]:http://www.ubuntu.com/usn/usn-2362-1/
[5]:http://support.novell.com/security/cve/CVE-2014-6271.html
[6]:http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-6271
[7]:http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-7169
