原文链接:Linux Bash漏洞测试方法与修复方法http://www.jishubu.net/yunwei/anquan/382.html

Linux Bash漏洞测试方法与修复方法

Linux 用户今天又得到了一个“惊喜”! Red Hat 安全团队在 Linux 中广泛使用的 Bash shell 中发现了一个隐晦而危险的安全漏洞Linux官方内置Bash中新发现一个非常严重安全漏洞(漏洞参考https://access.redhat.com/security/cve/CVE-2014-6271  ),***可以利用该Bash漏洞完全控制目标系统并发起***。该漏洞被称作“Bash Bug”或“Shellshock”。

当用户正常访问,该漏洞允许***者的代码像在 shell 中一样执行,这就为各种各样的***打开了方便之门。而且,更糟糕的是该漏洞已经在 Linux 中存在很久了,所以修补某个 Linux 机器很容易,但是要全部修补,几乎不可能完成。  

Red Hat 和 Fedora 已经发布了针对该漏洞的修补程序。该漏洞也会影响 OS X,不过苹果公司尚未发布正式的修补程序。

已知受到影响的 Linux 发行版和软件包括:

  • Ubuntu Ubuntu Linux 12.04 LTS i386/amd64

  • Ubuntu Ubuntu Linux 10.04 sparc/powerpc/i386/ARM/amd64

  • GNU GNU bash 3.1.4/3.0.16/4.2/4.1/4.0 RC1/4.0/3.2.48/3.2/3.00.0(2)/3.0

  • Debian Linux 6.0 sparc/s390/powerpc/mips/ia-64/ia-32/arm/amd64

  • CentOS CentOS 5

截至文章发布为止,只有redhat系列更新了官方源,其它版本都需要自行安装新版BASH,从这点可以看出redhat,centos为什么占有主要的服务器市场了。推荐大家使用redhat或是centos为线上服务器。为了避免您Linux服务器受影响,建议您尽快完成漏洞修补,修复方法如下,请了解!

【已确认被成功利用的软件及系统
所有安装GNU bash 版本小于或者等于4.3的Linux操作系统。


【漏洞描述】
该漏洞源于你调用的bash shell之前创建的特殊的环境变量,这些变量可以包含代码,同时会被bash执行。


【漏洞检测方法】

修复前
输出:  
vulnerable  
this is a test  


使用修补方案修复后
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test
特别提示:该修复不会有任何影响,如果您的脚本使用以上方式定义环境变量,修复后您的脚本执行会报错。


【建议修补方案 】

请您根据Linux版本选择您需要修复的命令, 为了防止意外情况发生,建议您执行命令前先对Linux服务器系统盘打个快照,如果万一出现升级影响您服务器使用情况,可以通过回滚系统盘快照解决。

centos:
yum -y update bash

ubuntu:
14.04 64bit
wget http://mirrors.aliyun.com/fix_stuff/bash_4.3-7ubuntu1.1_amd64.deb && dpkg -i bash_4.3-7ubuntu1.1_amd64.deb

14.04 32bit
wget http://mirrors.aliyun.com/fix_stuff/bash_4.3-7ubuntu1.1_i386.deb && dpkg -i  bash_4.3-7ubuntu1.1_i386.deb


12.04 64bit
wget http://mirrors.aliyun.com/fix_stuff/bash_4.2-2ubuntu2.2_amd64.deb && dpkg -i  bash_4.2-2ubuntu2.2_amd64.deb

12.04 32bit
wget http://mirrors.aliyun.com/fix_stuff/bash_4.2-2ubuntu2.2_i386.deb && dpkg -i  bash_4.2-2ubuntu2.2_i386.deb

10.10 64bit
wget http://mirrors.aliyun.com/fix_stuff/bash_4.1-2ubuntu3.1_amd64.deb && dpkg -i bash_4.1-2ubuntu3.1_amd64.deb

10.10 32bit
wget http://mirrors.aliyun.com/fix_stuff/bash_4.1-2ubuntu3.1_i386.deb && dpkg -i bash_4.1-2ubuntu3.1_i386.deb


debian:
7.5 64bit && 32bit
apt-get -y install –only-upgrade bash

6.0.x 64bit
wget http://mirrors.aliyun.com/debian/pool/main/b/bash/bash_4.1-3%2bdeb6u1_amd64.deb &&  dpkg -i bash_4.1-3+deb6u1_amd64.deb

6.0.x 32bit
wget http://mirrors.aliyun.com/debian/pool/main/b/bash/bash_4.1-3%2bdeb6u1_i386.deb &&  dpkg -i bash_4.1-3+deb6u1_i386.deb

opensuse:
13.1 64bit
wget http://mirrors.aliyun.com/fix_stuff/bash-4.2-68.4.1.x86_64.rpm && rpm -Uvh bash-4.2-68.4.1.x86_64.rpm


13.1 32bit
wget http://mirrors.aliyun.com/fix_stuff/bash-4.2-68.4.1.i586.rpm && rpm -Uvh bash-4.2-68.4.1.i586.rpm

aliyun linux:
5.x 64bit
wget http://mirrors.aliyun.com/centos/5/updates/x86_64/RPMS/bash-3.2-33.el5.1.x86_64.rpm && rpm -Uvh bash-3.2-33.el5.1.x86_64.rpm

5.x 32bit
wget http://mirrors.aliyun.com/centos/5/updates/i386/RPMS/bash-3.2-33.el5.1.i386.rpm && rpm -Uvh bash-3.2-33.el5.1.i386.rpm