当前位置: 首页 > 科技观察

Kubernetes应用必须避免的七大基本错误

时间:2023-03-15 00:13:56 科技观察

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