AWS完整列出的開源Linux發行版
該Linux發行版不僅旨在運行容器,以便應用程序可以在多個計算環境中運行,而且還可以運行一系列其他工作負載,以支持大量用例面臨的難以管理的挑戰。根據AWS的說法,在開發Bottlerocket時,AWS放棄了許多標準Linux組件,僅保留了運行基于容器的工作負載所需的組件,從而創建了易于管理且更安全的操作系統。
因為Bottlerocket使用簡化的代碼庫來減少潛在的系統漏洞,從而提高了安全性。例如,AWS還采取了許多其他保護措施來幫助系統預防威脅。
AWS工程師使用Rust語言編寫了大部分的Bottlerocket。與主要編寫Linux內核的C語言相比,它不容易出現緩沖區溢出漏洞。
此外,AWS還增強了Bottlerocket抵御持續性威脅的能力。持久性威脅(也稱為持久性惡意軟件)是惡意程序,它們可以訪問操作系統的關鍵組件并使用這些組件隱藏其蹤跡。
據報道,Bottlerocket使用一種稱為dm-verity的Linux內核功能來降低此類攻擊的風險。此功能可以檢測到未經許可而可能已修改的操作系統的某些部分,這是發現隱藏的持久威脅的可靠方法。
AWS說,Bottlerocket還實施了一種操作模式,通過阻止管理員連接到生產服務器來進一步提高安全性。管理員帳戶通常具有對云實例的廣泛訪問權限,這使它們成為黑客的目標。
登錄單個Bottlerocket實例的行為對于高級調試和故障排除而言是一項不尋常的操作。 Bottlerocket的另一個目標是簡化操作系統更新,從而簡化容器的操作。
將操作系統更改部署到運行任務關鍵型應用程序的容器環境是有風險的,因為部署問題可能會導致停機。考慮到這一點,AWS在Bottlerocket中構建了一項稱為原子更新的功能,該功能使管理員可以在操作系統更改導致錯誤時安全地撤消更改。
目前,Bottlerocket已在Github上開源,包括標準的開源代碼組件,例如Linux內核,容器化容器運行時等。所有設計文檔,代碼,構建工具,測試和文檔都托管在GitHub上。
