5.2. 在 Microsoft Azure 上为安全引导配置 RHEL 实例
要确保 Azure 云平台上的 Red Hat Enterprise Linux (RHEL)实例有一个安全的操作系统引导过程,请使用安全引导。当注册自定义 RHEL Azure 镜像时,镜像由用于安全引导的预存储统一固件接口(UEFI)变量组成。这可让从 RHEL 镜像启动的所有实例第一次引导时都使用带有所需变量的安全引导机制。
Microsoft Azure 通过可信启动的 VM 支持安全启动。这些虚拟机提供安全机制来保护 rootkits 和 bootkits ,同时提供其他功能,如 Virtual Trusted Platform Manager (vTPM)。使用 GUI 创建实例时,您可以在 Configure security features 设置中找到 Enable secure boot 选项。
先决条件
您已安装了这些软件包:
-
python3 -
openssl -
efivar -
keyutils -
python3-virt-firmware
-
-
您已安装了
azure-cli工具。详情请参阅 在 Linux 上安装 Azure CLI。
流程
使用
openssl工具生成自定义证书custom_db.cer:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将证书转换为
base64编码的格式:echo base64 -w0 custom_db.cer
$ echo base64 -w0 custom_db.cer MIIFIjCCAwqgAwIBAgITNf23J4k0d8c0NR ....Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建并编辑
azure-example-template.jsonAzure Resource Manager (ARM)文件,以注册新的 Azure Compute Gallery 镜像版本:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
azure-cli工具注册镜像版本:az deployment group create --name <example_deployment> \ --resource-group <example_resource_group> \ --template-file <example_template.json>
$ az deployment group create --name <example_deployment> \ --resource-group <example_resource_group> \ --template-file <example_template.json>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 从 Azure 门户重启实例。
验证
检查新创建的 RHEL 实例是否启用了安全引导:
mokutil --sb-state
$ mokutil --sb-state SecureBoot enabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
keyctl工具验证自定义证书的内核 keyring :Copy to Clipboard Copied! Toggle word wrap Toggle overflow