当企业创建或使用云上应用系统时,应用大多都需要使用Kubernetes
。中必据云原生计算基金会(CNCF) 最近的须避一份报告显示
,Kubernetes在全球已拥有近600万个企业用户 ,个基成为云上应用程序主要的本错部署模式。 随着Kubernetes平台上的应用敏感数据越来越多,其被攻击的中必风险就越大
。要实现Kubernetes平台的须避完整安全措施需要一个系统化的建设过程 ,但研究人员发现
,个基在Kubernetes应用产生的本错安全问题中,源码库超过9成都是应用由于非常基础的原因所引发 ,本来是中必可以被避免的。本文梳理总结了Kubernetes应用中的须避七个最常见基础性安全错误
。 研究人员发现,本错许多组织都在使用默认的集群配置
,并且未引起重视
,这是个非常严重的错误 。模板下载尽管Kubernetes的默认设置为开发人员赋予了较大的灵活性和敏捷性 ,但是却没有考虑安全防护层面的需求 。默认配置在面对非法攻击时会变得非常脆弱。为了保护Kubernetes上应用数据的安全,企业必须确保对集群配置的合理性和安全性,以获得更充分的安全防护能力。 为了应用方便,很多组织的香港云服务器开发人员可以轻易的使用CLUSTER_ADMIN(集群管理员)之类特权账号对集群执行日常操作
,这种方式显然是错误的。特权账号应该仅用于管理其他角色和用户,当多个开发者都可以拥有CLUSTER_ADMIN级别的访问权限时 ,也意味着黑客可以更加轻松的获得访问权限 ,他们可以通过这些高级账户非法进入Kubernetes上的系统,进而全面访问整个集群中的数据资源 。 并非每个开发人员都需要全面访问所有资源才能完成其工作
,但实际上,许多企业的管理员却没有对开发人员访问dev/stage/prod集群的权限类型予以适度的管理和限制。允许开发人员不受限制地访问资源是一种非常糟糕的做法。与设有多个管理员相似
,这个错误很容易就会被黑客探测并利用,他们可以使用这种不受限制的访问权限在贵组织的系统中横向移动
,并且大量的窃取或破坏资源
。云计算 隔离是Kubernetes平台的一种天然属性
,可以通过命名空间来实现对象隔离
。但是许多企业组织想当然地以为集群网络与云虚拟专用网(VPC)都会被有效的进行隔离,但事实并不是这样 。企业在Kubernetes应用中,不能忽视保护集群网络中的应用系统,并对重要业务系统及数据实现隔离防护。 Kubernetes可以支持YAML和JSON格式创建资源对象 ,JSON格式用于接口之间消息的传递 ,适用于开发;YAML格式用于配置和管理,适用于云平台管理
。YAML是一种简洁的非标记性语言
,导入公共YAML尽管可以避免重复性工作
,节省时间,但也同样会将错误配置引入到企业环境中。因此企业在引入公共YAML时 ,需要充分检测并评估其带来的安全影响,并确保可以解决配置过程中可能存在的安全性问题
。 机密数据主要包括密码、令牌或密钥之类的敏感数据
。由于疏忽或者使用的方便
,开发人员经常会将一些机密信息存储在ConfigMap中,从而增加了这些敏感数据的暴露风险。ConfigMap是一种API对象,通常只用来保存非机密性数据 ,它可以让用户将针对特定环境的配置与容器镜像分离,以便应用程序易于移植
。但是由于缺乏保护,黑客同样有机会访问ConfigMap,因此也能够访问保存在其中相关资源 。 在软件开发生命周期(SDLC)和持续集成/持续交付(CI/CD)管道的早期阶段执行定期扫描,以查找错误配置和漏洞,这有助于杜绝这些问题进入到生产环境的可能性。但现实中,许多组织都没有这样的安全计划或缺少行动。从攻击成本角度看,黑客通常会寻找最省事的攻击目标
。因此
,企业首先要确保自己不是保护最乏力的组织,这样就可以减少成为被攻击目标的可能性。开展日常性的安全漏洞检查并且有效落实,正是一种快速提升安全能力的有效途径。