云上 -- 云上备忘录和杂学
文前漫谈
个人感觉,做云一定要简单看下云官方的SDK文档,也可以看别人产出总结出的文章。你看不懂的“黑话”,可能在官方的文档里都有详细的解释。
对头部的云厂商是这样,私有云肯定也是。著名的CF框架,就是拿到AK后,从开发者的角度利用账户的权限对云上的主机进行批量操作,这本身也是云厂商给客户的正常功能。说白了就是我们接管,“帮运维干活”。
本文记录和介绍云厂商通用概念、云上、学习SDK开发文档遇见的内容。
Access Key
为了保障云主机的安全性,各家云在API调用时均需要验证访问者的身份,以确保访问者具有相关权限。这种验证方式通过Access Key来实现,Access Key由用户自己创建,各家云颁发给云主机的所有者,它由Access Key ID和Access Key Secret构成,其重要性等同于用户的登录密码,代表了账号所有者的身份以及对应的权限。
拿腾讯云举例,其他云厂商都差不多,访问路径:
云产品 > 管理与审计 > 访问密钥 (From 腾讯云 用户手册 (cloudam.cn))
AK特征
CF 0.5.0版本已经开始引入查询AK所属云厂商的功能,qurery.go文件里
随便自己构造个,查询验证
在RExpository (jaimepolop.github.io)统计有部分云厂商的AK特征,结合CF的正则匹配,写工具或者碰见时记得特征
云厂商 AK正则表达式
阿里云 ^LTAI[0-9a-zA-Z]{20}$
腾讯云 ^AKID[0-9a-zA-Z]{32}$
百度云 ^ALTAK[0-9a-zA-Z]{21}$
火山引擎 前缀为AKL
金山云 ^AKLT[\w-]{20}$
京东云 ^JDC_[0-9A-Z]{28}$
谷歌云 AIza[0-9A-Za-z_\-]{35} 华为云 ^[A-Z0-9]*$
七牛云 ^[a-zA-Z0-9-_]{40}$
优刻得 前缀为UCloud
何处觅AK?
正好碰见群友讨论,最常见的方式
- github泄露
- js文件硬编码
- apk反编译
- 源代码泄露审计
- 通过传统web漏洞进而去翻配置文件【ssrf,文件读取】
- nacos漏洞进后台找
还有比较独特的姿势?比较新奇一点的
-
Nacos漏洞 public空间配置文件
- SprintBoot未授权 heapdump
- 微信小程序反编译
六大云元数据地址速查
AWS http://169.254.169.254/latest/meta-data/
Google Cloud http://metadata/computeMetadata/v1/
Azure http://169.254.169.254/metadata/instance?api-version=2017-04-02
Oracle Cloud http://169.254.169.254/opc/v1/instance/
阿里云http://100.100.100.200/latest/meta-data/
腾讯云 http://metadata.tencentyun.com/latest/meta-data/
k8s常用命令
etcd数据库
kubectl get pods etcd-master -n kube-system -owide
#查看etcd的pod在哪个节点上
etcdctl get / --prefix=true --keys-only #列出整个根目录的keys
\etcdctl.exe --endpoints=42.247.81.54:2379 member list #etcd 指定远程节点
云原生 4C 安全模型,是指在四个层面上考虑云原生的安全:
- Cloud(云或基础设施层)
- Cluster(Kubernetes 集群层)
- Container(容器层)
- Code(代码层)
未完……