更新 bash 后是否必须重新启动以避免 shellshock?

更新 bash 后是否必须重新启动以避免 shellshock?

我已将我的系统更新到最新版本bash(Fedora:bash-4.2.48-2.fc19.x86_64和 CentOS bash-4.1.2-15.el6_5.2.x86_64:)

仅仅更新就足以避免漏洞利用,还是我需要关闭所有终端、重新启动所有服务或重新启动系统?

答案1

红帽常见问题解答:(Bash 中的漏洞 CVE-2014-6271。)

安装此更新后是否需要重新启动或重新启动服务?

不需要,安装新的 bash 软件包后,您无需重新启动或重新启动任何服务。此问题仅影响启动期间的 Bash shell,不会影响已经运行的 shell。升级软件包将确保启动的所有新 shell 都使用固定版本。

答案2

您可能需要重新启动某些服务。

红帽文章:

安装 CVE-2014-6271 和 CVE-2014-7169 的更新后是否需要重新启动或重新启动服务?

如果您的系统使用导出的 Bash 函数,建议重新启动受影响的服务。受影响的交互用户可能需要重新登录,并且 screen 或 tmux 会话可能需要重新启动。

为解决这些问题而提供的 Bash 更新更改了环境中导出函数的名称。如果一个函数是由旧版本的 Bash 导出的,则更新后新启动的 Bash 进程无法识别该函数,并且本质上变得未定义。重新启动服务可确保新版本的 Bash 以预期名称导出函数,使其再次可见。

要了解哪些服务需要重新启动(或者哪些用户必须重新登录),请在更新后执行以下命令:

$ grep -l -z '[^)]=() {' /proc/[1-9]*/environ | cut -d/ -f3

返回的 PID 属于在其环境中使用旧导出函数定义的进程。必须重新启动这些进程。要发现哪个服务启动了某个 PID 并需要重新启动,请在 Red Hat Enterprise Linux 7 上使用以下命令:

$ systemctl status <PID>

在 Red Hat Enterprise Linux 6 及更早版本上,使用 pstree -p 或 ps -axuf 命令并查找特定的 PID。

答案3

仅当有人因该错误而控制了您的计算机时,才可能需要重新启动。但在这种情况下,您应该重新安装系统。

如果您不确定,请重新启动,然后检查您的系统(日志、可能的 rootkit 等)。

相关内容