Linux系统下如何检测并修复bash中的破壳漏洞R
问题我想要知道我的Lux服务器是否存在bash破壳漏洞,以及如何来保护我的Lux服务器不受破壳漏洞侵袭。
2014年9月24日,一位名叫斯特凡·沙泽拉的安全研究者发现了一个名为“破壳”(Shellshock,也称为“bash门”或“Bash漏洞”)的bash漏洞。该漏洞如果被渗透,远程攻击者就可以在调用shell前通过在特别精心编制的环境中输出函数定义执行任何程序代码。然后,这些函数内的代码就可以在调用bash时立即执行。
注意,破壳漏洞影响到bash版本1.14到4.3(当前版本)。虽然在写本文时还没有该漏洞权威而完整的修复方案,也尽管主要的Lux发行版(,,,和 )已经发布了用于部分解决与此漏洞相关的补丁(和),并且建议尽快更新bash,并在随后数日内检查更新(LCTT 译注,可能你看到这篇文章的时候,已经有了完善的解决方案)。
检测破壳漏洞
要检查你的Lux系统是否存在破壳漏洞,请在终端中输入以下命令。
$ env x='() { :;}; echo "Your bash version is vulnerable"' bash -c "echo This is a test"
如果你的Lux系统已经暴露给了破壳漏洞渗透,命令输出会像这样
Your bash version is vulnerableThis is a test
在上面的命令中,一个名为x的环境变量已经被设置可用于用户环境。就如我们所了解到的,它并没有赋值(是一个虚函数定义),后面跟了一个任意命令(红色),该命令将在bash调用前执行。
为破壳漏洞应用修复
你可以按照以下方法安装新发布的bash补丁。
在Debian及其衍生版上
# aptitude update && aptitude safe-upgrade bash
在基于Red Hat的发行版上
# yum update bash
打补丁之前
Debian
CentOS
打补丁之后
Debian:
CentOS:
注意,在安装补丁前后,各个发行版中的bash版本没有发生变化——你可以通过从更新命令的运行过程中看到该补丁已经被安装(很可能在安装前需要你确认)。
如果处于某种原因你不能安装该补丁,或者针对你的发行版的补丁还没有发布,那么建议你先试用一个shell,直到修复补丁出现。谢谢阅读,希望能帮到大家,请继续关注脚本之家,我们会努力分享更多优秀的文章。
网络推广
- 5g网络有多快:5g网络网速有多快
- dota2无法连接至steam网络 为什么无法连接dota2网络
- 无线网络信号接收器 无线网络信号接收器怎么用
- 网络延时是什么意思 网络延时是什么原因
- 无线网络不可用:无线网络不可用是什么原因
- 网络广告销售技巧 网络广告销售技巧有哪些
- 智能手机网络设置 智能手机网络设置在哪里
- 为什么找不到无线网络 为什么找不到无线网络信
- 网络这么赚钱:网络怎么能赚到钱
- 为什么无线网络连接不上 为什么无线网连不起来
- 网络上的人际交往 网络上人际交往的优势
- 支付宝网络系统异常 支付宝显示网络异常什么时
- 营销软件:营销软件有哪些
- 无法访问您要使用的功能所在的网络位置
- 网络安全基本知识 网络安全基本知识有哪些
- 什么网络电话最好用 什么网络电话最好用最便宜