当前位置: 老葡京网站娱乐 > 操作系统 > Unix > 正文

类Unix系统Bash漏洞的检测及修复方法

时间:2016-02-12

老葡京网站娱乐 www.sdguanhua.com 近期Bash漏洞让不少类Unix躺枪。。

下面是相关的检测方法和修复方法(内容来源阿里云开发者论坛)

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

Bash紧急漏洞预警,请所有正在使用Linux服务器的用户注意。该漏洞直接影响基于 Unix 的系统(如 Linux、OS X 等),可导致远程攻击者在受影响的系统上执行任意代码。

【已确认被成功利用的软件及系统】

所有安装gun bash 版本小于或者等于4.3的linux操作系统。

【漏洞描述】

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

【漏洞检测方法】

输入:

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

输出:

vulnerable

this is a test

【已确认被成功利用的软件及系统】

所有安装GNU bash 版本小于或者等于4.3的Linux操作系统。

【漏洞描述】

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

【漏洞检测方法】

漏洞检测命令:env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

修复前

输出:

vulnerable

this is a test

使用修补方案修复后

bash: warning: x: ignoring function definition attempt

bash: error importing function definition for `x'

this is a test

查看本栏目更多精彩内容:http://www.sdguanhua.com/OS/unix/

特别提示:该修复不会有任何影响,如果您的脚本使用以上方式定义环境变量,修复后您的脚本执行会报错。

【建议修补方案 】

请您根据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

Ubuntu12.04 64位检测方法和修复方法亲测可用!