已解决
OpenShift 4 - 对 OpenShift 的 etcd 数据库加密
来自网友在路上 172872提问 提问时间:2023-11-12 21:25:46阅读次数: 72
最佳答案 问答题库728位专家为你答疑解惑
《OpenShift / RHEL / DevSecOps 汇总目录》
说明:本文已经在 OpenShift 4.14 的环境中验证
文章目录
- 加密 etcd 数据库
- 验证加密的 etcd 数据库
- 解密 etcd 数据库
加密 etcd 数据库
OpenShift 对 etcd 数据库加密时只加密值,而不加密键。而资源类型、命名空间和对象名称是未加密的。
- 执行命令编辑 apiserver 对象。
$ oc edit apiserver
- 添加以下 YAML 配置。其中 aesgcm 用于 AES-GCM 加密,而 aescbc 用于 AES-CBC 加密。
spec:encryption:type: aesgcm
- 修改完 apiserver 后就会对 etcd 进行加密,整个过程需要持续一段时间。可以执行以下命令查看加密过程。
$ oc get openshiftapiserver -o=jsonpath='{range .items[0].status.conditions[?(@.type=="Encrypted")]}{.reason}{"\n"}{.message}{"\n"}'
EncryptionInProgress
Resource routes.route.openshift.io is being encrypted
当返回以下结果代表加密完成。
EncryptionCompleted
All resources encrypted: routes.route.openshift.io
- 执行以下命令可以看到在 etcd 中加密的对象类型,其中包括 secret 和 configmap。
$ oc get kubeapiserver -o=jsonpath='{range .items[0].status.conditions[?(@.type=="Encrypted")]}{.reason}{"\n"}{.message}{"\n"}'
EncryptionCompleted
All resources encrypted: secrets, configmaps
验证加密的 etcd 数据库
- 完成《OpenShift - 利用容器的特权配置实现对OpenShift攻击,以及如何使用 PSA 和 RHACS 防范风险》一文中“环境准备”和“获取 etcd 中的数据”场景。
- 执行命令查看从 OpenShift 集群中复制出来的 etcd 数据库文件,确认已经无法识别 Secret 中的数据了。
$ strings ~/db | grep my-secret -A 10
-/kubernetes.io/secrets/pod-security/my-secret
k8s:enc:aesgcm:v1:1:
fB/7J
JzCF6
A/kubernetes.io/secrets/pod-security/sa-privileged-dockercfg-6f4hv
sk8s:enc:aesgcm:v1:1:
]_ZodzH
1xse
,t]Fm
5EWg
a?~(
解密 etcd 数据库
- 参考加密 etcd 数据库的操作过程,只需要使用以下的 YAML 即可恢复已经加密的 etcd 数据库。
spec:encryption:type: identity
- 解密过程需要一定时间,可通过哟以下命令查看 kubeapiserver 状态。注意:在单节点 OpenShift 环境中会出现需要重新登陆的情况。
$ oc get kubeapiserver -o=jsonpath='{range .items[0].status.conditions[?(@.type=="Encrypted")]}{.reason}{"\n"}{.message}{"\n"}'
DecryptionInProgress
Encryption mode set to identity and decryption is not finished
- 解密完成后会有以下提示。
$ oc get kubeapiserver -o=jsonpath='{range .items[0].status.conditions[?(@.type=="Encrypted")]}{.reason}{"\n"}{.message}{"\n"}'
DecryptionCompleted
Encryption mode set to identity and everything is decrypted
- 解密后可再次使用《OpenShift - 利用容器的特权配置实现对OpenShift攻击,以及如何使用 PSA 和 RHACS 防范风险》一文中“环境准备”和“获取 etcd 中的数据”场景验证。
查看全文
99%的人还看了
相似问题
- MySQL数据库:开源且强大的关系型数据库管理系统
- 【腾讯云云上实验室-向量数据库】探索腾讯云向量数据库:全方位管理与高效利用多维向量数据的引领者
- 【史上最细教程】服务器MySQL数据库完成主从复制
- 字符串结尾空格比较相关参数BLANK_PAD_MODE(DM8:达梦数据库)
- 缓存雪崩、击穿、穿透及解决方案_保证缓存和数据库一致性
- Redis 与其他数据库的不同之处 | Navicat
- 多协议数据库管理软件 Navicat Premium 16 mac中文版功能
- (数据库管理系统)DBMS与(数据库系统)DBS的区别
- duplicate复制数据库单个数据文件复制失败报错rman-03009 ora-03113
- 数据库课后习题加真题
猜你感兴趣
版权申明
本文"OpenShift 4 - 对 OpenShift 的 etcd 数据库加密":http://eshow365.cn/6-38424-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!