云安全—集群攻击入口攻与防
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…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...

现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...

使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...