AWS已宣布其Bottlerocket容器操作系統(tǒng)全面上市。 Bottlerocket是專門設計用于運行軟件容器的開源Linux發(fā)行版。
該Linux發(fā)行版不僅設計為運行容器,使應用可以在多個計算環(huán)境中運行,而且還可以運行一系列其他工作負載,以支持大量用例所面臨的組件難于管理的挑戰(zhàn)。
據(jù)AWS介紹,開發(fā)Bottlerocket時,AWS舍棄許多標準Linux組件,只保留了運行基于容器的工作負載所需的組件,從而創(chuàng)建了一個易于管理且更安全的操作系統(tǒng)。因為Bottlerocket采用精簡的代碼庫,來減少潛在的系統(tǒng)弱點,從而提升了安全性。
比如,AWS還采取了許多其他防護措施來幫助系統(tǒng)阻止威脅。AWS的工程師用Rust語言編寫了Bottlerocket的大部分內容,與主要編寫Linux內核的C語言相比,它不容易發(fā)生緩沖區(qū)溢出漏洞。
此外,AWS還增強了Bottlerocket抵抗持久性威脅的能力。持久性威脅(也稱為持久性惡意軟件)是一種惡意程序,可以獲取對操作系統(tǒng)關鍵組件的訪問權并利用這些組件隱藏其蹤跡。
據(jù)介紹,Bottlerocket通過使用一種名為dm-verity的Linux內核特性來降低這種攻擊的風險。該功能可以檢測操作系統(tǒng)的某些部分,可能在未經(jīng)許可的情況下被修改,這是一種發(fā)現(xiàn)隱藏的持久性威脅的可靠方法。
AWS表示,Bottlerocket還實施了一種操作模式,通過阻止管理人員連接到生產服務器,進一步提高了安全性,管理員賬戶通??梢詮V泛訪問云實例,這使他們成為黑客的目標。登錄到單個Bottlerocket實例的行為是為了高級調試和故障排除而進行的一種不常見的操作。
Bottlerocket的另一個目標是簡化操作系統(tǒng)更新,從而簡化容器的運行。將操作系統(tǒng)更改部署到運行任務關鍵型應用程序的容器環(huán)境是有風險的,因為rollout的問題可能導致停機??紤]到這一點,AWS在Bottlerocket中建立了一個名為原子更新(atomic updates)的功能,該功能允許管理員在操作系統(tǒng)更改導致錯誤時安全地撤銷更改。
目前,Bottlerocket已經(jīng)在Github開源,包括標準的開源代碼組件,如Linux內核,容器化容器運行時等。還有所有設計文檔,代碼,構建工具,測試和文檔都托管在GitHub上。