Bash漏洞加固方案
1 漏洞描述
前段时间做安全加固,使用的是绿盟的BVS扫描主机,根据扫描出的报告显示,存在两种Bash漏洞,分别为:
①GNU Bash 环境变量远程命令执行漏洞(CVE-2014-6271)
GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行shell命令。
②GNU BashCVE-2014-6271不完整修复远程代码执行漏洞(CVE-2014-7169)
受影响系统:GNU Bash <=4.3 bash43-026
GNU Bash 4.3 bash43-026及之前版本处理环境变量值内某些畸形函数定义后尾随的字符串时存在安全漏洞,远程攻击者通过构造的环境,利用此漏洞可覆盖文件、执行任意代码、导致其他影响。此漏洞源于CVE-2014-6271的不完整修复,函数解析仍然存在问题。
2 漏洞测试
自己搭建环境先进行测试。
①查看系统版本:
[[email protected] ~]# lsb_release version –a
②查看bash版本:
[[email protected] ~]# bash --version
③测试语句:
[[email protected] ~]# env x=‘() { :;}; echovulnerable‘ bash -c "echo this is a test"
返回“vulnerable this is a test”,说明存在GNU Bash 环境变量远程命令执行漏洞(CVE-2014-6271)。
3 漏洞加固
①上传相应补丁至文件至目录/usr/local/src:
bash-3.2-33.el5_10.4.x86_64
bash-debuginfo-3.2-33.el5_11.4.x86_64
请注意下载适合实际环境的bash补丁,由操作系统版本和bash版本决定(本文环境为RedHat64bit && bash3.2)
②安装rpm补丁包:
[[email protected] localhost src]# rpm -Uvhbash-3.2-33.el5_10.4.x86_64.rpm
[[email protected] src]# rpm -Uvhbash-debuginfo-3.2-33.el5_11.4.x86_64.rpm
③检验已加固
[[email protected] src]# env x=‘() { :;}; echovulnerable‘ bash -c "echo this is a test"
只显示this is a test ,则补丁安装成功。
4 说明
本来是打算上传bash补丁的,没想到是非法的上传导致上传失败。