AWS已宣布其Bottlerocket容器操作系统全面上市。
Bottlerocket是专门设计用于运行软件容器的开源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上。