在实例上禁用 KASLR(仅限 Ubuntu) - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在实例上禁用 KASLR(仅限 Ubuntu)

要使用 Ubuntu 16.04 LTS(Xenial Xerus)、发布序列号为 20190722.1 或更晚的 Ubuntu 18.04 LTS - Bionic 或者发布序列号为 20210820 或更晚的 Ubuntu 20.04 LTS(Bionic Beaver)在新启动的实例上运行休眠,我们建议禁用 KASLR(内核地址空间布局随机化)。在 Ubuntu 16.04 LTS、Ubuntu 18.04 LTS 或 Ubuntu 20.04 LTS 上,默认启用 KASLR。

KASLR 是一项标准 Linux 内核安全功能,它通过随机化内核的基本地址值,来帮助减少尚未发现的内存访问漏洞的风险和后果。启用 KASLR 后,实例在休眠后可能无法恢复。

要详细了解 KASLR,请参阅 Ubuntu 功能

在使用 Ubuntu 启动的实例上禁用 KASLR
  1. 使用 SSH 连接到实例。有关更多信息,请参阅使用 SSH 从 Linux 或 macOS 连接到 Linux 实例

  2. 在选定编辑器中打开 /etc/default/grub.d/50-cloudimg-settings.cfg 文件。编辑 GRUB_CMDLINE_LINUX_DEFAULT 行以将 nokaslr 选项追加到其末尾,如以下示例所示。

    GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0 nvme_core.io_timeout=4294967295 nokaslr"
  3. 保存文件并退出您的编辑器。

  4. 运行以下命令来重新构建 grub 配置。

    [ec2-user ~]$ sudo update-grub
  5. 重启实例。

    [ec2-user ~]$ sudo reboot
  6. 运行以下命令确认 nokaslr 已添加。

    [ec2-user ~]$ cat /proc/cmdline

    命令的输出应包含 nokaslr 选项。