第 2 章 在安装过程中确保RHEL的安全

安全性甚至在你开始安装Red Hat Enterprise Linux之前就已经开始了。从一开始就安全地配置系统,使以后实施其他安全设置更加容易。

2.1. BIOS和UEFI安全

对BIOS(或相当于BIOS)和启动加载器的密码保护可以防止未经授权的用户使用可移动媒体启动系统或通过单用户模式获得root权限。为防止此类攻击,你应该采取的安全措施取决于工作站上信息的敏感性和机器的位置。

例如,如果一台机器是在贸易展中使用的,并且不包含敏感信息,那么防止这种攻击可能并不关键。然而,如果员工的笔记本电脑装有企业网络的私人、未加密的SSH密钥,但在同一次展会上无人看管,就可能导致重大安全漏洞,对整个公司造成影响。

然而,如果工作站位于只有授权或受信任的人才能访问的地方,那么可能就没有必要保护 BIOS 或启动加载器。

2.1.1. BIOS密码

对计算机的BIOS进行密码保护的两个主要原因是[1]:

  1. 防止更改BIOS设置- 如果入侵者可以访问BIOS,他们可以将其设置为从CD-ROM或闪存驱动器启动。这使得他们有可能进入救援模式或单用户模式,从而使他们可以在系统上启动任意进程或复制敏感数据。
  2. 防止系统启动- 一些 BIOS 允许对启动过程进行密码保护。激活后,攻击者会被迫在BIOS启动启动加载器之前输入密码。

由于不同的电脑厂商设置BIOS密码的方法不同,具体的说明请查阅电脑的说明书。

如果你忘记了BIOS密码,可以通过主板上的跳线或者拔掉CMOS电池来重置。因此,如果可能的话,好的做法是锁定电脑机箱。但是,在尝试断开CMOS电池之前,请先查阅计算机或主板的说明书。

2.1.1.1. 非基于BIOS的系统安全

其他系统和架构使用不同的程序来执行与x86系统的BIOS大致相当的低级任务。例如,统一可扩展固件接口(UEFI)外壳。

有关密码保护BIOS类程序的说明,请参见制造商的说明。

2.2. 磁盘分区

Red Hat 建议为/boot//home/tmp/var/tmp/目录创建单独的分区。每种原因都不一样,我们将针对每个部分进行讨论。

/boot
该分区是系统在启动时读取的第一个分区。用于引导你的系统进入 Red Hat Enterprise Linux 8 的引导加载器和内核映像都存储在这个分区中。这个分区不应该被加密。如果此分区包含在/中,并且该分区被加密或以其他方式变得不可用,那么您的系统将无法启动。
/home
当用户数据(/home)存储在 / 而不是独立分区中时,分区可能会填满,从而导致操作系统不稳定。此外,当你的系统升级到下一个版本的Red Hat Enterprise Linux 8时,如果你能把你的数据保存在/home分区中,就会容易很多,因为它不会在安装过程中被覆盖。如果根分区(/)损坏,您的数据可能会永远丢失。通过使用单独的分区,可以稍微多一些保护,防止数据丢失。你也可以针对这个分区进行频繁的备份。
/tmp/var/tmp/
/tmp/var/tmp/ 目录都是用来存储不需要长期存储的数据。然而,如果大量数据充斥其中一个目录,它可能会消耗你所有的存储空间。如果发生这种情况,并且这些目录存储在/内,那么你的系统可能会变得不稳定和崩溃。因此,将这些目录移入自己的分区是个好主意。
注意

在安装过程中,你可以选择加密分区。你必须提供一个密码。该口令作为解锁批量加密密钥的钥匙,用于保护分区数据的安全。

2.3. 在安装过程中限制网络连接

当安装 Red Hat Enterprise Linux 8 时,安装介质代表了系统在特定时间的快照。正因为如此,它可能没有最新的安全修复,可能会受到某些问题的影响,这些问题是在安装介质提供的系统发布后才修复的。

在安装潜在的易受攻击的操作系统时,应始终将暴露限制在最接近的必要网络区域。最安全的选择是"无网络"区,也就是在安装过程中让你的机器处于断开状态。在某些情况下,局域网或内网连接就足够了,而互联网连接的风险最大。为了遵循最佳的安全实践,在从网络上安装 Red Hat Enterprise Linux 8 时,选择离你的存储库最近的区域。

2.4. 安装所需的最低数量的软件包

最好的做法是只安装你将使用的软件包,因为你电脑上的每一个软件都有可能包含漏洞。如果你是从DVD媒体上安装的,请在安装过程中准确选择要安装的软件包。如果你发现你需要另一个包,你可以随时将其添加到系统中。

2.5. 安装后的程序

以下步骤是安装Red Hat Enterprise Linux 8后应立即执行的安全相关程序。

  • 更新你的系统。以root身份输入以下命令。

    # yum update
  • 尽管防火墙服务firewalld 是在安装 Red Hat Enterprise Linux 时自动启用的,但在某些情况下,它可能会被明确地禁用,例如在 kickstart 配置中。在这种情况下,建议考虑重新启用防火墙。

    要启动firewalld,以root身份输入以下命令。

    # systemctl start firewalld
    # systemctl enable firewalld
  • 为了提高安全性,请禁用您不需要的服务。例如,如果您的计算机上没有安装打印机,请使用以下命令禁用Cups服务。

    # systemctl disable cups

    要查看活动服务,请输入以下命令。

    $ systemctl list-units | grep service

2.6. 启用FIPS模式后安装RHEL 8系统

要启用联邦信息处理标准 (FIPS) 出版物 140-2 规定的加密模块自我检查,您必须在 FIPS 模式下操作 RHEL 8。你可以通过以下方式实现:

  • 在FIPS模式下开始安装。
  • 安装后将系统切换到FIPS模式。

为了避免与转换已经部署的系统相关的加密密钥材料再生和重新评估结果系统的合规性,Red Hat建议以FIPS模式开始安装。

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

联邦信息处理标准(FIPS)140-2出版物是美国制定的计算机安全标准。政府和行业工作组验证加密模块的质量。请参阅NIST计算机安全资源中心的FIPS官方出版物。

FIPS 140-2标准确保了加密工具能够正确地实现其算法。其中一个机制就是运行时自检。如需了解更多与 FIPS 标准相关的信息,请参阅 FIPS PUB 140-2 的完整 FIPS 140-2 标准。

要了解合规性要求,请看Red Hat政府标准页面。

2.6.2. 启用FIPS模式安装系统

要启用联邦信息处理标准 (FIPS) 出版物 140-2 规定的加密模块自我检查,请在系统安装期间启用 FIPS 模式。

重要

Red Hat建议在启用FIPS模式的情况下安装Red Hat Enterprise Linux 8,而不是以后再启用FIPS模式。在安装过程中启用FIPS模式,可以确保系统生成的所有密钥都有FIPS认可的算法和持续的监控测试。

流程

  • 在系统安装过程中,在内核命令行中添加fips=1选项。

    在软件选择阶段,不要安装任何第三方软件。

安装完成后,系统自动启动FIPS模式。

验证步骤

  • 系统启动后,检查FIPS模式是否启用。

    $ fips-mode-setup --check
    FIPS mode is enabled.

其它资源

2.6.3. 其它资源



[1] 由于各厂家的系统BIOS不同,有的可能不支持两种类型的密码保护,而有的可能支持一种类型而不支持另一种类型。

为了尽快向用户提供最新的信息,本文档可能会包括由机器自动从英文原文翻译的内容。如需更多信息,请参阅此说明。