云安全—集群攻击入口攻与防
0x00 前言
说到云安全肯定不能避免的是集群相关的内容,最出色的就是Kubernetes,也就是k8s。当然docker相关的内容也算是集群的一部分。但是docker容器本身的问题还是归属于容器本身。
0x01 概述
在集群攻击入口处的内容主要为:
- 应用安全
- 恶意镜像
- K8s APi Server未授权访问
- kubelet未授权访问
- etcd未授权访问
- Docker Daemon 公网暴露
- Dashboard面板暴露
- k8s configfile泄露
- 私有镜像库暴露
0x02 应用安全
这里的应用安全实际上和云服务器的应用安全是一致的,都是针对传统web安全来说,因为部署在哪里都不能让应用安全,改变的是部署方式,并不是应用本身,所以传统web问题依然存在。
0x02 恶意镜像
这里的恶意镜像,通常指代的是docker恶意镜像,因为docker镜像的管理更加混乱,任意组织或者个人都可以上传自己制作的docker容器,那么这个问题就很严重,如果直接部署了存在恶意后门的镜像,或者监控等后门,那么去做这种容器的安全就没有任何意义。
那么应用而生的就是私有仓库,或者第三方提供安全检测的仓库,以及专门的容器检测工具。
通过私有库和容器检测工具进行风险排查和规避,通过第三方提供的安全库进行风险转移都是一个不错的选择。
这里不进行展开,会单独出一个docker容器检测,或者私有库搭建的内容
0x03 K8s APi Server未授权访问
通常使用 8080 和 6443 端口,将 “system:anonymous” 用户绑定到 “cluster-admin” 用户组,就可以创建特权容器。
0x04 kubelet未授权访问
kubelet 是 Kubernetes 集群中的一个组件,它负责管理节点上的容器。kubelet 会定期从 API Server 获取 Pod 的配置信息,并根据配置信息来启动、停止、重启容器以及监控容器的运行情况。kubelet 还负责节点的健康检查,当发现节点出现故障时,会向 Master 报告节点的状态,以便 Master 进行相应的调度。总之,kubelet 是 Kubernetes 集群中非常重要的一个组件。
1、认证为AlwaysAllow的时候此接口可未授权访问
2、10255端口出现的pod和node信息信息泄露问题
0x05 etcd未授权访问
etcd是一个开源的分布式键值对存储仓库,常用于分布式系统中的协调服务和共享配置。etcd使用Raft一致性算法来维护集群的一致性和高可用性,支持通过HTTP或gRPC接口进行访问和操作。它是Kubernetes等分布式系统的重要组件之一,用于存储集群的配置信息、状态信息、元数据等数据。
1、client-cert-auth未授权
2、2379公网泄露
3、cret证书泄露
4、client-cert-auth未授权
0x06 Docker Daemon 公网暴露
Docker Daemon 是 Docker 的后台进程,它监听 Docker API 请求并管理 Docker 镜像、容器、网络和数据卷等资源。Docker Daemon 运行在宿主机上,并负责执行用户提交的 Docker 命令,例如创建、启动、停止、删除容器,上传和下载镜像等。Docker CLI 客户端通过与 Docker Daemon 进行交互,将用户提交的命令转化为 API 请求,并将请求发送给 Docker Daemon 去处理。
docker daemon监听在/var/run/docker.sock中创建的unix socket,2375端口用于未认证的HTTP通信,2376用于可信HTTPS通信
Docker时默认会把2375端口对外开放
0x07 Dashboard面板暴露
Dashboard面板是一种可视化的数据展示界面,可以展示各种类型的数据和分析结果。通常用于企业的数据分析和决策制定,可以提供实时的数据和反馈。Dashboard面板通常包括多个组件,如图表、计数器、地图和表格等,用户可以根据自己的需求自定义展示内容和排版布局。
当Dashboard面板暴露泄露的时候,Dashboard面板本身就会成为一个比较大的攻击面。
0x08 k8s configfile泄露
configfile作为K8s集群的管理凭证,其中包含有关K8s集群的详细信息,默认的 kubeconfig 文件 $HOME/.kube/config。
0x09 私有镜像库暴露
如果私有镜像库暴露的话,那么如果攻击者拥有了操作私有镜像的权限就可以上传恶意镜像,从而进行恶意攻击。
以上都是集群在初始访问阶段可能遇到的一些问题,如果有任何遗漏再进行补充,并且每一个部分都会单独形成一篇攻与防的文章,以及对一些工具的探讨和整合。
相关文章:
云安全—集群攻击入口攻与防
0x00 前言 说到云安全肯定不能避免的是集群相关的内容,最出色的就是Kubernetes,也就是k8s。当然docker相关的内容也算是集群的一部分。但是docker容器本身的问题还是归属于容器本身。 0x01 概述 在集群攻击入口处的内容主要为: 应用安全恶…...
“传统”开发与AI开发的区别与联系(更新了GPT3.5的反馈)
1、传统开发的算法和软件整体,也可以看成是一个“大模型”,其中有不同层次的处理,最终能够完成从输入到输出的计算,不过,其中的计算都是人工定义的,一般依赖于研究成果的应用。研究成果在实际中的应用处理。…...
Unity 文字显示动画(2)
针对第一版的优化,自动适配文字大小,TextMeshPro可以拓展各种语言。第一版字母类语言效果更好。 using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI;public partial class TextBeat…...
力扣每日一题53:最大子数组和
题目描述: 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums [-2,1,-3,4,-1,2,1,…...
图论04-【无权无向】-图的广度优先遍历
文章目录 1. 代码仓库2. 广度优先遍历图解3.主要代码4. 完整代码 1. 代码仓库 https://github.com/Chufeng-Jiang/Graph-Theory 2. 广度优先遍历图解 3.主要代码 原点入队列原点出队列的同时,将与其相邻的顶点全部入队列下一个顶点出队列出队列的同时,将…...
layui的一些问题
为什么table.render, ins1.config有时候获取的值是上一次的?例如ins1.conf.page.curr? 这是一段table.render代码 let ins1 table.render({...})一般情况下ins1.conf可以获得表格的当前页,页数等;但是有时候获得的页数是上一次的;主要是因为在table.reload后没有继续赋值的…...
设计模式_中介者模式
中介者模式 介绍 设计模式定义案例问题堆积在哪里解决办法中介者代替了多个对象之间的互动 使对象1 2 3 之间的互动 变为: 对象1->中介 对象2->中介 对象3->中介好友之间 约饭好友1 通知 好友2 -3 -4 等等加一个群 谁想吃饭就 通知一下 类图 代码 角色 …...
062:mapboxGL通过jumpTo方式跳转到某位置
第062个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中通过jumpTo方式跳转到某位置。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共122行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置…...
学成在线第一天-课程内容管理服务搭建以及查询课程接口设计
目录 一、搭建课程内容管理服务 二、设计接口 三、面试题 四、总结 一、搭建课程内容管理服务 没什么好说的,直接就是创建内容模块 然后这个继承父模块,然后再课程内容模块下面创建三个子模块,model、sevice、controller model依赖base…...
4.7 IP多播
思维导图: **4.7.1 IP多播的基本概念** --- **1. 定义和背景** - IP多播:从一个源点发送信息至多个终点的技术。 - 1988年:Steve Deering首次提及IP多播。 - 1992年:IETF进行了首次IP多播试验,当时有20个网点参与。 …...
XML与html解析,区别,如何使用
目录 简介: HTML(超文本标记语言): 如何使用HTML: XML(可扩展标记语言): 如何使用XML: 区别: 简介: XML(可扩展标记语言)和 HTMLÿ…...
【广州华锐互动】利用VR开展建筑塔吊安全操作学习的好处?
随着科技的不断发展,虚拟现实(VR)技术已经逐渐渗透到各个领域,为人们的生活带来了前所未有的便利。在工程教育领域,VR建筑塔吊安全操作学习作为一种新型的教学手段,正逐渐成为提高教学质量和培养高素质工程…...
分享一下怎么开发一个陪诊小程序
开发一个陪诊小程序需要综合考虑许多方面,包括但不限于市场需求、用户体验、技术实现和运营策略。以下是一篇以开发陪诊小程序为主题的文章。 一、背景介绍 随着社会的发展和人口老龄化的加剧,越来越多的老年人、病患和孕妇需要就医,而由于各…...
从一道面试题开始学习C++标准库提供的并发编程工具
一个空列表,用两个函数(只可调用一次)轮流写入值(一个写奇数,一个写偶数), 最终实现列表的值为1-100,有序排列。 简单分析:假设这两个函数分别为A和B,A函数往…...
第三章 内存管理 十三、页面置换算法(最佳置换算法、先进先出置换算法、最近最久未使用置换算法、时钟置换算法、改进型的时钟置换算法)
目录 一、定义 二、分类 1、最佳置换算法 / 最远置换算法(OPT,Optimal): 1.1、定义: 1.2、例子: 2、先进先出置换算法(FIFO): 2.1、定义: 2.2、实现方法: 2.3、例子: 3、最…...
连接到EC2,开启root登录
1.启动完新实例,下载密钥对密钥对登录 ssh -i "ec2-user.pem" ec2-userec2-xx-xx-xx-xx.compute-1.amazonaws.com2.为root设置密码 sudo passwd root3.切换到root权限 su root4.修改ssh配置文件,允许密码登陆 vi /etc/ssh/sshd_config Pas…...
线性代数-Python-02:矩阵的基本运算 - 手写Matrix及numpy中的用法
文章目录 一、代码仓库二、矩阵的基本运算2.1 矩阵的加法2.2 矩阵的数量乘法2.3 矩阵和向量的乘法2.4 矩阵和矩阵的乘法2.5 矩阵的转置 三、手写Matrix代码Matrix.pymain_matrix.pymain_numpy_matrix.py 一、代码仓库 https://github.com/Chufeng-Jiang/Python-Linear-Algebra-…...
6.MySQL内置函数
个人主页:Lei宝啊 愿所有美好如期而遇 日期函数 current_date() 当前日期 select 可以做表达式和函数的计算。 current_time() 当前时间 current_timestamp() 当前日期加时间 注意:值得说明的是这三个函数底层调用的都是同一个函数,只不…...
3dmax中导出模型到unity注意事项
从3dmax中导出 1. 注意单位,根据需要,选英寸还是选厘米 2. 不能导出有错误的骨骼,否则导入后模型网格里出现 Skinned Mesh Renderer ,对网格变换移动有影响,正常情况下都应该是 Mesh Renderer 3. 导出一般不带光源和…...
QTday05(TCP的服务端客户端通信)
实现聊天室功能 服务端代码: pro文件需要导入 network 头文件: #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer>//服务端 #include <QTcpSocket>//客户端 #include <QList> #include <QMes…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
