数字医学与健康大会DMHC——美创与您相约古都金陵
2025-08-12
美创科技打造县域医疗灾备新标杆|神木市医院 HIS 系统数据库分钟级切换演练实录
2025-07-02
百万罚单警示!DCAS助力金融机构筑牢数据安全防线,实现监管合规
2025-06-20
2025中国互联网产业年会丨《中国互联网产业绿色算力发展倡议》正式发布
2025-02-07
美创用户专访 | 精细化管理:医疗行业数据分类分级的策略与实践
2025-01-10
存储域
数据库加密 诺亚防勒索访问域
数据库防水坝 数据库防火墙 数据库安全审计 动态脱敏流动域
静态脱敏 数据水印 API审计 API防控 医疗防统方运维服务
数据库运维服务 中间件运维服务 国产信创改造服务 驻场运维服务 供数服务安全咨询服务
数据出境安全治理服务 数据安全能力评估认证服务 数据安全风险评估服务 数据安全治理咨询服务 数据分类分级咨询服务 个人信息风险评估服务 数据安全检查服务入侵和感染
攻击者可能会滥用容器管理服务在容器内执行命令。如docker、kubernetes、kubelet等容器管理服务都可以允许在环境中远程管理容器。在docker中,攻击者会在容器部署期间指定一个入口点来执行脚本或命令,如dockerexec在正在运行的容器内执行命令。在kubernetes中,如果攻击者拥有足够的权限,可以通过与kubernetes api服务器进行命令交互,kubelet的交互运行可以通过kubectl exec进行。输出:容器的命令执行结果
1. docker安装
在ubuntu18中安装dockercurl -sSL https://get.daocloud.io/docker | sh
2. docker中安装centos
docker pull centos
3. docker命令执行,执行其中的centos
docker images 查看已安装的镜像
docker run -d -I -t Imageid /bin/bash
docker ps 查看运行中的docker容器
docker attach 容器id :进入对应容器,并可在容器内执行相关命令
二:Kubernetes命令执行
K8s是基于容器的集群管理平台,全称为Kubernetes。一个K8s系统,通常称为K8S集群(Cluster),这个集群主要包括两个部分,一个Master节点(主节点),一群Node节点(计算节点)。
Master节点包括API Server、Scheduler、Controller manager、etcd。
APIServer 是整个系统的对外接口,供客户端和其他组件调用,相当于“营业厅”。
Scheduler负责对集群内部的资源进行调度,相当于“调度室”。
Controllermanager负责管理控制器,相当于“大总管”。
Node节点包括Docker、kubelet、kube-proxy、Fluentd、kube-dns(可选),还有就是pod
Pod是Kubernetes最基本的操作单元。一个Pod代表着集群中运行的一个进程,它内部封装了一个或多个紧密相关的容器。除了Pod之外,K8S还有一个service的概念,一个Service可以看作一组提供相同服务的Pod的对外访问接口。
Docker:用于创建容器
Kubelet:用于负责监视指派到它所在Node上的Pod,包括创建、修改、监控、删除等。
Kube-proxy:主要负责对Pod对象提供代理。
Fluentd:主要是负责日志收集、存储与查询。
1. 添加国内源,由于需要下载kubeadmin/kubelet/Kubernetes-cni,需要添加国内的下载地址,这里以中科大为例子:
cat<
debhttp://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
EOF
2. 下载Docker & Kubeadm & Kubelet & Kubernetes-cni
apt-get update && apt-get install -y docker.io kubeletkubernetes-cni=0.6.0-00 kubeadm
这里需要互相之间具有依赖关系,可以一个个依次下载
添加源之后,使用 apt-get update 命令会出现错误,原因是缺少相应的key,可以通过下面命令添加(E084DAB9 为上面报错的key后8位):
gpg --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
gpg --export --armor E084DAB9 | sudo apt-key add –
如果不关闭swap,运行kubernetes可能会出现错误,即使安装成功了,node重启也会出现kubernetes server运行错误
sudo swapoff -a #暂时关闭
3. 安装kubeadm所需要的docker镜像
Kubeadm config images list 查看所需要的docker镜像
由于k8s.gcr.io,被国内墙了,这里可以用阿里云的地址进行下载
fori in `kubeadm config images list`; do
imageName=${i#k8s.gcr.io/}
docker pullregistry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
docker tagregistry.cn-hangzhou.aliyuncs.com/google_containers/$imageNamek8s.gcr.io/$imageName
docker rmiregistry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
done;
注意这里其中coredns容器,在tag命名时,主要有2个coredns,最后安装完容器后。
4. 安装kubelet
kubeadm init --ignore-preflight-errors=all
成功安装
添加网络插件,不然新创建的容器都无法正常访问
sysctl net.bridge.bridge-nf-call-iptables=1
kubectl apply -f https://cloud.weave.works/k8s/net?k8s-version=$(kubectlversion | base64 | tr -d '
')
创建Pod
kubectl create -f https://raw.githubusercontent.com/kubernetes/website/main/content/zh/examples/application/shell-demo.yaml
查看所有命名空间下的所有容器
kubectlget pods --all-namespaces
查看某个容器
kubectlget pod shell-demo
进入某个容器的系统命令
kubectlexec -it shell-demo -- /bin/bash
参考链接:
K8s安装教程:
https://zhuanlan.zhihu.com/p/46341911
K8s集群渗透:
https://www.freebuf.com/vuls/196993.html