为了使 CentOS/RHEL 7 符合联邦信息处理标准出版物 (FIPS) 140-2,需要进行一些更改以确保使用经过认证的加密模块并且系统(内核和用户空间)处于 FIPS 模式。
欢迎来到之路教程(on itroad-com)
操作步骤
在内核上激活 FIP:
- 安装 dracut-fips。
# yum install dracut-fips
- 备份当前的 initramfs。
# cp -p /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).backup
确保已创建 initramfs 的备份。
- 重新创建 initramfs 文件:
# dracut -f
- 修改grub.cfg文件中当前内核的内核命令行。
在 /etc/default/grub.cfg 中,在 GRUB_CMDLINE_LINUX 行的末尾添加以下选项:“fips=1”
# cat /etc/default/grub | grep GRUB_CMDLINE_LINUX= GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=vg_os/root rd.lvm.lv=vg_os/swap rhgb quiet fips=1"
- 重建 grub.cfg 文件如下:
# grub2-mkconfig -o /boot/grub2/grub.cfg
如果服务器被配置为使用基于 UEFI 的,运行以下命令来重建 grub.cfg :
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
- 重新启动系统。
# shutdown -r now
- 最后再次检查是否现在启用了 FIP。
如果启用,它将显示 1.
# cat /proc/sys/crypto/fips_enabled 1
准备工作
- 确认当前openssl版本支持fips:
# openssl version OpenSSL 1.0.1e-fips 11 Nov 2013
- 检查以下命令的输出。
它显示内核是否已为 FIP 配置。
如果未启用,它将显示 0。
# cat /proc/sys/crypto/fips_enabled 0
- 备份输出 'blkid' 和 'df -h' 以防将来出现问题。
# blkid > /var/tmp/blkid_bkp_`date` # df -h > /var/tmp/df_bkp_`date`
- 在 /etc/sysconfig/prelink 检查预链接是否被禁用。
这可以通过在配置文件中配置“PRELINKING=no”来完成。
注意:如果服务器中没有预链接,则可以跳过此步骤。
- 检查服务器是否使用AESNI(高级加密标准指令集):
# cat /proc/cpuinfo | grep aes # lsmod | grep aes
注意:如果在服务器中 aes 正在工作,请在继续之前安装库依赖项:dracut-fips-aesni。
日期:2020-09-17 00:13:42 来源:oir作者:oir