OWASP 容器安全十大风险 V1.0容器安全十大风险前言简介威胁建模安全用户映射安全补丁管理策略网络分段和防火墙安全默认值和加固维护上下文安全机密信息保护资源保护容器镜像完整性和可信发布者不可变的范式日志容器安全十大风险前言简介实施容器化环境不仅改变了部署方式而且对系统和网络级别以及硬件和网络资源的使用方式都产生了巨大影响本文档可帮助您保护容器化环境及其安全性关于项目为您提供了规划和实施基于安全容器环境的个关键要点这个关键要点按相关性进行排序需要注意的是它们代表的不是文档中的应用软件安全风险而是容器环境下的安全控制这些控件范围从基线安全到更高级的安全控制项具体取决于您的安全要求读者可以把本文作为设计阶段的参考指南作为一份容器环境的系统规范用于容器环境的审计使用作为采购合同中的指定技术要求应用安全人们通常会误解在使用时对安全产生的正面或负面影响与其他任何容器化技术一样不能解决应用程序的安全问题它无法进行输入验证以及防止注入对于应用程序安全风险提供了许多其他有用的文档例如等容器安全关乎系统安全网络安全以及架构设计安全这表明在使用容器技术之前您最好以安全的方式规划环境如果您未进行安全规划仅在生产环境中推出容器后续在进行安全优化则比较困难或者需要花费大量成本来改变安全问题范式转变新载体从传统的角度来看尤其是在系统层和网络层容器在很大程度上改变了您的信息技术环境这些变化增加了新的潜在攻击面因此您须格外小心以免出现网络安全和系统安全问题除这些技术领域外还有两个非技术要点容器安全十大风险虽然技术已有多年历史但它仍是一项相对较新的技术如果减去技术成熟和应用的时间它的历时甚至更短每项新技术都需要时间直到该技术及其最佳实践的知识成为常识尽管容器解决方案可能为开发人员带来好处但从安全角度来看该技术并不简单不简单的技术就使安全性变得更加困难这又称为原则保持简单和便捷本文档为您提供了使用技术时在系统层和网络层中常见的安全缺陷以及如何预防这些安全缺陷的方案文档结构本文档首先分析了技术所造成的安全威胁作为后续安全的基础项目的原英文文档存在一定的内容缺失为确保本文的完整性和内容的连续性中文团队基于原英文版内容对原有缺失的部分做了原创性的补充具体如下说明用户映射安全补丁管理策略中文团队翻译中文团队翻译网络分段和防火墙中文团队翻译安全默认值和加固中文团队翻译维护上下文安全中文团队翻译机密数据保护中文团队原创资源保护中文团队翻译容器镜像完整性和可信发布者中文团队原创不可变的范式中文团队原创日志中文团队原创中文版说明本文为的中文版该版本尽量提供英文版本中的图片并与原版本保持相同的风格存在的差异敬请谅解容器安全十大风险为方便读者阅读和理解本文档中的内容本文对原英文版中的部分章节进行了补充和调整由于中文版团队水平有限存在的翻译和编制错误敬请指正如果您有关于本项目的任何意见或建议可以通过以下方式联系我们邮箱微信公众号项目领导者中文团队组长黄圣超成员谈超审查王颉汇编赵学文威胁建模保护信息技术环境的经典办法是从攻击者的角度观察并列举攻击向量这是本章将要涵盖的内容这些攻击向量将帮助你确定需要保护的信息有了这些攻击向量就可以将安全防御措施放在适当的位置以提供基线保护甚至更多详细信息请查阅后续章节中的十项安全防御下图列举了安全威胁概述容器安全十大风险威胁容器逃逸系统在这种情况下应用程序在某种程度上是不安全的因为可以进行某种访问因此攻击者可以尝试发起攻击例如从互联网成功上演攻击攻击者设法逃脱应用程序并最终潜伏在容器顾名思义此时容器包含了攻击者在第二阶段攻击者将尝试从主机视图或内核漏洞中作为容器用户逃离容器在第一个场景中攻击者最终将在主机上拥有用户特权在第二个场景中他将是主机系统的根用户这使他能够控制在该主机上运行的所有容器威胁通过网络运行的其他容器此场景的第一阶段与威胁相同攻击者也有访问权限但随后他选择通过网络攻击另一个容器该容器可以来自相同的应用程序也可以来自相同用户的不同应用程序或者来自于不同用户的多用户环境威胁通过网络攻击编译工具此场景的第一个攻击向量与前两个相同攻击者在容器内拥有访问权限但他选择攻击编译工具的管理接口或其他攻击表面管理后台在年几乎所有的编译工具都有一个安全弱点即默认的开放式管理接口开放是指在最坏的情况下一个没有身份验证的开放端口威胁通过网络攻击主机容器安全十大风险此场景的第一个攻击向量和前面提到的一样通过访问他从主机攻击一个开放端口如果这个端口仅受到弱保护或根本没有受到保护他将获得对主机的根用户访问权甚至更糟威胁通过网络攻击其他资源这基本上是一种将其他所有基于网络的安全威胁集于一身的安全威胁它的第一个向量和前面提到的一样通过访问他可以找到一个不受保护的基于网络的文件系统该文件系统在容器之间共享可供读取甚至修正数据另外诸如或这样的资源也可以通过容器形成攻击然而还有一种资源如果它被人为设置为开放也可以通过容器访问由于欺骗和交换此处需说明也有可能攻击者在他劫持的容器中安装了一个网络嗅探器这样他就可以读取来自其他容器的流量威胁资源匮乏基础向量是由于运行在同一主机上的另一个容器的安全条件造成的安全条件可能是由于另一个容器正在消耗资源这些资源可能是周期网络或磁盘也可能是容器挂载了一个主机文件系统攻击者正在将该文件系统填满从而导致主机出现问题进而影响到其他容器威胁主机入侵在前面的威胁中攻击者间接地通过主机入侵另一个或其他一些容器而在这里攻击者通过另一个容器或网络入侵主机威胁镜像完整性管道可能涉及几个节点其中迷你操作系统镜像从一个节点传递到下一个节点直至到达部署对于攻击者来说每一个节点都是一个潜在的攻击面如果开发者未一步步站稳脚跟并且没有完整地检查将要部署的内容是否应该部署则存在使用其恶意有效负载的攻击者镜像进行部署的威胁容器安全十大风险安全名称描述通常容器中运行的应用程序拥有默认的管理特权这违反了最小特权原则用户映射安全如果攻击者设法从应用程序跳出到容器中则会给其提供进一步扩展其活动的机会从主机的角度来看应用程序永远不应以身份运行主机容器技术编译工具解决方案和最小操作系统镜像将存在容器安全漏洞一旦补丁管理策略这些安全漏洞被公开及时处理这些安全漏洞对您的安全保障至关重要对于上面所有提到的组件在将他们投入生产之前您需要制定补丁管理策略即决定何时应用常规补丁和紧急补丁您需要预先设计好网络管理编译工具和主机网络服务的接口至关重要您需要在网网络分段和防火墙公开而不是暴露给整个网络安全默认和加固维护上下文安全络层进行安全防护还要确保所有其他基于网络的微服务仅向该微服务的合法使用者根据您选择的主机容器操作系统和编译工具您必须注意不安装或启动不需要的组件所有需要的组件也需要正确配置和锁定将一个主机上的生产容器与其他未定义或不安全的容器混合在一起可能会在您的产线上设置后门例如将前端与主机上的后端服务混合可能会产生负面的安全影响对自身或第三方对微服务的身份验证和授权需要提供密钥对于攻击者而言这些密机密信息保护钥可能使他能够访问您的更多数据或服务因此需要尽可能好的保护任何密码令牌私钥或证书资源保护由于所有容器共享相同的物理磁盘内存和网络这些物理资源需要得到保护即便单个容器无论是否故意失控也不会影响任何其他容器的资源容器安全十大风险容器镜像完整性和容器中的最小操作系统可以运行您的代码并且从源代码到部署都需要值得信赖您可信发布者需要确保所有传输和静止的镜像未被篡改不可变的范式通常一旦设置并部署成功容器镜像不需要写入其文件系统或已挂载的文件系统在这种情况下如果以只读模式启动容器则将具有额外的安全优势对于您的容器镜像编排工具和主机您需要在系统和上记录所有与安全相关的日志事件所有日志都应该远程访问并应包含通用时间戳和防篡改您的应用程序还应该提供远程日志记录容器安全十大风险用户映射安全基本描述用户的不安全映射造成的威胁正在大量提供微服务的容器中运行这些明显的弱点将使得攻击者在容器中具有完全权限通过挂载目录或者逃逸攻击者可以轻易让微服务应用消亡无论是还是配置它们都提供不了足够的保护这违反了最小特权原则从的角度来看这是一个不安全的默认设置对于特权容器从微服务到容器的突破几乎可以与在没有任何容器的情况下运行相提并论最终会危及您的整个主机和所有其他容器安全弱点通过滥用特权容器攻击者可以获取资源的访问权限可以以权限运行代码包括等操作攻击者使用派生的容器目录挂载到主机目录可以执行恶意代码包括将密钥导入到物理机中设置执行等如左图所示通过漏洞攻击者可以很轻易的获取到容器的特权容器安全十大风险预防方法务必以尽可能少的特权运行微服务永远不要使用参数启动容器不要使用特权用户运行容器服务如果生成容器您必须添加或使用相应的参数比如非特权小组或者普通用户请注意标准服务器想要使用或等端口配置用户不会允许您将服务器绑定到低于的任何端口上对于任何服务都无需绑定到低端口您需要配置更高的端口并相应地映射此端口与公开命令选择使用用户名空间命名空间是向容器提供内核资源的不同伪造视图的一般方法有不同的可用资源如用户网络等在容器中可以让容器有一个假的用户它在容器内是被映射到容器外一个非用户因为标准特性与运行一个启用了的守护进程不兼容所以我们需要对做一些限制比如不可以在主机中共享或者的命名空间在同一个配置了的主机中该主机上所有容器都默认启用了除非你对每个容器进行不同的特殊配置在微服务中如果需要在容器中运行一个将容器外部映射到用户的服务请确保您具有适当的安全策略案例场景根据容器的启动方法首先要查看容器的配置生成文件是否包含用户需要检查您的守护进程使用的配置文件和以及参考文献容器安全十大风险容器安全十大风险补丁管理策略基本描述在当前的网路安全威胁中没有及时修补基础设施中的安全漏洞仍然是行业最常见的安全问题像或这样的病毒证明了这个问题的严重性大多数软件漏洞在开发和使用之前就已经被披露了我们所需要做的就是尽快修补那些已知的漏洞这一点类似于中使用含有已知漏洞的组件在应用某些补丁时需要基于修复策略达成一种共识通常来说这种策略需要专门的信息安全官员来制定以保证修复策略能够从上至下顺利执行安全弱点对于容器环境可能发生的最糟糕的情况是主机或者编排工具被攻击主机被攻击的情况下可以使攻击者能够控制主机上运行的所有容器编排工具如被攻击的情况下可以使攻击者能够控制编排工具如正在管理的所有主机上的所有容器容器安全十大风险对主机最严重的威胁是容器内的内核攻击通过滥用系统调用导致根访问此外编排软件的默认接口也存在各种各样的问题所以及时打补丁可以确保为基础设施使用的软件始终是安全的并且可以避免已知的漏洞预防方法打哪些补丁维护基础设施软件不是那么简单因为有四个不同的补丁域镜像已发布的容器镜像容器软件编排软件等主机操作系统此外我们还需要为所提到的每个域的停产支持制定一个迁移计划即为不再提供安全更新的模块制定替换的方案什么时候打补丁简而言之最好经常打补丁并尽可能使之自动化根据上面提到的补丁域需要针对不同的补丁域来制定不同的修复策略

pdf文档 OWASP 容器安全十大风险 V1.0

安全报告 > OWASP > > 文档预览
37 页 0 下载 5 浏览 0 评论 0 收藏 3.0分
温馨提示:当前文档最多只能预览 7 页,若文档总页数超出了 7 页,请下载原文档以浏览全部内容。
本文档由 路人甲2022-05-26 20:10:12上传分享
给文档打分
您好可以输入 255 个字符
github5文库的中文名是什么?( 答案:github5 )
评论列表
  • 暂时还没有评论,期待您的金玉良言