6个需要避免的常见容器安全错误

随着越来越多的组织将数据和工作负载转移到了云上,许多组织都开始依赖于容器来封装代码及其依赖的软件单元,以便在从一个计算环境迁移到另一个计算环境时,应用程序能够可靠地运行。克莱姆森大学遗传与生物化学系的云架构师Cole McKnight表示,容器化被誉为是一种以安全方式部署应用程序和服务的强大技术。

[[326616]]

Docker和Singularity等容器引擎提供了一种方法来实现和分发给定应用程序的最佳实践安全策略,而不是依赖于单个的用户来配置安全安装,McKnight说。“容器编排平台,如Kubernetes、Mesos或Docker Swarm,都具有集成的安全机制来专门用于部署和执行容器,”McKnight说。“结果是可以得到一个易于配置的可用于开发和部署容器的生态系统。”

虽然这些技术抽象了交付安全应用程序和服务的传统复杂性,但一些开发团队将这种安全性的可能性也解释为了一种保证,McKnight说。问题是,容器实现不是万无一失的,团队在使用它们时所犯的错误依然可能会产生而不是解决安全问题。

1. 过分关注容器本身

“在实现安全容器时,最常见的错误是只关注容器本身,”McKnight说。维护映像安全性的最佳实践非常重要,他说,但开发人员通常只会将重点放在映像的安全性上,而不考虑执行环境。

“容器内的任何安全措施都无法保护它免受宿主的攻击,”McKnight说。“承载容器引擎的每台计算机必须在每一层上都受到保护,以防出现任何传统上可利用的漏洞。”

必须将容器引擎和容器编制平台(如果适用的话)配置为正确使用集成的容器安全机制,McKnight说。“因此,容器安全需要从主机的操作系统和网络开始,”他说。

2. 假设代码库是安全的

独立网络安全顾问Tony Asher表示,在部署容器时,一些组织会错误地将代码库包括进来,并认为它们是安全的。“这包括了开发套件中的库,”Asher说。“更重要的是,第三方库也经常会被直接引入以加速开发。”

安全性问题指的是这些应用程序代码库中可能存在漏洞,Asher说。“编译应用程序并将它们发布到生产容器中,可能会通过漏洞利用而引入严重的风险。”

为了解决这个问题,Asher建议公司在考虑导入第三方库时,将库限制在满足应用程序容器成功标准所需的范围内,扫描代码寻找漏洞,并应用安全审查流程。

组织还需要开发一个正式的安全体系结构审查流程。“这个流程应该包括检查符合风险标准的容器,由一组人来检查,”Asher说。这提供了问责制,有助于确保风险得到考虑。

3. 给予容器不必要的特权

风险投资公司ClearSky的管理合伙人Jay Leek说,给容器过多的特权是很常见的,而攻击者可以滥用这些特权来利用容器本不应该访问但确实可以访问的资源。“在这里应该应用最小特权原则,并且执行运行时行为监视,以便能够确保检测到任何非必要的应用程序特权的滥用。”Leek说。

一种常见的做法是在执行环境中使用特权来运行容器,McKnight说。“取决于主机的软件堆栈,这可能意味着不同的东西,”他说。“但是在宿主环境中给容器不必要的特权会导致问题的升级,不仅会导致容器被破坏,也可能会导致主机被破坏。”

正如容器内部的安全性无法保护它不受其主机的攻击一样,主机内部的安全性也无法保护其免受特权容器的利用。“容器的设计应该确保其运行方式不会在主机环境中为其提供不必要的特权。”McKnight说。

当需要特权时,应该以精细的粒度谨慎地给予特权,McKnight说。“最佳实践是避免在宿主环境中提供具有清除权限的容器。”

4. 过度暴露容器

同样,需要在执行时公开给公共网络的容器也需要以同样的心态进行设计。“应该只打开绝对必要的通道,而不是设计一个让容器暴露于潜在攻击的全面开放的策略。”McKnight说。

在实现容器本身时需要考虑很多问题。“容器是通过一系列命令构建的,这些命令会在映像规范中被定义,并在映像构建时以root权限运行,”McKnight说。“开发人员通常会在部署和执行容器时错误地保留这些权限。”

如果在运行时使用root权限运行容器内的进程,则该容器内的数据和软件将受到危害。为了解决这个问题,要在容器中运行的命令应该是由非root用户在没有权限的情况下运行的(如果可能的话),以避免容器中的任何权限提升。

在网络方面,也需要仔细考虑容器的数据和进程暴露给其他实体的方式。“容器的安全需要再一次从传统的操作系统和网络安全开始,”McKnight说。“必须检查容器与外部卷、网络和进程之间的任何交互。”

5. 未能正确地审查映像

在部署容器时,组织通常忽略的另一个因素是它们所基于的映像。“团队通常会犯这样的错误:在将另一方开发的映像集成到他们的解决方案之前,没有对其进行适当的审查。”McKnight说。

在从公共注册中心部署容器或将其用作基础映像之前,请对其进行扫描,以查找恶意软件和漏洞。此外,组织也应该让有经验的开发人员彻底检查映像,找出漏洞,McKnight说。

“假定推送到公共注册中心的映像是安全的,这是非常危险的,特别是在从这些映像构建额外的映像时。”McKnight说。

6. 不尊重不可变映像的原则

不可变的映像是不可以改变的,Asher指出。“这是Docker、Kubernetes和其它容器解决方案的原则,”他表示。“在internet上部署系统和数据时(internet是不受信任的媒体),需要创建一个能够确保完整性的流程。”

不可变的映像提供了一些好处,例如可预测、可销售以及提供了自动恢复能力。他们还提供了完整性,Asher说,这是安全的核心目的之一。

“当生产容器不遵循不可变的原则时,应用程序将可以连接到它们并进行更改,”Asher说。“这种行为引发了多重安全隐患。具体来说,它会破坏容器的完整性。”

最令人担忧的风险之一是恶意参与者会修改容器以包含恶意代码。这可能会对公司造成重大影响,Asher说。监视容器的完整性可以极大地降低这种风险。

“你需要改进和纠正部署管道,以防止生产容器发生变化,”Asher说。“确保在拥有质量保证的测试环境中进行更改,确保这些更改能够得到批准,然后部署新的不可变映像来替代旧的映像。”

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/135054.html<

(0)
运维的头像运维
上一篇2025-03-01 10:51
下一篇 2025-03-01 10:52

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注