如何保护服务器免受 Shellshock Bash 漏洞攻击

介绍

2014年9月24日,一个被称为Shellshock或Bash Bug的GNU Bash漏洞被披露,简而言之,该漏洞允许远程攻击者在某些条件下执行任意代码,通过在环境变量分配后传递代码串。由于Bash在Linux、BSD和Mac OS X发行版中无处不在的状态,许多计算机都容易受到Shellshock的攻击;所有1.14到4.3之间的Bash版本(即迄今为止所有版本)都面临风险。

Shellshock 漏洞可被利用在运行服务或允许未经授权的远程用户分配 Bash 环境变量的应用程序的系统上。

  • Apache HTTP 服务器使用以 Bash 编写的 CGI 脚本(通过'mod_cgi' 和'mod_cgid')或启动到 Bash 子壳
  • 某些 DHCP 客户端
  • 使用 'ForceCommand' 功能的 OpenSSH 服务器 使用 Bash 的各种网络曝光服务

该错误的详细描述可在 CVE-2014-6271, CVE-2014-7169, CVE-2014-7186CVE-2014-7187找到。

由于Shellshock的漏洞非常普遍 - 甚至比OpenSSL Heartbleed的漏洞更为广泛 - 并且特别容易被利用,因此强烈建议对受影响的系统进行适当的更新,以便尽快修复或减轻漏洞。

检查系统漏洞

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

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

命令中突出的echo Bash is vulnerable!部分表示远程攻击者可以注入恶意代码;随机代码在环境变量分配中遵循函数定义。

1Bash is vulnerable!
2Bash Test

如果您的输出不包含模拟攻击者的实用负载,即Bash is vulnerable不是作为输出打印的,那么您至少受到第一个漏洞的保护(CVE-2014-6271,但您可能对后来发现的其他CVE具有脆弱性。

如果测试命令的唯一输出是以下,则您的Bash是安全的Shellshock:

1Bash Test

远程网站测试

如果您只是想测试网站或特定 CGI 脚本是否易受攻击,请使用此链接: ‘ShellShock’ Bash Vulnerability CVE-2014-6271 测试工具

只需输入您想要测试的网站或 CGI 脚本的 URL,并提交。

修复漏洞:更新Bash

解决漏洞的最简单方法是使用默认包管理器来更新 Bash 的版本,下面的子部分涵盖了在各种 Linux 发行版上更新 Bash,包括 Ubuntu、Debian、CentOS、Red Hat 和 Fedora。

应用程序:Ubuntu / Debian

对于目前支持的 UbuntuDebian版本,请通过apt-get更新 Bash 到最新的版本:

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

现在,通过在上一节执行命令(检查系统漏洞)来再次检查系统漏洞。

生命的终结 Ubuntu / Debian 发布

如果您正在运行 Ubuntu / Debian 版本,该版本被认为是 end of life 状态,您将需要升级到支持的版本以使用包管理器来更新 Bash. 可以使用以下命令升级到新版本(建议您先备份您的服务器和重要数据,如果您遇到任何问题):

1sudo do-release-upgrade

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

YUM:CentOS / 红帽 / Fedora

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

1sudo yum update bash

现在,通过在上一节执行命令(检查系统漏洞)来再次检查系统漏洞。

终结生命 CentOS / Red Hat / Fedora 发布

如果您正在运行 CentOS / Red Hat / Fedora 版本,该版本被认为是 end of life 状态,则需要升级到支持的版本以使用包管理器来更新 Bash. 可以使用以下命令升级到新版本(建议您先备份您的服务器和重要数据,如果您遇到任何问题):

1sudo yum update

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

结论

请确保将所有受影响的服务器更新到最新版本的 Bash! 此外,请确保您的服务器保持最新安全更新!

Published At
Categories with 技术
Tagged with
comments powered by Disqus