在執行個體上停用 KASLR (僅限 Ubuntu) - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在執行個體上停用 KASLR (僅限 Ubuntu)

若要在配備 Ubuntu 16.04 LTS (Xenial Xerus)、Ubuntu 18.04 LTS (Bionic Beaver) (發行序號為 20190722.1 或更新版本) 或 Ubuntu 20.04 LTS (Focal Fossa) (發行序號為 20210820 或更新版本) 的新啟動執行個體上執行休眠,建議停用 KASLR (Kernel Address Space Layout Randomization)。在 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 選項。