第一、检测是否存在Bash漏洞
env -i X='() { (a)=>\' bash -c 'echo date'; cat echo
执行上面的命令,如果有出现下面的反馈信息说存在漏洞需要补丁。
如果有出现上面的字符说明是有漏洞的,然后看下面根据不同系统环境升级补丁。
第二、升级不同系统的bash补丁
老左需要说的是,以防止万一我们需要先做好备份,万一出现不兼容问题导致系统错误我们还可以补救备份,如果可以快照备份的就快照备份,其他就备份网站和数据库。在写这篇文章的时候,老左已经在centos和debian测试成功。
A - centos系统
yum clean all
yum makecache
yum -y update bash
如果是centos系统只要运行上面简单的脚本就可以。
B - Ubuntu系统
apt-get update
apt-get -y install --only-upgrade bash
C - debian系统
如果是7.5 64位 && 32位环境运行
apt-get update
apt-get -y install --only-upgrade bash
如果是6.0.x 64位环境运行
wget https://soft.laozuo.org/systems/bash_4.1-3+deb6u2_amd64.deb&& dpkg -i bash_4.1-3+deb6u2_amd64.deb
如果是6.0.x 32位环境运行
wget https://soft.laozuo.org/systems/bash_4.1-3+deb6u2_i386.deb&&dpkg -i bash_4.1-3+deb6u2_i386.deb
最后,我们再运行第一步的脚本检测的时候看看是什么样子的反馈信息。
如果能看到:
date
这样的反馈信息说明补丁完毕。支持我们已经完成了Linux Bash安全漏洞的修复工作.