Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第 9 章 联邦标准和强制

为了保持安全水平,您的企业可以努力遵守联邦和行业安全规范、标准和法规。本章介绍了其中一些标准和法规。

9.1. 联邦信息处理标准(FIPS)

联邦信息处理标准(FIPS)出版物 140-2 是一种计算机安全标准,由美国.政府和行业工作组验证加密模块的质量。请参阅NIST Computer 安全资源中心上的官方 FIPS 出版物。
FIPS 140-2 标准确保加密工具正确实施了它们的算法。有关这些级别以及 FIPS 标准的其他规格的详情,请参阅 http://dx.doi.org/10.6028/NIST.FIPS.140-2 完整的 FIPS 140-2 标准。
要了解合规性要求,请参阅 Red Hat Government Standards 页

9.1.1. 启用 FIPS 模式

要使红帽企业 Linux 符合联邦信息处理标准(FIPS)出版物 140-2,您需要进行多项更改,以确保使用认证加密模块。您可以在系统安装过程中或之后启用 FIPS 模式。

系统安装过程中

要强化 FIPS 140-2 合规性,请在系统安装期间将 fips=1 内核选项添加到内核命令行中。使用这个选项时,所有密钥的生成都使用 FIPS 批准的算法和持续监控测试完成。安装后,系统被配置为自动引导至 FIPS 模式。
重要
通过移动鼠标或按许多击键,确保系统在安装过程中有大量熵。推荐的击键次数为 256 及更多。小于 256 个击键操作可能会生成一个非唯一密钥。

系统安装后

要在安装后将系统的内核空间和用户空间切换到 FIPS 模式,请按照以下步骤执行:
  1. 安装 dracut-fips 软件包:
    ~]# yum install dracut-fips
    对于支持 AES 新指令(AES-NI)支持的 CPU,还要安装 dracut-fips-aesni 软件包:
    ~]# yum install dracut-fips-aesni
  2. 重新生成 initramfs 文件:
    ~]# dracut -v -f
    要启用模块内完整性验证并在内核引导过程中存在所有必需的模块,必须重新生成 initramfs 文件。
    警告
    此操作将覆盖现有的 initramfs 文件。
  3. 修改启动加载器配置.
    要引导进入 FIPS 模式,在引导装载程序的内核命令行中添加 fips=1 选项。如果您的 /boot/boot/EFI/ 分区位于单独的分区中,请在内核命令行中添加 boot= <partition>( 其中<partition > 代表 /boot)参数。
    要识别引导分区,请输入以下命令:
    ~]$ df /boot
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/sda1               495844     53780    416464  12% /boot
    要确保 boot= 配置选项在引导之间更改设备命名时也能正常工作,请运行以下命令来识别分区的通用唯一标识符(UUID):
    ~]$ blkid /dev/sda1
    /dev/sda1: UUID="05c000f1-f899-467b-a4d9-d5ca4424c797" TYPE="ext4"
    在内核命令行中附加 UUID:
    boot=UUID=05c000f1-f899-467b-a4d9-d5ca4424c797
    根据您的引导装载程序,进行以下更改:
    • GRUB 2
      fips=1boot=<partition 添加到 /etc/default/grub 文件中的 GRUB _CMDLINE_LINUX 键中。要将更改应用到 /etc/default/grub,请按如下所示重建 grub.cfg 文件:
      • 在基于 BIOS 的机器中以 root 用户身份输入以下命令:
        ~]# grub2-mkconfig -o /etc/grub2.cfg
      • 在基于 UEFI 的机器上,以 root 用户身份输入以下命令:
        ~]# grub2-mkconfig -o /etc/grub2-efi.cfg
    • zipl(仅适用于 IBM z Systems 架构)
      fips=1boot=<partition 添加到 / etc/zipl.conf 中的内核命令行,并通过输入以下内容应用更改:
      ~]# zipl
  4. 确保已禁用预链接。
    若要正确运行模块内完整性验证,必须禁用库和二进制文件的预先链接。Prelinking 由 prelink 软件包执行,该软件包默认不安装。除非安装了 prelink,否则不需要这个步骤。要禁用预链接,请在 /etc/sysconfig/prelink 配置文件中设置 PRELINKING=no 选项。要禁用所有系统文件上的现有预链接,请使用 prelink -u -a 命令。
  5. 重启您的系统。

在容器中启用 FIPS 模式

如果主机也以 FIPS140-2 模式设定,且满足以下要求之一,则容器可切换到 FIPS140-2 模式:
  • dracut-fips 软件包安装在容器中。
  • /etc/system-fips 文件从主机上挂载到容器上。