0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何规避 Secret 泄露风险

马哥Linux运维 来源:马哥Linux运维 作者:马哥Linux运维 2022-09-26 11:07 次阅读

在 K8s 的管理过程中,像 Secret 这种资源并不好维护,KubeSeal 提供了一种相对简单的方式来对原始 Secret 资源进行加密,并通过控制器进行解密,以此来规避 Secret 泄露风险。

安装

安装 KubeSeal

$wgethttps://github.com/bitnami-labs/sealed-secrets/releases/download/v0.18.0/kubeseal-0.18.0-linux-amd64.tar.gz
$tar-xvfkubeseal-0.18.0-linux-amd64.tar.gz
$cpkubeseal/usr/local/bin/
$kubeseal--version

安装controller

$kubectlapply-fhttps://github.com/bitnami-labs/sealed-secrets/releases/download/v0.18.0/controller.yaml

执行上述命令之后会在 kube-system 命名空间下启动一个控制器 Pod:

$kgetpod-nkube-system|grepseal
sealed-secrets-controller-b9fb75d85-k4csm1/1Running07h28m

Pod 启动之后,使用端口转发映射到本地:

$kubectl-nkube-systemport-forwardsvc/sealed-secrets-controller8080:8080

使用方式

生成加密文件

首先在本地创建一个名为 secret-example.yaml 的文件,编码前的 secret 字段为:mysupersecret

apiVersion:v1
kind:Secret
metadata:
name:secret-example
data:
secret:bXlzdXBlcnNlY3JldAo=

使用如下命令将 secret-example.yaml,转换为加密后的文件 sealed-secret-example.yaml

$kubeseal--secret-filesecret-example.yaml--sealed-secret-filesealed-secret-example.yaml

sealed-secret-example.yaml 的内容如下,spec.encryptedData.secret 就是加密后的内容:

apiVersion:bitnami.com/v1alpha1
kind:SealedSecret
metadata:
creationTimestamp:null
name:secret-example
namespace:kube-system
spec:
encryptedData:
secret:AgB1ZZg8+J+0HLymOQZdTfWVQZiNkhm5X6WULJuBAAEaQQNhM8i2TV2I1SgKT4sUOCRv90XA1oeFld3XoGPjvYE3leOD1cvK1dDVqno6mNLRziokISk/9fB3cVE2GVgyCud//M53xNpVemDufgsJS2q/KGIOeNEijk9ZM2FaKoLDwtPaVNL0NfmC2xne2XtWJp+/eMOREhbubQhnj5M/Se75axazviuDNf6Ss9fAuR38Msd5DXnKBtyrckEHSa8TDn8ErssOh0ogX14e0/ThN3EWJecSBtx7Xfd0m90+vjmvWevMag442349aquR/qLo0mg40mhcCqSBw/MjaIGZ2F5XRufG1WEP43OgLMTixN2lLSU3eYTrv5t075taI9WJgoOl0DD8UA74EMpX7RMKTiXD6C0XngKmMKg5fUK7JNLFfwHMRPi4zNTwJa9ViDyD0iAJrGGbmMso/nHEtwOtrLE5Rrf0kLQ5N6Lj57gOBdqu903/vDM4Jm695GvEWL2aR3ShOxasHCuZeXj8Q5+KYWeF9sySiJH8bwEtaw6x7j9AxBOwjxWYD0Jvj9KhtlqBa4okSDc3bcgRKGhsSXQx6jOumI5rj+V542hkB6Z8JOtJ17VmzR6XDQDmqSl1FqqwKD5n5yUy5Kf6pJYBnsgKn3TzesQ6JfQbyRLTh1Pn3odOYCnp+Ixbd0Tgn0n5m0KO3RX0hiwGoe0hObIZcsF36g==
template:
data:null
metadata:
creationTimestamp:null
name:secret-example
namespace:kube-system

可以将加密后的文件保存到 Gitlab。

创建加密文件:

$kcreate-fsealed-secret-example.yaml
sealedsecret.bitnami.com/secret-examplecreated

$kgetsealedsecrets.bitnami.com
NAMEAGE
secret-example6s

在创建完加密文件之后,Controller 会解密并生成对应的 secret:

$kgetsecrets|grepsecret-example
secret-exampleOpaque12m15s

查看由 Controller 生成的 secret 资源内容,可以看到 data.secret 与上面创建的 secret-example.yaml 文件内容一致:

$kgetsecretsecret-example-oyaml
apiVersion:v1
data:
secret:bXlzdXBlcnNlY3JldAo=
kind:Secret
metadata:
creationTimestamp:"2022-06-10T0040Z"
name:secret-example
namespace:kube-system
ownerReferences:
-apiVersion:bitnami.com/v1alpha1
controller:true
kind:SealedSecret
name:secret-example
uid:57a5b691-9bb5-4dac-800a-1a1baa878299
resourceVersion:"675560"
uid:e0db31ad-082b-4596-9fd0-28cc810d86f4
type:Opaque

注:SealedSecret 和对应的 secret 资源必须位于相同的命名空间

TIPs

kubeseal 支持如下API:

Route Description
/healthz Health check route useful for the readiness and liveness probes and for creating an external probe; for example with blackbox exporter.
/metrics Endpoint for the Prometheus to retrieve the controller’s metrics.
/v1/verify Validates a secret.
/v1/rotate Rotates the secret.
/v1/cert.pem Retrieves the public certificate.

上例中 Controller 用的证书是自己生成的,还可以指定自己的证书,更方便迁移和管理

使用 KubeSeal 可能会有一种困惑,如果用户直接挂载其他命名空间的 secret,那么这样可能会导致 secret 泄露。官方对此有作解释,如可以通过 RBAC 限制用户可以访问的命名空间以及资源类型。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    15154

    浏览量

    170956
  • 编码
    +关注

    关注

    6

    文章

    835

    浏览量

    54452
  • 端口
    +关注

    关注

    4

    文章

    820

    浏览量

    31572

原文标题:如何使用 KubeSeal 高效加密和管理 Kubernetes 集群的 Secret

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    关于手机串号泄露会造成什么风险

    此问题属于什么我也不清楚。小白一个。本人所在公司统计我们使用的手机串号,以及让下载一个app。听以前的同事说,手机会被监控,哪怕把软件泄露了还是会被监控,所以请大神能给予解答。统计上报的是在拨号页面点击*#06#后出现的那几排数字,希望有高手给予解答,谢谢您
    发表于 07-15 22:23

    labview调用PsyQrDcd.dll 实现QR code识别,可以识别一张图片中的多个QR CODE

    。GetDecodeDataString获取QR CODE字符串FreeAllocateMemoryPsyQrDcd有内存泄露风险,最后调用此函数具体请参考附件。这三个基本的函数可以获取到QR CODE,PsyQrDcd是否
    发表于 10-20 18:16

    什么是锡须?锡须的危害是什么?如何规避锡须?

    什么是锡须?锡须的危害是什么锡须产生的机理是什么锡须风险如何规避
    发表于 04-25 08:20

    怎样选择合适的服务器规避风险

    怎样选择合适的服务器规避风险  面对各式各样的服务器产品层出不穷,却让用户们看花了眼,是选择RISC还是X86,是选择多路服务器还是选择多核
    发表于 01-27 13:37 342次阅读

    家用智能设备也有被黑的风险 六招教你如何防黑客

    联网家电在生活中出现得越来越频繁,从无线耳机到电脑摄像头,从电视机顶盒到智能冰箱,“物联网”让生活变得越来越便捷。然而,无处不在的网络却也给信息与隐私安全蒙上了一层阴影。来一起仔细审视家里的隐私泄露风险
    发表于 06-26 17:55 1338次阅读

    高危预警!雅虎30亿用户数据被窃,千万中国用户信息遭遇危机

    据有关报道,雅虎向外宣布30亿用户信息被盗,其中还有千万中国用户面信息面临泄露风险,这一泄露简直就是“半个世界”被盗的感觉。
    发表于 10-12 16:17 859次阅读

    可穿戴蓝牙设备存在泄露隐私的风险

    开蓝牙可能泄露隐私?可穿戴蓝牙设备隐藏风险
    的头像 发表于 08-23 15:37 6185次阅读

    智能电视存在隐私泄露风险 这个问题不容忽视

    之前曾有报告称智能电视存在隐私泄露风险,近日美国联邦调查局也发布警告称相关的智能电视产品存在着对用户个人隐私泄露风险
    发表于 12-02 15:48 1539次阅读

    人脸识别技术成常态防疫好帮手,谨慎信息泄露风险

    刷脸解锁、刷脸支付、刷脸进校园……近几年,人脸识别技术不断取得突破,应用场景逐渐拓展,进一步便利了我们的生活,在疫情防控常态化阶段更是大显身手。与此同时,仍有一些问题困扰着行业发展,比如在非必要场景过度引入、存在信息泄露风险等。
    发表于 08-28 15:12 1060次阅读

    “刷脸”如何规避安全风险

    购物时“刷脸”支付,乘火车时“刷脸”进站,使用智能终端时“刷脸”解锁……如今,人脸识别的应用场景日益丰富。与此同时,有部分用户认为人脸识别技术有信息泄露、滥用趋势。“刷脸”如何规避安全风险?相关话题频频引发热议。
    的头像 发表于 12-01 11:32 4084次阅读

    Secret-Socks-Extend ssh代理客户端

    ./oschina_soft/Secret-Socks-Extend.zip
    发表于 05-26 15:05 1次下载
    <b class='flag-5'>Secret</b>-Socks-Extend ssh代理客户端

    【openssl】从openssl的常用接口浅谈【内存泄漏】

    使用openssl有内存泄露风险吗?从openssl的常用接口调用浅谈【内存泄漏】的风险规避
    的头像 发表于 08-31 11:24 2163次阅读
    【openssl】从openssl的常用接口浅谈【内存泄漏】

    【开奖】无惧可穿戴产品数据泄露风险 安全芯片护您周全

    此 次Excelpoint世健 《无惧可穿戴产品数据泄露风险  安全芯片护您周全 》 答题赢好礼活动受到了广大工程师的热烈欢迎。感谢各位的积极参与! 答案揭晓 先来一起揭晓一下正确答案吧~ 1.
    的头像 发表于 07-25 09:10 543次阅读
    【开奖】无惧可穿戴产品数据<b class='flag-5'>泄露风险</b>  安全芯片护您周全

    做好人工智能发展的风险防范

    一是放大隐私信息泄露风险。当前,人工智能开发者和服务提供者可能利用用户数据进行优化训练,但相关服务条款却并未对数据使用做出解释说明,可能涉及在用户不知情情况下收集个人信息、商业秘密等,安全风险较为突出。
    的头像 发表于 10-29 10:47 438次阅读

    如何规避软件测试项目的风险

    软件测试 工作中常见的风险有哪些,作为测试人员我们应该如何规避呢? ** 1、需求的风险** 其实存在于测试各阶段,例如:测试人员对需求理解有误、测试后期需求改动。 规避措施: 1)测
    的头像 发表于 12-20 13:06 203次阅读