当企业创建或使用云上应用系统时
,应用大多都需要使用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)管道的早期阶段执行定期扫描,以查找错误配置和漏洞 ,这有助于杜绝这些问题进入到生产环境的可能性
。但现实中 ,许多组织都没有这样的安全计划或缺少行动。从攻击成本角度看 ,黑客通常会寻找最省事的攻击目标。因此,企业首先要确保自己不是保护最乏力的组织 ,这样就可以减少成为被攻击目标的可能性。开展日常性的安全漏洞检查并且有效落实
,正是一种快速提升安全能力的有效途径
。