文前漫谈

个人感觉,做云一定要简单看下云官方的SDK文档,也可以看别人产出总结出的文章。你看不懂的“黑话”,可能在官方的文档里都有详细的解释。

对头部的云厂商是这样,私有云肯定也是。著名的CF框架,就是拿到AK后,从开发者的角度利用账户的权限对云上的主机进行批量操作,这本身也是云厂商给客户的正常功能。说白了就是我们接管,“帮运维干活”。

本文记录和介绍云厂商通用概念、云上、学习SDK开发文档遇见的内容。

Access Key

为了保障云主机的安全性,各家云在API调用时均需要验证访问者的身份,以确保访问者具有相关权限。这种验证方式通过Access Key来实现,Access Key由用户自己创建,各家云颁发给云主机的所有者,它由Access Key ID和Access Key Secret构成,其重要性等同于用户的登录密码,代表了账号所有者的身份以及对应的权限。

拿腾讯云举例,其他云厂商都差不多,访问路径:

云产品 > 管理与审计 > 访问密钥 (From 腾讯云 用户手册 (cloudam.cn)

tencent

tencent

AK特征

CF 0.5.0版本已经开始引入查询AK所属云厂商的功能,qurery.go文件里

image-20230702194048125

随便自己构造个,查询验证

image-20230702201510743

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/

华为云 http://169.254.169.254

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(代码层)

未完……