查看原文
其他

K8S新安全漏洞的应对之策:API Server拒绝服务漏洞

Rancher Labs RancherLabs 2019-03-28

CVE-2019-1002100漏洞


美国当地时间2019年3月2日,Kubernetes社区发布了Kubernetes API server拒绝服务的漏洞(CVE-2019-1002100),即有API写入权限的用户在写入资源时会导致Kubernetes API server过度消耗资源,此漏洞被评级为【中等严重性】。

 

此漏洞表现为用户在向Kubernetes API server发送 json-patch规则的补丁包来更新资源对象时(例如kubectl patch xxx --type json 或者“Content-Type: application/json-patch+json”),Kubernetes API server会消耗极大的资源,最终导致API server拒绝连接。

 

https://github.com/kubernetes/kubernetes/issues/74534


情景再现


一个json-patch的例子:


kubectl patch deployment test --type='json' -p '[{"op": "add", "path": "/metadata/labels/test", "value": "test"},{"op": "add", "path": "/metadata/labels/app", "value": "test"} ,{…} ]'


当我们向Kubernetes频繁地发送多个json-patch请求来更新资源对象时,可以发现Kubernetes API server会消耗很多资源来处理我们的请求。



此时会有一部分资源的patch请求失败,无法得到Kubernetes API server的响应。



受此漏洞影响的Kubernetes API server的版本包括:


  • v1.0.0 – 1.10.x

  • v1.11.0 – 1.11.7

  • v1.12.0 – 1.12.5

  • v1.13.0 – 1.13.3

 

Kubernetes官方建议用户在升级至修复版本之前,可针对此漏洞的采取的缓解措施为:


  • 对不受信任用户移除patch权限


漏洞修复


Kubernetes社区很快地修复了此漏洞,增加了对用户json-patch操作数量的限制。

 

当用户对某一资源对象修改的 json-patch 内容超过10000个操作时,Kubernetes API server会返回413(RequestEntityTooLarge)的错误。

 

错误信息如下:


Request entity too large: The allowed maximum operations in a JSON patch is 10000, got 10004


修复的Kubernetes版本包括:


  • v1.11.8

  • v1.12.6

  • v1.13.4


Rancher已发布最新版本应对此次漏洞


此次也一如既往,在Kubernetes自身爆出漏洞之后,Rancher Labs团队都第一时间响应,保障使用Rancher平台管理Kubernetes集群的用户的安全。

 

如果你是使用Rancher平台管理Kubernetes集群,不用担心,Rancher已于今日发布了最新版本,支持包含漏洞修复的Kubernetes版本,保障所有Rancher用户的Kubernetes集群不受此次漏洞困扰。

 

最新发布的Rancher版本为:


  • v2.1.7(提供Kubernetes v1.11.8, v1.12.6, v1.13.4支持)

  • v2.0.12(提供Kubernetes v1.11.8支持)

  • 对于Rancher 1.6.x的用户,可以在Rancher v1.6.26的Catalog中使用Kubernetes发布的修复版本 v1.11.8和v1.12.6

 

此次漏洞会影响的Kubernetes版本范围较广,建议中招的用户尽快升级哟!


为用户的Docker & K8S之旅护航


Rancher Kubernetes平台拥有着超过一亿次下载量,我们深知安全问题对于用户而言的重要性,更遑论那些通过Rancher平台在生产环境中运行Docker及Kubernetes的数千万用户。

 

2018年年底Kubernetes被爆出的首个严重安全漏洞CVE-2018-1002105,就是由Rancher Labs联合创始人及首席架构师Darren Shepherd发现的。

 

2019年1月Kubernetes被爆出仪表盘和外部IP代理安全漏洞CVE-2018-18264时,Rancher Labs也是第一时间向用户响应,确保所有Rancher 2.x和1.6.x的用户都完全不被漏洞影响。

 

2019年2月爆出的严重的runc容器逃逸漏洞CVE-2019-5736,影响到大多数Docker与Kubernetes用户,Rancher Kubernetes管理平台和RancherOS操作系统均在不到一天时间内紧急更新,是业界第一个紧急发布新版本支持Docker补丁版本的平台,还帮忙将修复程序反向移植到所有版本的Docker并提供给用户,且提供了连Docker官方都不支持的针对Linux 3.x内核的修复方案。

 

负责、可靠、快速响应、以用户为中心,是Rancher始终不变的初心;在每一次业界出现问题时,严谨踏实为用户提供相应的应对之策,也是Rancher一如既往的行事之道。未来,Rancher也将一如既往支持与守护在用户的K8S之路左右,确保大家安全、稳妥、无虞地继续前进❤️

 

推荐阅读

Kubernetes安全三步谈:如何通过RBAC和强身份验证确保外部安全

runc容器逃逸漏洞最强后续:应对之策汇总与热点疑问解答

K8S安全军规101:对CNCF最佳实践的扩充

Rancher Labs中国团队火热招聘中!容器领域第一品牌,传奇创始人,硅谷明星创业团队……北京、深圳、沈阳,三座城市、五类职位,2019,只想遇到你!(点击下方图片,查看详情!)


About Rancher Labs



Rancher Labs由硅谷云计算泰斗、CloudStack之父梁胜创建,致力于打造创新的开源软件,帮助企业在生产环境中运行容器与Kubernetes。旗舰产品Rancher是一个开源的企业级Kubernetes平台,是业界首个且唯一可以管理所有云上、所有发行版、所有Kubernetes集群的平台。解决了生产环境中企业用户可能面临的基础设施不同的困境,改善Kubernetes原生UI易用性不佳以及学习曲线陡峭的问题,是企业落地Kubernetes的不二之选。


Rancher在全球拥有超过一亿的下载量,超过20000家企业客户。全球知名企业如中国人寿、华为、中国平安、民生银行、兴业银行、上汽集团、海尔、米其林、天合光能、丰田、本田、霍尼韦尔、金风科技、普华永道、海南航空、厦门航空、恒大人寿、中国太平、巴黎银行、美国银行、HSCIS恒生指数、中国水利、暴雪、CCTV等均是Rancher的付费客户。

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存