【云攻防系列】从攻击者视角聊聊K8S集群安全(上)

前言

作为云原生管理与编排系统的代表,Kubernetes(简称K8S)正受到越来越多的关注,有报告[1]显示,96% 的组织正在使用或评估
K8S,其在生产环境下的市场占有率可见一斑。

K8S 的功能十分强大,其系统复杂性也同样较高,一般而言,程序越复杂则越容易存在安全问题,自然而然地,K8S 集群也同样面临着严重的安全威胁,如 K8S
组件的未授权访问、容器逃逸和横向攻击等。我们说攻和防是相互促进、相伴而生的,作为相关安全人员首先应该从整体上把握业务架构可能面临的安全威胁才有可能做好防护。
本文就以攻击者的视角来聊一聊在 K8S 集群架构下可能存在哪些可攻击的点。

根据以往的渗透测试经验,我们梳理了 K8S 集群架构下可能存在的安全问题,并在如图1的 K8S 集群基础架构图中标注了潜在的攻击点:

图1- K8S集群攻击点

本文将从图 1 出发,在介绍图中标注的攻击点的同时,总结一些在对 K8S 集群进行实际渗透测试的过程中常用的攻击方法。

本文共分为上、下两篇,本篇为上篇,主要介绍对 K8S 组件、节点对外服务、业务 pod
的攻击,以及容器逃逸,即对应图1的攻击点1~7。其余内容将在下篇介绍。

K8S集群攻击点(1~7)

1. 攻击点 1~4:攻击K8S组件

K8S 组件的问题主要是指各组件的不安全配置,攻击点1~4罗列了4个比较有代表性的组件问题,即 API Server 未授权访问、etcd
未授权访问、kubelet 未授权访问、kube-proxy 不安全配置。

除此之外,还有很多组件都存在着类似的安全问题,比如 dashboard、docker 等组件也存在未授权访问的隐患,这些都是 K8S
集群的重要系统组件,一旦被攻击成功,都是可以直接获得相应集群、节点或容器的权限的。

表1搜集了各个组件存在隐患的默认端口,供参考:

组件名称

|

默认端口

—|—

api server

|

8080/6443

dashboard

|

8001

kubelet

|

10250/10255

etcd

|

2379

kube-proxy

|

8001

docker

|

2375

kube-scheduler

|

10251

kube-controller-manager

|

10252

表1- K8S 各组件默认端口

2. 攻击点5:攻击节点对外服务

除了正常的对外业务,可能还会有一些“隐藏”的对外开放服务,这些服务本不该暴露

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值