我有两个CentOS 5.10 boxen,我已将bash升级到最新版本.但是,在其中一个框中,bash仍然容易受到CVE-2014-7169的影响(我使用的是
this ServerFault answer的测试).
关于为什么一台机器可以正常而另一台机器没有的任何想法?我可以检查什么?
我已经检查了什么:
1-确保两台计算机都运行相同的操作系统(两者都相同):
# cat /etc/redhat-release CentOS release 5.10 (Final)
2-确保我有相同版本的bash(两者都有相同的输出):
# rpm -qi bash Name : bash Relocations: (not relocatable) Version : 3.2 Vendor: CentOS Release : 33.el5_10.4 Build Date: Thu 25 Sep 2014 08:58:19 PM UTC Install Date: Sat 27 Sep 2014 02:07:07 PM UTC Build Host: sclbuild-c5.centos.org Group : System Environment/Shells Source RPM: bash-3.2-33.el5_10.4.src.rpm Size : 5235475 License: GPLv2+ Signature : DSA/SHA1,Fri 26 Sep 2014 02:11:39 AM UTC,Key ID a8a447dce8562897
3-仔细检查二进制文件是否正确签名(两者上的输出相同):
# rpm -V bash
(此命令没有输出,表示签出了二进制签名)
4-检查二进制文件实际上是否为相同版本(如注释中Cyrus所建议的那样):(两台机器上的输出相同)
# rpm -qf /bin/bash bash-3.2-33.el5_10.4
5-检查二进制文件的大小
# ls -l /bin/bash (Good machine) -rwxr-xr-x 1 root root 801816 Sep 25 20:55 /bin/bash # ls -l /bin/bash (Bad/vulnerable machine) -rwxr-xr-x 1 root root 768952 Sep 25 20:55 /bin/bash
请注意,文件大小不同.
6-实际测试漏洞
# ## on the good machine # env X='() { (a)=>\' sh -c "echo date"; cat echo date cat: echo: No such file or directory # ## on the bad/vulnerable machine # env X='() { (a)=>\' sh -c "echo date"; cat echo date Sat Sep 27 13:44:36 UTC 2014
可能是误报 – 确保在坏机器上的早期测试中不存在’echo’文件,然后重新测试.
如果做不到这一点,也可能是假阴性 – 检查你可以触摸好机器上的文件,然后重新测试.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。