当前位置: 首页 > article >正文

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

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

简介

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://www.kler.cn/news/357187.html

相关文章:

  • IDEA项目提交至SVNGIT仓库
  • 【升华】人工智能python重要库scikit-learn学习
  • 【ARM】MDK-Flex服务管理软件使用说明
  • 基于SpringBoot+Vue+uniapp微信小程序的校园反诈骗微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
  • 【华为HCIP实战课程十三】OSPF网络中3类LSA及区域间负载均衡,网络工程师
  • 读人工智能全传16读后总结与感想兼导读
  • 苍穹外卖笔记
  • LeetCode 206 - 反转链表
  • YoloV10改进:Block改进|使用ContextAggregation模块改善C2f模块|即插即用
  • 探索C++的工具箱:双向链表容器类list(1)
  • 【linux】Microsoft Edge 的 Bookmarks 文件存储位置
  • 三大编程思想(POP、OOP、AOP、FOP)及oop 五大设计原则
  • 用Python构建动态折线图:实时展示爬取数据的指南
  • 【74LS48译码器】2022-1-2
  • S7-200 SMART 与 S7-1200 之间 TCP 通信— S7-200 SMART 作为服务器
  • T-SNE
  • 接口测试 —— 如何测试加密接口?
  • 【安当产品应用案例100集】022-阿里云、腾讯云、华为云等公有云上ECS服务器中数据加密保护方案
  • C++容器适配器的模拟实现-stack、queue、priority_queue
  • 基于SSM高校普法系统的设计