日前Linux官方内置Bash中新发现一个非常严重安全漏洞(漏洞参考https://access.redhat.com/security/cve/CVE-2014-6271 ),黑客可以利用该Bash漏洞完全控制目标系统并发起攻击,为了避免您Linux服务器受影响,建议您尽快完成漏洞修补,修复方法如下,请了解!
特别提醒:Linux 官方已经给出最新解决方案,已经解决被绕过的bug,建议您尽快重新完成漏洞修补。
Linux Bash输出结果中见到date字样就修复成功了
【已确认被成功利用的软件及系统】
所有安装GNU bash 版本小于或者等于4.3的Linux操作系统。
【漏洞描述】
该漏洞源于你调用的bash shell之前创建的特殊的环境变量,这些变量可以包含代码,同时会被bash执行。
【漏洞检测方法】
漏洞检测命令:
代码如下 | 复制代码 |
env -i X=’() { (a)=>\’ bash -c ‘echo date’; cat echo 修复前输出: [root@localhost]# env -i X=’() { (a)=>\’ bash -c ‘echo date’; cat echo |
最后一排显示为日期,说明系统存在风险漏洞。
修补方案
centos:(最终解决方案)
yum clean all
yum makecache
yum -y update bash
ubuntu:(最终解决方案)
apt-get update
apt-get -y install –only-upgrade bash
debian:(最终解决方案)
apt-get update
apt-get -y install –only-upgrade bash
修复后:
[root@localhost]# env -i X=’() { (a)=>\’ bash -c ‘echo date’; cat echo
date
Sun Sep 28 19:02:00 CST 2014
如果仍然同时看到date 和 日期,说明已经生效,但是当前bash 还没有更新过来。
[root@localhost]# exit
logout
退出再登录后,就不会显示 日期了。
[root@localhost]# env -i X=’() { (a)=>\’ bash -c ‘echo date’; cat echo
date
cat: echo: No such file or directory
最终只有不出现 日期,说明bash不能执行了。