云安全—K8S API Server 未授权访问

这篇具有很好参考价值的文章主要介绍了云安全—K8S API Server 未授权访问。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0x00 前言

master节点的核心就是api服务,k8s通过REST API来进行控制,在k8s中的一切都可以抽象成api对象,通过api的调用来进行资源调整,分配和操作。

通常情况下k8s的默认api服务是开启在8080端口,如果此接口存在未授权问题,那么就相当于k8s直接失陷。

0x01 漏洞概述

通常情况下k8s会有两个API服务,一个是8080,还有一个是6443。
6443提供https服务,并且不对外开放,支持认证和授权服务,默认情况下8080是不启动的。

0x02 攻击面

1.8080端口未授权

修改配置文件:vim /etc/kubernetes/manifests/kube-apiserver.yaml

云安全—K8S API Server 未授权访问,云安全,kubernetes,容器,云原生

云安全—K8S API Server 未授权访问,云安全,kubernetes,容器,云原生

可以通过kubectl进行基本操作:

kubectl -s 192.168.247.156:8080 get node

云安全—K8S API Server 未授权访问,云安全,kubernetes,容器,云原生

限制

1.20以后的版本不再允许开启此端口

补充知识

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

CI/CD

CI/CD是指持续集成(Continuous Integration)和持续交付(Continuous Delivery)的缩写。它是一种软件开发流程,旨在通过自动化软件构建、测试、部署和交付来改进开发速度、质量和可靠性。

持续集成是指将所有的开发人员的代码合并至同一代码库,并在每次代码提交时自动执行构建、测试和代码质量检查,以确保代码的稳定性和可靠性。

持续交付是指将代码部署至生产环境的一系列自动化流程,其目的是通过重复性、规范化的开发流程提高软件交付的速度和质量。

CI/CD可以帮助开发团队更快、更安全、更可靠地构建和部署软件,同时可以减少手动操作和人为错误的风险,使开发周期更加高效和可靠。文章来源地址https://www.toymoban.com/news/detail-734277.html

到了这里,关于云安全—K8S API Server 未授权访问的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 容器化进阶Kubernetes(K8S)详解

    1.1.1 Kubernetes是什么及作用 Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。 Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 官网地址 Kubernetes 中文社区 Kubernetes(k8s)中文文档 目录_Kubernetes中文社

    2024年02月05日
    浏览(78)
  • K8s攻击案例:组件未授权访问导致集群入侵

    K8s集群往往会因为组件的不安全配置存在未授权访问的情况,如果攻击者能够进行未授权访问,可能导致集群节点遭受入侵。比较常见的的组件未授权访问漏洞,主要包括 API Server 未授权访问、kubelet 未授权访问、etcd 未授权访问、kube-proxy 不安全配置、Dashboard未授权访问。

    2024年02月03日
    浏览(39)
  • 容器技术,1. Docker,2. Kubernetes(K8s):

    目录 容器技术 1. Docker: 2. Kubernetes(K8s): Docker和Kubernetes 容器的主要应用场景有哪些? 有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求,这种技术就是容器技术。 容器技术指通过在物理主机操作系统上创建一个一个

    2024年02月11日
    浏览(71)
  • 【云原生 • Kubernetes】认识 k8s 网络、外部网络访问 k8s 内部服务

    目录 一、认识 Kubernetes 网络 二、外部网络如何访问 k8s 内部服务 1. NodePort 2. Load Balancer 3. Ingress Kubernetes 最底层的网络为节点网络,用来保证 k8s 集群的节点(master 和 worker、worker 节点之间)能够做正常的 IP 寻址和通讯。 Kubernetes 第二层网络就是 Pod 网络,构建于节点网络之上

    2024年01月16日
    浏览(72)
  • Kubernetes(K8s):容器化应用的航空母舰

    Kubernetes(K8s)是一个开源的容器编排系统,它的出现就像是为容器化应用提供了一艘强大的航空母舰。在这艘母舰上,你的应用容器就像是一架架战斗机,Kubernetes负责指挥它们起飞、飞行、降落,确保它们能在正确的时间、正确的地点执行任务。 Pod: Kubernetes的基本飞行编队

    2024年04月08日
    浏览(67)
  • Kubernetes(k8s)容器编排Pod介绍和使用

    Pod是kubernetes中你可以创建和部署的最小也是最简的单位,一个Pod代表着集群中运行的一个进程。 Pod有两个必须知道的特点 通过yaml文件或者json描述Pod和其内容器的运行环境和期望状态,例如一个最简单的运行nginx应用的pod,定义如下 3.1.1 参数描述 下面简要分析一下上面的

    2024年02月08日
    浏览(85)
  • kubernetes(k8s)为容器和 Pod 分配内存资源

    展示如何将内存请求(request)和内存限制(limit)分配给一个容器。 我们保障容器拥有它请求数量的内存,但不允许使用超过限制数量的内存。 创建新的命名空间 编辑yaml文件 配置文件的 args 部分提供了容器启动时的参数。 “–vm-bytes”, “150M” 参数告知容器尝试分配 15

    2024年02月15日
    浏览(58)
  • Kubernetes (K8s) 解读:微服务与容器编排的未来

    🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🐅🐾猫头虎建议程序员必备技术栈一览表📖: 🛠️ 全栈技术 Full Stack : 📚 MERN/MEAN/MEVN Stack | 🌐 Jamstack | 🌍 GraphQL | 🔁 RESTful API | ⚡ WebSockets | 🔄 CI/CD | 🌐 Git Version Control | 🔧 DevOps 🌐 前端技术 Frontend : 🖋️ HTML CSS |

    2024年02月09日
    浏览(42)
  • 【k8s】Kubernetes 声明式 API、命令式

    1. 命令式对象管理∶直接使用命令去操作kubernetes资源 2. 命令式对象配置∶通过命令配置和配置文件去操作kubernetes资源 3. 声明式对象配置∶通过apply命令和配置文件去操作kubemetes资源 kubectl命令:kubectl是kubernetes集群的命令行工具,通过它能够对集群本身进行管理,并能够在集

    2024年01月17日
    浏览(46)
  • [Kubernetes]9. K8s ingress讲解借助ingress配置http,https访问k8s集群应用

    前面讲解了使用Helm部署mysql集群,这里来看看使用Ingress搭建负载均衡功能 功能类似 Nginx ,可以根据域名、路径把请求转发到不同的 Service , Ingress 为外部访问集群提供了一个 统一 入口, 避免 了 对外暴露集群端口 ,可以配置 https,http访问集群应用,接下来看看如何通过腾讯云来

    2024年01月22日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包