管理 Linux 安全更新 - AWS OpsWorks

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

管理 Linux 安全更新

安全更新

Linux 操作系统提供程序提供定期更新,大部分更新是操作系统安全修补,但也可能包括对已安装程序包的更新。您应确保您的实例操作系统是最新的操作系统并具有最新的安全修补。

默认情况下,AWS OpsWorks Stacks 会在设置过程中在实例完成启动后自动安装最新更新。在实例联机之后,AWS OpsWorks Stacks 不会自动安装更新,以免产生像重新启动应用程序服务器这样的中断。由您自行管理联机实例的更新,因此可最大程度地减少中断。

我们建议您使用下列方法之一来更新您的联机实例。

  • 创建并启动新实例来替换您当前的联机实例。然后,删除当前实例。

    新实例将具有在设置过程中安装的最新安全修补集。

  • 在 Chef 11.10 或更早版本的堆栈中的基于 Linux 的实例上,运行 Update Dependencies 堆栈命令,以在指定实例上安装最新的安全修补集和其他更新。

对于以上两种方法,AWS OpsWorks Stacks 通过对 Amazon Linux 和 Red Hat Enterprise Linux (RHEL) 运行 yum update 以及对 Ubuntu 运行 apt-get update 来执行更新。每次分发处理更新的方式略有不同,因此您应检查相关链接中的信息以准确了解更新将如何影响您的实例:

  • Amazon Linux – Amazon Linux 更新将安装安全补丁并且还可能安装功能更新(包括程序包更新)。

    有关更多信息,请参阅 Amazon Linux AMI 常见问题

  • Ubuntu – Ubuntu 更新主要限于安装安全修补,但可能还会针对数量有限的关键修复安装程序包更新。

    有关更多信息,请参阅 LTS - Ubuntu Wiki

  • CentOS – CentOS 更新通常会保留与早期版本的二进制兼容性。

    有关更多信息,请参阅 CentOS 产品规格

  • RHEL – RHEL 更新通常会保留与早期版本的二进制兼容性。

    有关更多信息,请参阅 Red Hat Enterprise Linux 生命周期

如果您要更好地控制更新(如指定特殊的程序包版本),则可通过以下方法禁用自动更新:使用 CreateInstanceUpdateInstanceCreateLayerUpdateLayer 操作(或等效的 AWS 开发工具包方法或 AWS CLI 命令)将 InstallUpdatesOnBoot 参数设置为 false。以下示例演示了如何使用 AWS CLI 来禁用作为现有层默认设置的 InstallUpdatesOnBoot

aws opsworks update-layer --layer-id layer ID --no-install-updates-on-boot

之后,您必须自行管理更新。例如,您可使用下列策略之一: