在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何保護Kubernetes的機密信息

馬哥Linux運維 ? 來源:奇妙的Linux世界 ? 作者:奇妙的Linux世界 ? 2022-04-19 17:13 ? 次閱讀

現如今開發的大多數應用程序,或多或少都會用到一些敏感信息,用于執行某些業務邏輯。比如使用用戶名密碼去連接數據庫,或者使用秘鑰連接第三方服務。在代碼中直接使用這些密碼或者秘鑰是最直接的方式,但同時也帶來了很大的安全問題,如何保證密碼、秘鑰不被泄露。

如果你的應用程序已經被容器化,且使用Kubernetes(k8s),那情況會好很多。Kubernetes提供了一個原生資源,稱為“Secret”,可用于管理和存儲敏感信息。敏感信息被編碼為未加密的Base64格式,并被存儲在Secret對象中。Secret可以作為環境變量被注入到Pod內部的容器中,也可以作為數據卷掛載到容器內部。

為了保證敏感信息的安全性,Secret對象應該被加密,并且應該使用Kubernetes RBAC機制對訪問進行控制。如果你正在使用AWS公有云來托管Kubernetes集群,則可以利用AWS密鑰管理服務(KMS)對靜態數據進行加密。

Kubernetes的清單文件通常被提交到代碼倉庫中以進行版本控制。但是你可能不希望將敏感信息以純文本或Base64編碼字符串的形式提交到Git代碼倉庫中。我們都應該知道為什么,這不安全!但是,你在Kubernetes集群之外將敏感數據保存在何處,以確保它們是安全的?

有很多方法可以解決這個問題。下面列出了其中幾個:

1選項1:加密純文本敏感數據,然后再提交到Git代碼倉庫中

使用對稱或非對稱算法加密純文本敏感數據。

使用Kubernetes Custom Resource Definition(CRD)創建自定義的Secret對象,以使用加密的文本數據。

創建一個自定義Kubernetes控制器,該控制器讀取自定義Secret對象中的加密信息,并在運行時解密,并創建一個原生的Secret對象。

使用這種方法,你可以將加密的數據提交到Git代碼倉庫中。而且它沒有風險,因為數據是加密的,只能用你的私鑰解密。但是你把私鑰放在哪里?

如何存儲加密密鑰和管理整個加解密過程,可以使用Bitnami的Sealed Secrets[1]。

2選擇2:使用第三方服務來存儲敏感數據

你可以將敏感數據存儲到第三方服務中,如AWS Secrets Manager或HashiCorp Vault。

創建自定義Kubernetes控制器,基于配置從這些服務中獲取機密信息,并在運行時創建Kubernetes Secret對象。

External Secrets[2]項目可以幫助你實現選項2。

你還可以增強應用程序邏輯,以便在應用程序啟動時從第三方服務讀取機密信息,但這里的整體思想是將機密信息管理與應用程序業務邏輯分離開來,并利用Kubernetes的功能來進行相同的管理。

3快速概覽Sealed Secrets

在Sealed Secret開源項目中,你可以將你的Secret加密為一個SealedSecret,這樣就可以安全地存儲,甚至可以存儲到公共存儲庫中。SealedSecret只能由運行在目標集群中的控制器解密,其他人,甚至包括原始作者,都無法從SealedSecret獲得原始的Secret。

Sealed Secrets由兩部分組成:

服務器端的控制器

客戶端工具:kubeseal

kubeseal使用非對稱加密來加密數據,然后只有服務端的控制器才能解密數據。

這些加密數據被編碼在SealedSecret資源中,你可以將其視為創建Secret的配方。

下面是如何使用Sealed Secrets來管理Secret的具體步驟。

1、安裝kubeseal,這是一個客戶端工具,可以幫助你創建SealedSecret

>wgethttps://github.com/bitnami-labs/sealed-secrets/releases/download/v0.15.0/kubeseal-linux-amd64-Okubeseal

>sudoinstall-m755kubeseal/usr/local/bin/kubeseal

2、安裝服務器端控制器,為SealedSecret創建Custom Resource Definition(CRD)

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

rolebinding.rbac.authorization.k8s.io/sealed-secrets-service-proxiercreated
role.rbac.authorization.k8s.io/sealed-secrets-key-admincreated
clusterrole.rbac.authorization.k8s.io/secrets-unsealercreated
deployment.apps/sealed-secrets-controllercreated
customresourcedefinition.apiextensions.k8s.io/sealedsecrets.bitnami.comcreated
service/sealed-secrets-controllercreated
clusterrolebinding.rbac.authorization.k8s.io/sealed-secrets-controllercreated
serviceaccount/sealed-secrets-controllercreated
role.rbac.authorization.k8s.io/sealed-secrets-service-proxiercreated
rolebinding.rbac.authorization.k8s.io/sealed-secrets-controllercreated

3、驗證sealed-secret controller Pod是否運行

>kubectlgetpods-nkube-system-lname=sealed-secrets-controller

NAMEREADYSTATUSRESTARTSAGE
sealed-secrets-controller-7c766b885b-d5r2r1/1Running07m39s

如果你查看Pod的日志,你將看到控制器為自己創建的一對秘鑰,這對秘鑰將被用于加解密過程。

>kubectllogssealed-secrets-controller-7c766b885b-d5r2r-nkube-system

controllerversion:v0.15.0
2021/05/012034Startingsealed-secretscontrollerversion:v0.15.0
2021/05/012034Searchingforexistingprivatekeys
2021/05/012035Newkeywrittentokube-system/sealed-secrets-keymt6dg
2021/05/012035Certificateis
-----BEGINCERTIFICATE-----
MIIErjCCApagAwIBAgIRAJqYfaZsali26I8pvBXoFGYwDQYJKoZIhvcNAQELBQAw
ADAeFw0yMTA1MDEyMDEzMzVaFw0zMTA0MjkyMDEzMzVaMAAwggIiMA0GCSqGSIb3
DQEBAQUAA4ICDwAwggIKAoICAQDp/yO5PY8ACHBDuguhtfpOwlbScK9hZorJloyx
ixVCc57j1zMSX0pSVcrk1Yuyf6sYvBQtDi16kM70z6y/ODiz+9g87K/jY7B0UAoi
mpzM/T0tWJiG9ixyNMZhHoNREauokSlbERq3Jl8ZNTfmxHWhLH7DhkJ7MdpQfMpK
a3XHcSZyz1mXFqv+OSCCwllWCRHmHgp/vqudAv8+NYm0gnAxKt2fjlv/ObX8J1RI
CtLnlsCpp/9SyVcSTeYYaqjUsI7fTUZ7tkTE/bdQHwf3xe4DhUty7xLqMF1OPSPw
EetL8fGO0VqoSQFKQ0Bf78+8vhAA2cwkuqB6vQQm9pT3yC5niSCUo+jwFcfyknjr
yx8DINbq6K9B40EXh8X7w4I6zwYpyT0GoNU54wW0ki8pHRm7EnFeBOkUvNspzmKn
t/EZEDVq74Kkl/BRNRvKHYlwudSoJuvvX6JM8DVvRp0lMPnXnG3RLSmCP3gEFQBZ
DhbnkwO+6ADX9Q4vyqelWoHWdVGVULDlMDhSzvEhFFgPcZXzWTShH81vfl8M6lpT
U0ysZkA6i3A29XEJpPj35yWPBDWmKF5fLM3ChMt/NSJEeoJN1RboPDAgVUTxEW59
q+Tq09/zlYD7Ch8PNc3IWNXjFNXmCAAOw9Z1VBbD8p6LrC5JvBtPoWYqufWVXQD9
KDe+6wIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAAEwDwYDVR0TAQH/BAUwAwEB/zAN
BgkqhkiG9w0BAQsFAAOCAgEAvu//VzDREYZPPIW1maTxo9C/nHEEuOP0rQU3zVQr
bBYf8N0b5wpCllESCgi0JDJJXrE8KrjfdtawjoBrBlHOdWHF+fIot2KbrC/i37em
/ulMAgiiJzrKM/ExJuCuH60fsSIx4wrg46tQpU8jHFWq7nGnsaE+UN3QPjuvQ+qo
KKDSBLDxLx+q9vBfaXElblh4okUI8Pr4UEEJrYiPzPM6nA9EPpy53N3si4jyDJJb
2IsCUa2bW6iBhpyZOQQUPn22ziWRQ/sYYNmtP/gX0rwtk+Rr8TTdzPYGZcYfMQ6O
TFq4Zo2/TnpCL/CUr2DiSuF2qdWGGvbQOENYq2FNuDI4zeljElcZHXA8nhpbNSJs
7VNqqz5ZTFCKyL0Gn6SawGT7EdwBT2AD3F33Qd/7bXG/On7KdVw6FKHbZOR2RcoS
YFQv7Xr8g/4atQjxDa7R5+zkxd5unsvpFhYM1UfNJc4cjJ7SmfCCHoPGiwZ0OgqB
6SvUVU64QmMMJ/jYAJkYMOakSHaRITHAvvBjpAMKxSjjb7qZD5FnpXLhRY9lNiY6
MnnQRxJskCw+R6geIAHTMzAofMfc1haIEr+3oMFZfyh1LFFsz3B4hMxXYKrWYDje
+96bhAY9X7L0UfREjmw8HCeZneEuBJjX9z/PyIeMdhViLh9uO/MAL1MBxdBVA55+
LW8=
-----ENDCERTIFICATE-----

2021/05/012035HTTPserverservingon:8080

運行以下命令查看公鑰/私鑰信息。

>kubectlgetsecret-nkube-system-lsealedsecrets.bitnami.com/sealed-secrets-key-oyaml

4、創建一個名為secrets.yaml的Secret清單文件

apiVersion:v1
data:
DB_PWD:cGFzc3dvcmQ=//base64encoded
DB_USER:cm9vdA==//base64encoded
kind:Secret
metadata:
name:db-secrets

現在讓我們使用kubeseal命令,將secrets.yaml轉變為SealedSecret資源清單文件。

>kubeseal--format=yamlsealed-secret.yaml

>catsealed-secret.yaml

apiVersion:bitnami.com/v1alpha1
kind:SealedSecret
metadata:
creationTimestamp:null
name:db-secrets
namespace:default
spec:
encryptedData:
DB_PWD:AgDaCRi27RV4/sVI2ok7JlqBSKT5+c7gGJog+...
DB_USER:AgAZG67CrrOBnyKIKha7xhJulr+CQGPaE/PpsjvY8jJR0IDO2...
template:
metadata:
creationTimestamp:null
name:db-secrets
namespace:default

在上面的步驟中,kubeseal從Kubernetes集群獲取公鑰并使用該公鑰加密數據。

5、讓我們使用SealedSecret資源清單文件,在Kubernetes中創建資源。

>kubectlapply-fsealed-secret.yaml

如果你再次檢查控制器的日志,你將看到控制器攔截了請求,并解密來自SealedSecret的加密數據,數據被解密后,將創建Kubernetes的Secret對象。

>kubectllogssealed-secrets-controller-7c766b885b-d5r2r-nkube-system

2021/05/012006Updatingdefault/db-secrets
2021/05/012006Event(v1.ObjectReference{Kind:"SealedSecret",Namespace:"default",Name:"db-secrets",UID:"fd89a7e7-c81a-4110-9de6-6b65195169d3",APIVersion:"bitnami.com/v1alpha1",ResourceVersion:"19365",FieldPath:""}):type:'Normal'reason:'Unsealed'SealedSecretunsealedsuccessfully

一旦創建了Kubernetes Secret對象,就可以將它作為環境變量注入到容器中,或者作為數據卷掛載。

上面步驟4中創建的SealedSecret資源清單文件可以被提交到Git代碼倉庫中。secrets.yaml文件可以丟棄,因為它不再需要了。被存儲在sealed-secret.yaml文件中的數據是安全的,它是被加密的,且只能由運行在Kubernetes集群中的Controller解密。

希望這篇文章能讓你知道如何保護Kubernetes的機密信息。

原文標題:如何優雅的保護 Kubernetes 中的 Secrets

文章出處:【微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    113

    文章

    16508

    瀏覽量

    179970
  • 代碼
    +關注

    關注

    30

    文章

    4846

    瀏覽量

    69283
  • kubernetes
    +關注

    關注

    0

    文章

    228

    瀏覽量

    8771

原文標題:如何優雅的保護 Kubernetes 中的 Secrets

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    高通指控蘋果偷竊芯片機密,用于改進英特爾的芯片性能

    9月26日訊,據CNBC報道,提交至美國加州高等法院的一份文件顯示,高通對蘋果提出了多項指控,其中包括蘋果偷竊其機密信息和商業機密,以改進高通的競爭對手英特爾的芯片性能。
    的頭像 發表于 09-26 10:37 ?3534次閱讀

    SK海力士機密信息被盜

    據韓媒報道,近期SK海力士遭受了黑客組織Maze的勒索攻擊,目前Maze聲稱入侵了SK海力士11TB的數據,并公布了約600MB的數據信息,約占其總數據量的5%。
    的頭像 發表于 08-24 14:21 ?3291次閱讀

    如何讓員工高效地分享企業知識的同時又能保護機密文件的

    NTA-文檔保密的“硬”辦法如何防止員工離職時擅自拷貝帶走機密資料? 如何防止設計圖紙、程序源代碼等機密信息等泄露給競爭對手? 如何讓員工高效地分享企業知識的同時又能保護機密文件的安全
    發表于 09-16 10:04

    防止u盤機密文件泄露,請給U盤文件加密

    給網絡攻擊或者丟失,沒有你設置的密碼也是無法打開U盤中某些重要的文件。 為了保證你U盤中某些機密資料、個人隱私的安全,防止此類信息外泄給你帶來損失,請給你U盤中的文件加密保護。如果你使用的U盤是加密U
    發表于 04-20 17:15

    CyUSBSerial庫許可條款什么是機密和專有信息

    所有,2012-2013,保留所有權利未發表的、許可的軟件。第七章機密信息和專有信息這是柏樹的特性。第七章這個文件的使用是受支配的由文件中包含的許可協議第七章安裝和/許可證/許可證/許可證第七章
    發表于 10-22 14:48

    基于STC的加密信息存儲與游戲操作系統設計

    HNU小學期計算機系統設計與創新基礎訓練——加密信息存儲與游戲操作系統一、 選題名稱二、 選題背景三、 實現功能1. 主要功能2. 細節設計四、 設計思路五、 基本原理1. 數碼管與發光二極管1.1
    發表于 02-18 06:13

    彩色遙感影像的機密詮釋信息隱藏技術

    實現彩色遙感影像的機密詮釋信息隱藏技術,研究信息嵌入域的選擇方法,提出空間信息隱藏W(L) 矩陣方法。實驗結果表明,該技術具有透明性較高、信息
    發表于 03-20 13:40 ?24次下載

    什么是增強保密信

    什么是增強保密信件 為提供電子郵件的保密性,需要一定的機制來向發送者和接收者確保信息機密的,信息來源可靠并沒有被更改和
    發表于 04-03 16:19 ?357次閱讀

    高通指控蘋果竊取商業機密幫助英特爾 最后因證據不足駁回訴訟請求

    26日,高通提交給加州最高法院的文件顯示,指控蘋果竊取其大量機密信息和商業機密,從而幫助英特爾公司提升芯片性能。
    的頭像 發表于 09-28 11:55 ?3396次閱讀

    虛擬局域網的優點

    虛擬局域網優點之一:具有安全穩定性。虛擬的局域網可以使局域網更加的安全,它能夠讓比較敏感的帶有數據的用戶和網絡的其他部分進行一定的隔離,這樣就能夠保護網絡的機密信息了,可以有效的防止機密信息的泄漏。
    的頭像 發表于 02-28 14:26 ?1.3w次閱讀

    超過40款高通芯片存在“旁路漏洞”,該漏洞可被用來竊取芯片內所儲存的機密信息

    4月28日消息,近日英國安全機構NCC Group公布了一則重磅消息:超過40款高通芯片存在“旁路漏洞”,該漏洞可被用來竊取芯片內所儲存的機密信息,并波及采用相關芯片的Android手機等相關裝置。
    的頭像 發表于 04-30 14:22 ?3737次閱讀

    晶心科技與Silex Insight達成戰略合作,推出RISC-V信任根完整解決方案

    Silex Insight推出的高級eSecure IP模塊為安全應用的完整解決方案,能防止機密信息外泄,并提供安全啟動、密鑰認證與應用程序的保護
    發表于 11-07 14:26 ?1604次閱讀

    LG電子和SK海力士遭遇勒索軟件攻擊,竊取50GB機密信息

    這年頭不管多大的公司,一不小心都有可能被黑客盯上,韓國兩大電子巨頭SK海力士、LG電子就被黑了,多達50GB機密文件被加密勒索。
    的頭像 發表于 09-11 16:58 ?2099次閱讀

    電腦的機箱風扇不聯網也能泄露機密信息

    想法太天真了。他們用實驗證明,即使不聯網,機箱里的風扇也能泄露你的機密信息。 ? 這項研究的作者 Mordechai Guri 來自以色列本·古里安大學。在最近發表的一篇論文中,他提出了一種名為 AiR-ViBeR 的數據竊取技術。令人頗為震驚的是,這
    的頭像 發表于 01-12 09:43 ?2865次閱讀

    特斯拉起訴前供應商:干電極電池技術商業機密泄露風波

    其竊取特斯拉的商業機密,并試圖為與電動汽車電池相關的機密信息申請專利,同時將這些敏感信息分享給特斯拉的競爭對手。
    的頭像 發表于 06-20 10:36 ?1809次閱讀
    主站蜘蛛池模板: 手机看片精品国产福利盒子 | 日本三浦理惠子中文字幕 | 精品四虎免费观看国产高清午夜 | 侵犯希崎中文字幕在线 | 日韩a视频 | 免费一级毛片在级播放 | 不卡中文字幕在线 | 色多多在线观看高清免费 | 久久婷婷国产精品香蕉 | 拍拍拍成人免费高清视频 | 亚洲伊人网站 | 亚洲五月综合网色九月色 | 久久综合免费 | 美女被免费网站视频在线 | 韩国三级理论在线看中文字幕 | 高清视频黄色录像免费 | 天天好比网 | 午夜视频免费在线 | 悠悠影院欧美日韩国产 | 一级大片视频 | 天天狠天天干 | 天天干夜夜艹 | 三级电影在线观看视频 | 天堂在线.www资源在线观看 | 精品国内一区二区三区免费视频 | 美女网色站 | 97理论三级九七午夜在线观看 | 种子在线搜索bt | 日本a级精品一区二区三区 日本a级特黄三级三级三级 | 婷婷丁香亚洲 | 日本一区二区三区四区在线观看 | 色婷婷国产 | 日韩一级特黄毛片在线看 | 日本大片免a费观看在线 | 国产精品一区电影 | 欧美成人免费网站 | 亚洲成色在线综合网站 | 天堂中文在线最新版地址 | 一级做a爰片久久毛片图片 一级做a爰片久久毛片鸭王 | 欧美黄色片在线观看 | 2o18国产大陆天天弄 |