云安全—K8s APi Server 6443 攻击面

news2024/11/28 3:32:34

0x00 前言

在未授权的一文中,详细描述了k8s api中的8080端口未授权的问题,那么本篇主要来说6443端口的利用。

0x01 API连接攻击面

1.匿名用户访问

匿名开放方式:kubectl create clusterrolebinding cluster-system-anonymous --clusterrole=cluster-admin --user=system:anonymous

通过 kubectl进行远程访问

kubectl -s https://192.168.247.156:6443/ --insecure-skip-tls-verify=true get nodes

在这里插入图片描述

通过cdk进行访问

./cdk kcurl anonymous get "https://192.168.247.156:6443/api/v1/nodes"

在这里插入图片描述

检查方式

kubectl get clusterrolebinding -o wide -A | grep cluster-system-anonymous

修复方式

kubectl delete clusterrolebinding cluster-system-anonymous

2.Basic静态文件丢失

kubectl支持通过静态文件的方式进行保存用户数据信息,如果攻击者拿到此文件就会直接获取到 password、user、uid、group 敏感信息,但是这种情况相对会比较少,云环境使用的也非常少。

3.证书丢失

如果能够获取到ca证书,那么就可以通过ca证书直接操作kubectl

kubectl --server=https://10.20.30.31:6443 \

> --certificate-authority=ca.crt  \

> --client-certificate=client.crt \

> --client-key=client.key \

> get nodes

4.token 丢失

kubectl也支持通过 token进行认证,每个 namespace 创建的时候,K8s 会自动在这个 namespace 下面创建一个默认的 Service Account 和对应的 secret 实例,该 Service Account 只能访问这个 namespace 的资源。

如果是管理员权限的账号,那么就会对应生成一个tokne,用这个tokne就可以通过多种方式访问到k8s服务,相当于k8s服务直接丢失。

0x02 防护

针对这些攻击面而言,除开通过匿名访问的问题,其他的都属于管理不当导致k8s登录凭证丢失的问题,那么就应该按照机密文件的方式进行保护,定期更换,访问权限,访问和使用的记录,这些内容作为PaaS提供商会同步提供此服务。并且进行检测和监控。

补充知识

K8S API

Kubernetes API是Kubernetes的核心组件之一,其作用是提供Kubernetes集群的管理接口。Kubernetes API是一个RESTful API,可以通过HTTP协议访问。通过Kubernetes API,用户可以对Kubernetes集群进行各种操作,包括创建和管理Kubernetes资源(如Pod、Service、Deployment等),监控集群状态等。

Kubernetes API具有以下特点:

  1. 丰富的资源类型:Kubernetes API支持多种资源类型,包括Pod、Service、Deployment、ConfigMap、Secret等,可以满足不同场景的需求。

  2. 与Kubernetes控制平面的无缝集成:Kubernetes API与Kubernetes控制平面紧密集成,可以查看和管理控制平面中的各种组件,如kube-apiserver、kube-controller-manager、kube-scheduler等。

  3. 扩展性:Kubernetes API可以通过自定义资源定义(Custom Resource Definition,CRD)进行扩展,从而支持用户自定义资源类型和API接口。

  4. 安全性:Kubernetes API支持身份认证、授权和审计等安全机制,可以保障集群的安全性。

REST API

REST(Representational State Transfer)API,即表述性状态转移应用程序接口,是一种网络应用程序接口(API)设计风格和架构模式,是目前互联网上最为流行的一种客户端与服务器通信方式之一。它基于HTTP协议和独立于编程语言和平台,通过统一的接口,实现不同系统之间的数据交互和资源共享。REST API以资源为中心,采用HTTP协议中的GET、POST、PUT、DELETE等请求方式,通过URL定位资源,使用JSON、XML等格式传输数据。同时,REST API设计符合高内聚、低耦合、可扩展的设计原则,具有简单、灵活、可重用等优点,适用于各种类型的应用程序开发和集成。

k8s

Kubernetes (k8s) 是一个开源的容器编排平台,最初由 Google 发起,用于管理和运行容器化的应用程序。它提供了容器的自动部署、伸缩、负载均衡、资源调度等功能,使得应用程序的部署和管理更加简单、高效和可靠。Kubernetes 旨在帮助开发者和运维人员更好地管理容器化应用,追求可移植性、可扩展性和自动化的部署和管理。

DevOps

DevOps是一种开发和运营(Operations)方法论,旨在通过协作和自动化来提高软件交付的速度和质量,同时降低其成本和风险。DevOps强调跨职能团队的协作和消除组织内外的孤立,以便更快地推出新的软件产品和服务,同时也能够更轻松和稳定地进行操作。

在DevOps中,开发人员、测试人员和运营人员通常会一起合作,以创建一个自动化的软件交付管道。这个管道包括构建、测试、部署和监控等过程,以确保软件能够快速、高质量地交付到生产环境中。DevOps还鼓励使用持续集成(Continuous Integration)、持续交付(Continuous Delivery)和持续部署(Continuous Deployment)等自动化工具和流程来支持这个管道。

DevSecOps

DevSecOps指的是将安全性考虑融入到DevOps工作流程中的方法论和实践。它旨在通过整合安全工具、流程和实践,集成应用程序安全性的核心概念和最佳实践,以提高IT系统安全性。

在DevSecOps中,安全性是软件开发生命周期(SDLC)的一个关键输入,并贯穿整个软件开发过程。开发人员、安全团队和运维人员通过自动化和协作,共同保障应用程序的安全性。

DevSecOps的主要目标是确保应用程序的安全性,以及缩短漏洞和威胁的修补时间。它通过以下几个步骤来实现这些目标:

  1. 整合安全测试和漏洞扫描工具到CI/CD流程中,以自动化安全性检查。

  2. 在代码仓库中编写安全测试用例,以确保代码符合安全性最佳实践。

  3. 建立自动化的安全扫描和弱点检查流程,对生产环境进行常规检查。

  4. 持续监测漏洞、威胁和恶意行为,并及时修补它们。

DevSecOps是一种适合当前快速增长的软件开发需求的方法,它能够确保应用程序的安全性并为业务创造更多的价值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1160349.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信号、进程、线程、I/O介绍

文章目录 信号进程进程通信线程可/不可重入函数线程同步互斥锁条件变量自旋锁读写锁 I/O操作阻塞/非阻塞I/OI/O多路复用存储映射I/O 信号 信号是事件发生时对进程的通知机制,可以看做软件中断。信号与硬件中断的相似之处在于其能够打断程序当前执行的正常流程。大多…

paas配置及构建问题处理

目录 CI配置在前端中的作用 为什么生产环境需要付出额外的精力,进行构建? 服务 CI 通常分为两个主要部分: 构建环境: Dockerfile 镜像: CI配置在前端中的作用 开发分为三个环境:开发环境、测试环境和生…

QMI8658A_QMC5883L(9轴)-EVB 评估板——索引博文

0.前言 【初见姿态传感器】 在做一个4轴飞行器的时候了解到有这样一个可以控制飞行器姿态的传感器,而后在哔哩哔哩看到利用姿态传感做很多很好玩的作品。目前在自己的本职工作中广泛会用姿态传感器IMU的应用。 1.博文索引 【基础内容】 【QMI8658 - 姿态传感器学习…

一次性剪辑大量视频的教程,逻辑讲解,很实用

在短视频领域,视频剪辑的效率如何提升也成为了广大短视频创作者需要解决的问题之一。批量剪辑这个词汇也不断被提起。那么该如何自学批量视频剪辑呢? 想要进行批量视频剪辑,那就先需要一款好用的软件,小编这里给大家良心推荐超级…

“优等生”宁波银行公布三季报:营利齐升,风控抵补能力持续夯实

撰稿 | 多客 来源 | 贝多财经 10月30日晚,城商行“优等生”宁波银行披露2023年三季报,在效益与规模稳步提升的同时,资产质量也保持了优异水平。 前三季度,宁波银行实现归属于母公司股东的净利润193.49亿元,同比增长1…

【生物信息学】单细胞RNA测序数据分析:计算亲和力矩阵(基于距离、皮尔逊相关系数)及绘制热图(Heatmap)

文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 导入必要的库1. 读取数据集2. 质量控制(可选)3. 基于距离的亲和力矩阵4. 绘制基因表达的Heatmap5. 基于皮尔逊相关系数的亲和力矩阵6. 代码整合 一、实验介绍 计算亲和力…

新加坡公司【Trident Digital】申请1688万美元纳斯达克IPO上市

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,总部位于新加坡的Trident Digital Tech Holdings Ltd(简称:Trident Digital)近期已向美国证券交易委员会(SEC)提交招股书,申…

oracle中关于connect by的语法及实现(前序遍历树)

语法 connect by是是结构化查询中用到的,其基本语法是: 1 select … from tablename 2 start with 条件1 3 connect by 条件2 4 where 条件3; 使用示例 例: create table tree(id int,parentid int); insert into tree values(120,184); …

Apache ECharts简介和相关操作

文章目录 一、Apache ECharts介绍二、快速入门1.下载echarts.js文件2.新建index.html文件3.准备一个DOM容器用于显示图表4.完整代码展示5.相关配置 三、演示效果四、总结 一、Apache ECharts介绍 Apache ECharts 是一款基于 Javascript 的数据可视化图表库,提供直观…

使用Docker Compose部署Spug并实现内网穿透远程访问

文章目录 前言1. Docker安装Spug2 . 本地访问测试3. Linux 安装cpolar4. 配置Spug公网访问地址5. 公网远程访问Spug管理界面6. 固定Spug公网地址 前言 Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件…

【Ubuntu】虚拟机安装系统与初始化配置

一、安装ubuntu系统 1、首先在虚拟机上安装一个虚拟机系统。 简单操作忽略,只贴出与安装linux不同的地方。 内存,处理器,磁盘等什么自己看着需要自己增加们这边不做过多说明。一直下一步,然后就安装好了。2、选择镜像位置然后启…

python自动化测试(六):唯品会商品搜索与规格选择-练习

目录 一、配置代码 二、操作 2.1 输入框“运动鞋” 2.2 点击搜索按钮 2.3 选择品牌 2.4 选择主款 2.5 适用性别 2.6 选择尺码 2.7 选择商品:(通过css的属性去匹配) 2.8 点击配送地址选项框 一、配置代码 # codingutf-8 from selen…

Netty第一部

一、select和epoll原理分析 外设设备网卡、鼠标、键盘等通过总线写到内存中,中间就有DMA拷贝,操作系统怎么知道内存中有数据了,这就需要操作系统通过中断机制确定,如果有中断信号过来,cpu会首先打断用户程序执行&…

java进行支付宝支付(沙箱环境)

目录 1.准备工作 2.idea配置文件准备 3.后端代码编写 接口1:支付订单 接口2:查询订单 接口3:订单退款 接口4:查询退款结果 接口5:获取总账单 接口6:取消订单 接口7:回调接口 定时任务…

【stata基础代码大全 】 可独立完成一篇实证

【stata基础代码大全 】 可独立完成一篇实证 用stata打开,直接替换自己需要的变量就行,小白友好❗️❗️❗️ 文件包括以下内容 一、数据预处理 二、Stata中数据的基本处理 *(1)取年份 *(2)剔除数据中的样本 *(3)生成新的变量 *(4)给变量添加标签 *(5)生…

开关电源测试过压保护的测试标准及其方法

过压保护的原理 过压保护是电压超过预定值时降低电压的一种方式,原理是通过电路中的电压检测电路来检测电路中的电压是否超过了设定的阈值,如果超过了阈值,就会触发过压保护器件,使电源断开或使受控设备电压降低,保护电…

智慧矿山:AI算法在带式运输机中的异物识别应用

随着现代农业和工业的发展,带式运输机在各种生产作业中发挥着越来越重要的作用。然而,在带式运输机运行过程中,可能会混入各种异物,这些异物的存在可能会对运输过程和设备本身造成损害。为了解决这一问题,本文将介绍一…

VVG PAD DM蓝牙5.2双模热插拔PCB

键盘使用说明索引(均为出厂默认值) 软件支持(驱动的详细使用帮助)一些常见问题解答(FAQ)请认真阅读本说明首次使用步骤蓝牙配对规则(重要)蓝牙和USB切换键盘默认层默认触发层0的FN键…

低代码,程序员提高生产力的开发工具

目录 一、什么是低代码? 二、低代码的本质是什么? 三、低代码平台的搭建能力 四、写在最后 一、什么是低代码? 简单来说,低代码是一种用于应用程序开发的模块化方法,它能有效减少应用程序的开发时间。基于可重用的、组…

Nginx负载均衡 以及Linux前后端项目部署

一、Nginx简介 Nginx是一款高性能的开源Web服务器和反向代理服务器。它由俄罗斯的程序设计师Igor Sysoev创建,旨在解决传统Web服务器的性能限制问题。 Nginx采用事件驱动的架构和异步非阻塞的处理方式,使其能够处理大量并发连接,并具备良好…