"简而言之,RHEL的真正价值在于其免费开放性。"这句话虽看似平常,却蕴含着深意。
Red Hat Enterprise Linux(RHEL)以其卓越的稳定性和一致性,为应用程序提供了全方位、全生命周期的托管支持,从而极大地简化了开发体验。对于用户而言,如何充分利用RHEL并确保开发成果在迁移至生产环境时能够顺利无误,成为了一个值得思考的问题。最近,红帽公司做出了一个具有里程碑意义的决定,将RHEL免费开放给个人生产用户和符合特定条件的开发者团队。这一举措不仅为整个RHEL社区带来了革命性的变化,更让那些过去只能使用下游或“重现版”RHEL的个人和开发者能够真正体验到原汁原味的系统。接下来,我们将深入探讨RHEL为开发者带来的额外益处。
“简而言之,免费RHEL才是真正的RHEL。”这句话虽然看似平淡无奇,但却蕴含着深刻的含义。红帽公司长期以来一直公开发布操作系统的源代码,其覆盖范围远超GNU公共许可等各类开源许可的要求。因此,其他组织和个人得以利用这些宝贵的源代码来构建RHEL的替代方案,如CentOS Linux和Scientific Linux等。然而,随着RHEL对个人及开发团队的免费开放,开发者们现在可以直接使用RHEL来构建应用程序,并在个人生产环境中免费部署。
在过去25年的客户交互中,红帽积累了丰富的操作系统运营知识。这些知识经过提炼后,转化为基于AI/ML的云服务——Red Hat Insights。该服务能显著减轻RHEL的管理负担。在RHEL全面免费之后,合格的开发团队和个人将能够享受到Insights带来的便捷服务,并获得相应的认证与技能资质。
那么,对于那些源代码相同且经过RHEL认证的衍生版本,它们是否也能获得相应的认证呢?这无疑是一个值得探讨的问题。
红帽公司投入了大量资源和时间,以满足各行业以及国际和国内法规的认证与许可要求。这些要求往往与特定的RHEL二进制版本或测试/验证条件紧密相关。然而,无论是二进制文件还是特定的测试条件/结果,都难以轻松重现。因此,相关认证往往无法直接适用于采用相同源代码的其他衍生版本。此外,除了源代码的差异外,各同源操作系统之间还存在配置、库和模块的差异,强行给予认证将失去实际意义。
但问题在于,各版本间的源代码是否仍然相同?实际上,尽管源代码大体相同,但二进制文件会因构建过程、编译器版本及配置选项的不同而存在差异。这些差异加上对RHEL发行版的优化,都会对二进制文件产生重大影响。红帽公司通过强大的流程和精力投入,维持了一套包含编译器、工具和清洁底层架构的完整供应链,旨在为用户群体建立信心,证明红帽核心操作系统的稳定性值得信赖。
那么,通过认真重构能否解决问题呢?虽然重构至关重要,但我们必须意识到,除非能够准确选取完全相同的编译器版本、优化和软件包组合,否则二进制文件将不可避免地存在差异。例如,尽管CentOS Linux包与RHEL包相似,但二者的编译库与可执行文件仍存在差异。这种相似性并不等同于一致性,在认证方面具有重要意义。这也是RHEL发布认证硬件、软件和应用程序的根本原因。
新的开发者计划允许直接获取RHEL二进制文件,这意味着在投入生产或寻求支持时,开发者能够直接更新订阅,无需重新安装任何操作系统、应用程序或其他组件。一切都已准备就绪,可直接使用。
最近,GSA的FedRAMP项目对CentOS Linux的加密模块问题进行了明确阐述。CentOS Linux,作为RHEL的下游衍生版本,在重构与重新编译RHEL加密模块方面付出了努力。然而,值得注意的是,CentOS上运行的Red Hat加密模块并未通过FIPS-140验证。因此,FedRAMP无法为CentOS(包括CentOS 7)上的这些模块提供FIPS-140验证保证。
尽管源代码可能完全一致,但二进制文件之间的差异却可能显著。这引发了一个关键问题:在高度相似的二进制文件之间找出兼容性差异,正是认证工作的核心所在。这就像是在遵循食谱制作蛋糕的过程中,尽管每个人都能尝试,但最终成品往往与食谱中的图片大相径庭。而认证则是对实际成品的验证,它参照食谱但并不局限于食谱,旨在为用户提供符合或优于既有标准的解决方案,从而赢得他们的信任。
安全与信任紧密相连,其中二进制文件的保障至关重要。以几个具体案例为例,美国国家标准与技术研究院(NIST)管理的加密模块验证计划(CMVP)负责验证模块的二进制文件是否符合联邦信息处理标准140-2与140-3。在此计划下,提交的加密模块将接受第三方的严格测试与审查,以确保其符合既定的FIPS标准。只有通过这一审查过程的模块,才能被认为是可靠且能够正确运行的。
值得一提的是,RHEL的多个发行版及库都已成功通过了此类验证。
NIST将未经验证的密码技术视为未对信息或数据进行保护,即视为以未保护明文形式使用。若机构声称其信息或数据已加密保护,则必须符合FIPS 140-2(有效期至2026年9月22日)或FIPS 140-3(自2020年9月22日起)的标准。使用加密技术时,必须进行验证;若加密模块未通过审查,则不得使用。
尽管如此,有些组织可能选择忽视FIPS验证,但这样做存在风险,因为他们不能简单地假定未经验证的加密模块默认满足FIPS要求。随着供应链安全问题的日益凸显,安全管理者们越来越倾向于避免使用来源不明且未经验证的技术方案。
此外,国防信息系统局(DISA)与供应商合作发布了针对各供应商产品的安全技术实施指南(STIG)。DISA还维护着一套Linux/Unix STIG内容列表,其中RHEL多次出现。美国国防部的多项计划都曾对STIG进行全面测试和/或操作,以证明系统变更与配置符合安全控制要求。值得注意的是,指南中明确禁止将STIG与某些衍生操作系统共同使用。因此,RHEL STIG不适用于CentOS Linux,RHEL的安全测试结果仅限于RHEL自身。将测试结果推广至衍生操作系统属于一类安全发现(CAT 1),即最高严重性级别,必须立即处理。
Red Hat向个人及开发团队免费开放RHEL,实现了Red Hat技术储备的大众化推广。然而,这并不意味着RHEL Insights等衍生系统所具备的成果也能直接应用于个人及团队。对于某些特定用例,此次免费开放可能不会产生直接影响。因此,我们需要明确区分认证与许可用例的不同,以便更好地理解和利用Red Hat免费开放RHEL所带来的价值。当然,衍生系统供应商可以主动申请相同的认证与许可,但必须清楚地表明,他们的版本并不直接继承RHEL的认证。