關(guān)于免費(fèi)的RHEL,這些你需要知道
Red Hat Enterprise Linux(RHEL)以穩(wěn)定且一致的方式為應(yīng)用程序提供全生命周期托管支持,極大簡(jiǎn)化了用例開發(fā)體驗(yàn)。而作為用戶,我們也應(yīng)主動(dòng)積極如何在開發(fā)中有效運(yùn)用RHEL,以可預(yù)測(cè)且可重復(fù)的方式保證開發(fā)成果在轉(zhuǎn)移至生產(chǎn)環(huán)境時(shí)不會(huì)發(fā)生任何意外。
近來(lái),紅帽正式宣布將Red Hat Enterprise Linux (RHEL) 面向個(gè)人生產(chǎn)用戶以及部分符合特定要求的開發(fā)者團(tuán)隊(duì)免費(fèi)開放。這不僅給整個(gè)RHEL用戶社區(qū)帶來(lái)顛覆性變化,同時(shí)也讓之前只能使用下游或“重現(xiàn)版”RHEL的個(gè)人及開發(fā)者真正獲得原汁原味的系統(tǒng)體驗(yàn)。在本文中,我們一起聊聊RHEL給開發(fā)者帶來(lái)的額外助益。
"簡(jiǎn)單來(lái)說(shuō),免費(fèi)RHEL才是RHEL。"這看著像句廢話,但背后卻有不少潛臺(tái)詞。
多年以來(lái),紅帽一直在公開發(fā)布操作系統(tǒng)源代碼,且覆蓋范圍遠(yuǎn)超GNU公共許可(GPL)等各類開源許可的要求。因此,其他各方可以使用這批寶貴的源代碼重構(gòu)RHEL的各類替代方案——CentOS Linux、Scientific Linux等就是典型代表。如果需要,開發(fā)者及個(gè)人完全可以使用這些“重現(xiàn)版”系統(tǒng)構(gòu)建應(yīng)用程序,并確保開發(fā)成果能夠在RHEL上穩(wěn)定部署。但隨著此次面向個(gè)人及開發(fā)團(tuán)隊(duì)的正式開放,RHEL將可直接供大家用于構(gòu)建應(yīng)用程序、并免費(fèi)在個(gè)人生產(chǎn)場(chǎng)景下進(jìn)行部署。
過(guò)去25年間,紅帽在與眾多客戶的交互當(dāng)中積累起關(guān)于操作系統(tǒng)方案的廣泛運(yùn)營(yíng)知識(shí)。經(jīng)過(guò)提煉,這些知識(shí)化為基于AI/ML的云服務(wù),即Red Hat Insights。Red Hat Insights能夠顯著減輕RHEL帶來(lái)的管理負(fù)擔(dān)。而在此次RHEL全面免費(fèi)之后,各合格開發(fā)團(tuán)隊(duì)及個(gè)人都能獲得Insights帶來(lái)的便利,其成果也將獲得相應(yīng)的認(rèn)證與技能資質(zhì)。
如果源代碼相同、又經(jīng)過(guò)RHEL認(rèn)證,那么各衍生版本是否相當(dāng)于同時(shí)得到了認(rèn)證?
作為一家企業(yè),紅帽投入了大量時(shí)間與資金才得以滿足各行業(yè)、國(guó)際與國(guó)內(nèi)法規(guī)提出的認(rèn)證與許可要求。具體要求往往與特定RHEL的二進(jìn)制版本或測(cè)試/驗(yàn)證條件相關(guān)。在大多數(shù)情況下,無(wú)論是二進(jìn)制文件還是特定測(cè)試條件/結(jié)果都無(wú)法輕松重現(xiàn),因此相關(guān)認(rèn)證并不能直接適用于采用相同源代碼的其他衍生版本。而且除了源代碼之外,各同源操作系統(tǒng)之間還存在配置差異、庫(kù)差異與模塊差異,強(qiáng)行給予認(rèn)證將缺乏現(xiàn)實(shí)意義。
但是,各版本間的源代碼還是相同的嗎?
只能說(shuō)大體相同,但二進(jìn)制文件會(huì)存在差別。這種差異源自構(gòu)建過(guò)程、編譯器版本與配置選項(xiàng),再加上對(duì)RHEL發(fā)行版做出的具體優(yōu)化——這一切都會(huì)給二進(jìn)制文件造成重大影響。紅帽投入了大量精力并配合強(qiáng)有力的流程,才維持起目前這套包含編譯器、工具與清潔底層架構(gòu)的完整供應(yīng)鏈。而這一切,都是為了在用戶群體內(nèi)建立信心,證明紅帽核心操作系統(tǒng)穩(wěn)定且值得信賴。
那么,認(rèn)真進(jìn)行重構(gòu)能不能解決問(wèn)題?
重構(gòu)當(dāng)然應(yīng)該認(rèn)真謹(jǐn)慎,但這里也要提醒大家,除非準(zhǔn)確選取完全相同的編譯器版本、優(yōu)化與軟件包組合,否則二進(jìn)制文件必然會(huì)有所不同。例如,CentOS Linux包與RHEL包非常相似,但二者的編譯庫(kù)與可執(zhí)行文件仍有區(qū)別。這就是相似,但不相同。這一點(diǎn)在認(rèn)證方面非常重要,也是RHEL發(fā)布認(rèn)證硬件、軟件與應(yīng)用程序的根本原因。而新的開發(fā)者計(jì)劃允許直接獲取RHEL二進(jìn)制文件,就是說(shuō)在需要投入生產(chǎn)或獲取支持時(shí),能夠直接更新訂閱而不再重新安裝任何操作系統(tǒng)、應(yīng)用程序或者其他組件。一切都已準(zhǔn)備就緒,可以直接使用。
最近,GSA的FedRAMP項(xiàng)目也就此事對(duì)CentOS Linux做出重申。作為RHEL的下游衍生方案,CentOS Linux社區(qū)致力于對(duì)RHEL的加密模塊進(jìn)行重構(gòu)與重新編譯。但是,CentOS上所運(yùn)行的Red Hat加密模塊并未經(jīng)過(guò)FIPS-140驗(yàn)證,因此FedRAMP無(wú)法在CentOS(包括CentOS 7)上對(duì)這些模塊做出FIPS-140驗(yàn)證保證。
源代碼完全一致,二進(jìn)制文件也大差不差,能有什么問(wèn)題?
源代碼一致、二進(jìn)制文件相似,但配套的軟件包仍然不同——這非常重要。認(rèn)證工作的核心,就是在兩種高度相似的二進(jìn)制文件之間找出兼容性差異。這事有點(diǎn)像照著食譜做蛋糕——雖然每個(gè)人都能嘗試,但最終成品往往與食譜里的圖片相差甚遠(yuǎn)。而認(rèn)證則像是對(duì)實(shí)際成品的驗(yàn)證,參照食譜但卻不限于食譜。在中立第三方的驗(yàn)證之下,符合或優(yōu)于某些既有標(biāo)準(zhǔn)的方案就會(huì)贏得用戶們的信任。但除非RHEL源代碼的各衍生重現(xiàn)版本也接受相同的認(rèn)證過(guò)程,否則我們絕不能說(shuō)其屬于認(rèn)證版本。
安全與信任緊密相關(guān),其中二進(jìn)制文件的保障至關(guān)重要。下面來(lái)看幾個(gè)具體案例。美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)負(fù)責(zé)管理著加密模塊驗(yàn)證計(jì)劃(CMVP),此項(xiàng)計(jì)劃負(fù)責(zé)驗(yàn)證模塊的二進(jìn)制文件是否符合聯(lián)邦信息處理標(biāo)準(zhǔn)140-2與140-3。提交至計(jì)劃的各加密模塊將經(jīng)過(guò)第三方的測(cè)試與審查,以驗(yàn)證其是否符合既定FIPS標(biāo)準(zhǔn)。只有通過(guò)審查,我們才能斷言相關(guān)模塊擁有可靠的正確運(yùn)行效果。
更重要的是,RHEL的多個(gè)發(fā)行版及庫(kù)都經(jīng)歷了這樣的驗(yàn)證。
NIST將使用未經(jīng)驗(yàn)證的密碼技術(shù),視為未對(duì)信息或數(shù)據(jù)加以保護(hù)——換言之,視為將數(shù)據(jù)以未保護(hù)明文形式使用。如果機(jī)構(gòu)稱其信息或數(shù)據(jù)受到加密保護(hù),則必須符合FIPS 140-2(有效期至2026年9月22日)或FIPS 140-3(自2020年9月22日起)。若需要使用加密技術(shù),則必須進(jìn)行驗(yàn)證。如果加密模塊未能通過(guò)審查,即代表不得使用該模塊。
大家當(dāng)然可以不理FIPS驗(yàn)證,但至少不能認(rèn)定未經(jīng)驗(yàn)證的加密模塊默認(rèn)滿足FIPS要求。隨著對(duì)供應(yīng)鏈安全問(wèn)題的持續(xù)關(guān)注,安全管理者們?cè)絹?lái)越抗拒使用來(lái)自未知來(lái)源、也未經(jīng)過(guò)任何驗(yàn)證的技術(shù)方案。
再來(lái)看一個(gè)例子。國(guó)防信息系統(tǒng)局(DISA)與供應(yīng)商合作發(fā)布了針對(duì)各供應(yīng)商產(chǎn)品的安全技術(shù)實(shí)施指南(STIG)。DISA還維護(hù)著一套Linux/Unix STIG內(nèi)容列表,RHEL在其中多次出現(xiàn)。美國(guó)國(guó)防部的多項(xiàng)計(jì)劃都曾針對(duì)STIG進(jìn)行全面的測(cè)試及/或操作,用以證明系統(tǒng)變更與配置切實(shí)符合安全控制要求。值得注意的是,指南中甚至明確禁止將STIG與某些衍生操作系統(tǒng)共同使用。也就是說(shuō),RHEL STIG不適用于CentOS Linux,RHEL的安全測(cè)試結(jié)果只適用于RHEL自身。將測(cè)試結(jié)果直接推廣至衍生操作系統(tǒng)屬于一類安全發(fā)現(xiàn)(CAT 1),即最高嚴(yán)重性級(jí)別。CAT 1問(wèn)題不存在爭(zhēng)議,必須立即處理。
RHEL向個(gè)人及開發(fā)團(tuán)隊(duì)的免費(fèi)開放實(shí)現(xiàn)了Red Hat技術(shù)儲(chǔ)備的真正大眾化推廣。RHEL Insights等衍生系統(tǒng)所不具備的成果將給希望簡(jiǎn)化運(yùn)營(yíng)、并保持合規(guī)性水平的個(gè)人及團(tuán)隊(duì)帶來(lái)巨大價(jià)值。當(dāng)然,對(duì)于某些特定用例,此次免費(fèi)開放也可能沒有任何影響?傊,請(qǐng)大家務(wù)必明確區(qū)分認(rèn)證與許可用例的區(qū)別,Red Hat免費(fèi)開放RHEL的意義也正在于此。衍生系統(tǒng)供應(yīng)商當(dāng)然可以主動(dòng)申請(qǐng)相同的認(rèn)證與許可,但絕不能直接宣稱RHEL認(rèn)證也適用于他們的版本。