你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 上的 Red Hat Enterprise Linux 的安全注意事项

本文介绍在 Red Hat Enterprise Linux (RHEL) 环境中实现安全性的注意事项和建议。 若要为 RHEL 系统提供安全性,请使用针对多个区域的方法。 安全性要求所有团队协同工作,以保护工作负荷。 部署的产品或平台不能完全确保环境的安全性。

实施并遵守一个严格的流程,包括行为、管理和工程组件。 在 Azure 登陆区域中部署 RHEL 时,需要评估多个安全因素。 若要创建安全且可复原的云环境,需要实现应用 Azure 和 Red Hat 两者安全机制的策略性方法。

设计注意事项

若要在 Azure 或其他位置为 RHEL 系统提供安全性,请确保从经过验证和确认的内容开始。 在现代云环境中,二进制文件和代码可以来自各种各样的来源。 作为部署的首要考虑因素,请保护软件供应链。

强化映像

可以在 Azure Marketplace 和专用产品产品/服务部分找到 Red Hat 或 Red Hat Limited 在欧洲、中东和非洲 (EMEA) 区域发布记录的映像。 Red Hat 和 Microsoft 验证和确认这些映像,以确保源代码的完整性,并为 RHEL 操作系统实例提供安全的默认配置。

为了满足组织对目标工作负荷的运行时安全要求,请正确配置从这些映像构建的实例。 为了帮助简化你的安全措施,请使用来自 Azure Marketplace 的 Red Hat 发布的映像来部署 RHEL 系统。 遵循 Red Hat 指南,了解工作负荷的系统和映像规范。 为了减少攻击面,请从最小的、Azure 优化的 RHEL 映像开始。 不必从该基础映像创建和配置所有实例。 为了满足各种强化要求,建议你使用可组合组件来构建特定于工作负荷的映像。

还可以使用 GitOps 做法开发映像管道。 此方法是一种优越的方法。 这些管道将可组合组件(定义为配置代码)分层到初始映像上,以生成工作负荷映像。

若要有效使用映像,请实现以下注意事项:

  • 创建一个遵循最低特权模型的强化基础映像,以提供坚实的基础。

  • 将软件和安全配置分层,以促进重用,并遵循标准操作环境和 DevSecOps 最佳做法

  • 使用图像复合模型来减少测试和鉴定工作量,并降低维护成本。

  • 使用复合模型来提高灵活性,加快新工作负荷的交付时间。

  • 自动执行模型映像的构建、测试和交付过程。

更新映像

还应定期更新映像。 临时实例可能具有更新的映像,因为你通常从当前映像部署它们。 但是,应通过使用中央修补系统定期更新长期存在的实例。 此步骤可帮助你调查环境中已修补系统的状况。 将部署可变性降到最低时,会减少监视干扰,并且可以更准确、更快速地识别异常。 这种方法提高了自动检测和补救工作的成功率。

为了保持严格的访问控制,可以考虑实施集中式系统。 许多开源项目和商业现成应用程序提供了使用本地帐户或本地部署公钥的简单部署示例。 这些示例可以提供安全的配置;但随着云占用空间的扩展,即使在自动化的情况下,维护本地化配置的努力也可能成为问题。 自动化负荷随每个实例呈线性增长;但安全日志记录和监视负荷可能会以指数级增长。 这些变化给计算、存储和分析资源带来了过重的负担。 集中式访问控制可减少配置点,从而减少自动化和日志记录负荷,最大限度地减少更改,并简化可审核性,同时保持对资源访问的严格控制。

在工作负荷需要符合加密标准和符合性基线的区域,请考虑使用支持开放标准的集成平台功能,来确保与云工作负荷的兼容性。 Red Hat 和 Microsoft 遵守并参与全球标准机构,并提供适当的工具。 例如,单个实例中的许多配置文件都有系统服务和应用程序的加密密码配置。 差异很容易发生在目标工作负荷内的系统之间,也很容易发生在舰队之间。 若要定义合规性度量,请考虑使用开放标准。 Red Hat 和 Microsoft 工具都使用标准化文件格式来提供最新的漏洞和配置数据。 Red Hat 为 Red Hat 平台组件提供来自 Red Hat 产品安全团队的最新开放式漏洞和评估语言 (OVAL) 提要。

Azure 提供了使用云特定功能并维护安全性和合规性最佳做法的独特机会。 Azure 基础结构中的安全功能和服务包括:

  • VM 的受信任启动:保护实例 BIOS 和配置。 可以使用 VM 的受信任启动来保护启动过程,从而确保 VM 使用经过验证的代码启动。

  • Azure 密钥保管库中的 Azure 磁盘加密:加密静态数据。 若要保护静态数据,请使用密钥保管库中的 Azure 磁盘加密来管理加密密钥和机密。 密钥保管库服务支持两种类型的容器:保管库和托管硬件安全模块 (HSM) 池。 可以将软件、HSM 支持的密钥、机密和证书存储在保管库中。

  • Microsoft Defender for Cloud:确保集中式系统审核。 Defender for Cloud 可以为统一的安全管理和威胁防护提供集中式视区。

设计建议

在 Azure 上设计 RHEL 环境时,请利用 Red Hat 本机安全功能和 Azure 云安全功能来确保可靠、安全且高效的部署。 从使用已知的经过验证的二进制文件加固和构建的映像开始。 Azure Marketplace 中的 RHEL 映像针对云性能和安全性进行了优化。 如果你对你的业务有特定的安全要求,则应从你自己的自定义强化映像开始,这些映像是你从 Red Hat 来源的二进制文件构建的。 Red Hat Satellite 可以维护和管理 Red Hat、Microsoft 以及合作伙伴代码或你的自定义应用程序代码。 Satellite 可以通过托管内容凭据和签名验证代码。 RHEL 从源到磁盘验证软件的一致性和真实性。

使用 Azure 和 Red Hat 管理工具开发自动化工作流时,Red Hat 建议使用经过认证的 Ansible 自动化平台集合

确保工作流:

  • 生成、维护和测试基线和工作负荷映像。
  • 测试和部署临时实例。
  • 修补循环测试并交付永久性 VM 实例。
  • 使用自动化管道。 自动化管道显著减少了管理工作,确保了一致的策略执行,改进了异常情况检测,并加快了整个 RHEL 登陆区域的修正。

还可以考虑使用 Azure Compute Gallery。 可以使用组织中使用的所有必需的安全机制生成 Red Hat 映像,并创建该 VM 的映像。 然后,可以在 Azure 环境中跨订阅和区域共享符合安全标准的映像。 还可以使用版本控制对 VM 映像进行更精细的控制。 这种方法可以帮助你统一在环境中使用的计算实例安全修补程序和工具。

考虑将 Azure 更新管理器作为更新管理过程的一部分来实现。 更新管理器是一项统一的服务,可用于监视部署中的更新。 使用更新管理器调查 Azure、本地和其他云中的整个计算机舰队。

管理标识和访问

若要集中实施严格的访问策略,请集成 Red Hat Identity Management (IdM)。 IdM 使用信任和 OpenID Connect 集成将以下功能的本机 Linux 实现整合到企业安全模型中,而无需进行凭据同步。

  • 基于角色的访问控制 (RBAC)
  • 基于主机的访问控制
  • 特权提升策略
  • SELinux 用户映射策略
  • 其他关键 Linux 服务

与传统的 Linux 部署相比,这种方法具有以下优势,例如:

  • 通过减少自动化接触点简化更改控制。
  • 减少了与日志记录和分析相关的负荷。
  • 符合身份验证审核要求。
  • 策略一致性。

IdM 为管理集中式 Linux 安全策略提供了优势。

Red Hat 建议在所有基于 RHEL 的实例(包括开发、测试和生产环境)上启用和运行 SELinux。 默认情况下,所有 Red Hat 生成的映像和安装都可以在强制模式下运行 SELinux。 在设计工作负荷部署时,可以在许可模式下为整个实例或实例中的单个服务运行 SELinux。 然后,开发、安全和运营团队可以确定应用程序的访问特征,并将审核日志数据与 SELinux 工具配合使用,为目标工作负荷生成适当的 SELinux 策略。

SELinux 策略生成工具可以生成基于 RPM 的策略文件,将其包含在内容存储库中,用于标准化映像部署。 开发、安全和运营团队可以在管道内以迭代方式向上游交付项目。 测试确定未生成 SELinux 违规后,可以将 SELinux 配置设置为强制模式。 在生产过程中产生的 SELinux 违规表示与可接受的应用程序行为存在重大偏差。 应标记并调查这些违规行为。 使用 SELinux 提供全面的可见性和主动威胁管理。

若要定义分配给 RHEL 计算机的 RBAC 角色,请了解团队的角色和职责。 相关团队可能需要对虚拟机 (VM) 提升的访问权限。 考虑使用虚拟机参与者、虚拟机读取者以及类似的角色来访问 VM。 如果不需要长期访问权限,请考虑实时访问。 如果 RHEL 系统必须通过 Azure 进行身份验证,请考虑托管标识。 系统分配的托管标识提供了比服务主体更高的安全性,并与 VM 资源相关联。 除了 RBAC 角色之外,还可以考虑为需要访问 Azure 环境的人员提供条件访问。 使用条件访问根据位置、IP 地址和其他条件限制用户对 Azure 环境的访问权限。

使用防病毒软件

确保 RHEL 计算机上安装了适当的防病毒软件。 考虑在 Linux 上安装 Microsoft Defender for Endpoint,以防止最新漏洞。 请记住,不能在用于托管 SAP 数据库的 RHEL 计算机上启用 Defender for Cloud Standard。 确保每个 RHEL 计算机和工作负荷都可以运行终结点保护软件。

管理机密

Red Hat 建议尽可能在所有实例上设置系统范围的加密策略。 可以通过多样性来描述云部署的特点。 工作负荷团队选择自己的库、语言、实用工具和加密提供程序,来满足其特定解决方案的需求。 标准实现、应用程序组件分解、可组合性和其他技术可以减少可变性,但你可以在给定实例内的多个位置为应用程序和服务配置加密设置。

合理地配置新组件需要付出巨大的努力,并且通常需要深厚的加密知识。 过时或配置不当的加密策略会带来风险。 系统范围的加密策略使核心加密子系统的配置保持一致,这些子系统涵盖了传输层安全性 (TLS)、Internet 协议安全性 (IPSec)、域名系统安全扩展插件 (DNSSEC) 和 Kerberos 协议。 RHEL 系统范围的加密 DEFAULT 策略实现保守的配置,该配置通过禁用旧通信协议(如 TLS v1.1 和早期版本)来消除各种威胁。 FUTURE 和 FIPS 策略提供更严格的配置。 还可以创建自定义策略。

可以整合 RHEL 系统审核和安全合规性工具。 专注于符合行业标准的自动扫描和修正。

  • RHEL 审核审核守护程序为 auditd,中央日志记录守护程序为 journald。 Azure Monitor 可以从 auditdjournald 引入数据,以监视 RHEL 系统安全事件,并向 Microsoft Sentinel 或其他安全信息和事件管理 (SIEM) 服务提供数据。

  • 需要满足国防信息系统局安全技术实施指南 (DISA-STIG) 合规性的 RHEL 系统需要高级入侵检测环境 (AIDE) 实用工具。 应将 AIDE 输出记录到 Azure。

监视并与 Ansible 自动化平台集成,以识别、发出警报并修正关键系统文件。

在所有基于 Azure 的 RHEL 实例上使用免费的操作系统级组件。

  • 强制实施代码执行策略:使用 fapolicyd 守护程序来限制可在 RHEL 实例中运行的应用程序。

  • 管理实例入口流量和出口流量:将 firewalld 与 Azure 网络安全组 (NSG) 一起使用,可以有效地管理 VM 的北向和南向流量。

  • 通过自动化集中管理配置:使用 GitOps 方法确保在部署期间以及 RHEL 工作负荷的第 2 天操作中持续进行一致的配置管理。

  • 为政府工作负荷实现符合 FIPS 标准的模式:确保指定的 RHEL 实例在 FIPS 模式下运行,以符合加密标准。 使用 Azure 合规性产品实现全面的合规性状况。

  • 始终运行 SELinux:在宽松模式下使用 SELinux 来识别工作负荷访问配置文件,并确保在 RHEL VM 上的强制模式下运行 SELinux 的正确策略。 SELinux 显著减少了 Azure 中运行的应用程序和服务的攻击面。

通过 Red Hat Satellite 将 RHEL 服务器注册到 Red Hat Insights。 Red Hat Insights 利用了 Red Hat 对问题解决数据库的分析。 Insights 使用此分析在部署和配置问题影响运营之前主动识别并生成补救措施。 此策略可增强安全状况和运营效率。 每个 RHEL 订阅都包含 Insights。 所有基于 RHEL 的订阅都包含 Red Hat Satellite 订阅。 或者,你可以使用云访问 RHEL 订阅购买 Red Hat Satellite 订阅。

注意

Insights 在 Azure 之外发送遥测系统信息。

配置网络

可以将 NSG 应用于网络接口级别或子网级别。 建议使用子网级别,除非特定要求需要在网络接口级别使用 NSG。 此方法简化了网络通信管理。 可以使用应用程序安全组来允许应用程序通信,从而全面地划分子网之间的通信。 确定哪种方法最适合你的方案,并确保 RHEL 计算机能够适当访问 Internet 以获取所需的存储库。 可能需要在最封闭的环境中为这些存储库分配 URL。 专用终结点确保 Azure 资源默认情况下只能接收来自 Azure 网络的流量,包括来自本地的连接(如果你有 Azure 网关)。

实现 SIEM 或 SOAR 工具

对于 RHEL 系统的安全业务流程、自动化和响应 (SOAR) 工具或 SIEM 工具,请考虑使用 Microsoft Sentinel。 Microsoft Sentinel 使用 AI 来调整其检测系统威胁的方式。 可以通过 Runbook 自动响应攻击。 使用 Microsoft Sentinel 进行主动威胁检测、威胁搜寻和威胁响应。

考虑机密计算

RHEL 为某些 RHEL 操作系统选项提供机密映像。 考虑机密计算用例

后续步骤