当前位置:首页 » 《随便一记》 » 正文

如何保护您的服务器免受Shellshock Bash漏洞的影响

14 人参与  2024年10月22日 08:01  分类 : 《随便一记》  评论

点击全文阅读


前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

简介

2014年9月24日,披露了一个 GNU Bash 漏洞,称为 Shellshock 或 “Bash Bug”。简而言之,该漏洞允许远程攻击者在特定条件下执行任意代码,方法是通过环境变量赋值后传递代码字符串。由于 Bash 在 Linux、BSD 和 Mac OS X 发行版中的普遍存在,许多计算机都容易受到 Shellshock 的影响;所有从 1.14 到 4.3 版本(即目前的所有版本)之间未修补的 Bash 都存在风险。

Shellshock 漏洞可以在运行允许未经授权的远程用户分配 Bash 环境变量的系统上被利用。可被利用的系统示例包括:

使用 Bash 编写的或启动到 Bash 子shell的 Apache HTTP 服务器(通过 mod_cgimod_cgid)特定的 DHCP 客户端使用 ForceCommand 功能的 OpenSSH 服务器使用 Bash 的各种网络暴露服务

有关该漏洞的详细描述可在 CVE-2014-6271、CVE-2014-7169、CVE-2014-7186 和 CVE-2014-7187 中找到。

由于 Shellshock 漏洞非常普遍——甚至比 OpenSSL Heartbleed 漏洞更为严重——而且特别容易被利用,因此强烈建议尽快更新受影响的系统以修复或减轻漏洞。我们将向您展示如何测试您的机器是否存在漏洞,以及如果存在漏洞,如何更新 Bash 以消除漏洞。

检查系统漏洞

在运行 Bash 的每个系统上,您可以通过在 bash 提示符下运行以下命令来检查 Shellshock 漏洞:

env 'VAR=() { :;}; echo Bash is vulnerable!' 'FUNCTION()=() { :;}; echo Bash is vulnerable!' bash -c "echo Bash Test"

命令中突出显示的 echo Bash is vulnerable! 部分表示远程攻击者可以注入恶意代码的位置;在环境变量赋值内部的函数定义后面的任意代码。因此,如果您看到以下输出,则表示您的 Bash 版本存在漏洞,应该进行更新

Bash is vulnerable!Bash Test

如果您的输出不包括模拟攻击者的有效负载,即未打印出 “Bash is vulnerable”,则至少您已受到第一个漏洞(CVE-2014-6271)的保护,但可能仍然容易受到后来发现的其他 CVE 的影响。如果输出中有任何 bash 警告或错误,您应该将 Bash 更新到最新版本;此过程在下一节中描述。

如果测试命令的唯一输出是以下内容,则表示您的 Bash 不受 Shellshock 影响:

Bash Test

测试远程站点

如果您只想测试网站或特定 CGI 脚本是否存在漏洞,请使用此链接:‘ShellShock’ Bash Vulnerability CVE-2014-6271 Test Tool。

只需在相应的表单中输入要测试的网站或 CGI 脚本的 URL,然后提交。

修复漏洞:更新 Bash

修复漏洞的最简单方法是使用默认的软件包管理器来更新 Bash 的版本。以下各小节介绍了在各种 Linux 发行版(包括 Ubuntu、Debian、CentOS、Red Hat 和 Fedora)上更新 Bash 的方法。

APT-GET:Ubuntu / Debian

对于当前支持的 Ubuntu 或 Debian 版本,请通过 apt-get 更新 Bash 到最新版本:

sudo apt-get update && sudo apt-get install --only-upgrade bash

现在通过运行上一节中的命令(检查系统漏洞)再次检查您的系统漏洞。

Ubuntu / Debian 已终止支持的版本

如果您正在运行被视为已终止支持状态的 Ubuntu / Debian 版本,则必须升级到受支持的版本才能使用软件包管理器更新 Bash。可以使用以下命令升级到新版本(建议您先备份服务器和重要数据,以防遇到任何问题):

sudo do-release-upgrade

升级完成后,请确保更新 Bash。

YUM:CentOS / Red Hat / Fedora

通过 yum 更新 Bash 到最新版本:

sudo yum update bash

现在通过运行上一节中的命令(检查系统漏洞)再次检查您的系统漏洞。

CentOS / Red Hat / Fedora 已终止支持的版本

如果您正在运行被视为已终止支持状态的 CentOS / Red Hat / Fedora 版本,则必须升级到受支持的版本才能使用软件包管理器更新 Bash。可以使用以下命令升级到新版本(建议您先备份服务器和重要数据,以防遇到任何问题):

sudo yum update

升级完成后,请确保更新 Bash。

结论

务必将所有受影响的服务器更新到最新版本的 Bash!另外,务必及时更新服务器的最新安全补丁!


点击全文阅读


本文链接:http://zhangshiyu.com/post/175250.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1