摘要:在把數(shù)據(jù)寫入存儲后端之前會先將數(shù)據(jù)加密,所以即使你直接讀取存儲后端數(shù)據(jù)也無法拿到真正的數(shù)據(jù)。數(shù)據(jù)加密可以在不對數(shù)據(jù)存儲的情況下,對數(shù)據(jù)進(jìn)行加密和解密。作為證書服務(wù)器能夠作為服務(wù)器,根據(jù)請求信息自動頒發(fā)證書。
vault介紹 vault是什么
vault是一個密碼/證書集中式管理工具,通過HTTP-API對外提供統(tǒng)一的密碼訪問入口,并且提供權(quán)限控制以及詳細(xì)的日志審計(jì)功能。
一個系統(tǒng)可能需要訪問多個帶密碼的后端:例如數(shù)據(jù)庫、通過API keys對外部系統(tǒng)進(jìn)行調(diào)用,面向服務(wù)的架構(gòu)通信等等。要將眾多系統(tǒng)中的用戶和權(quán)限對應(yīng)起來已經(jīng)非常困難,加上提供密鑰滾動功能、安全的存儲后端還要有詳細(xì)的審計(jì)日志,自定義解決方案幾乎不太可能。這也就是vault存在的意義。
vault的特性(1)安全的存儲后端:任意的鍵值對密碼都能存儲在vault。vault在把數(shù)據(jù)寫入存儲后端之前會先將數(shù)據(jù)加密,所以即使你直接讀取存儲后端數(shù)據(jù)也無法拿到真正的數(shù)據(jù)。vault的存儲后端可以是文件、Consul、etcd等等
(2)動態(tài)密碼生成:vault能夠按需生成某些后端的密碼,例如:AWS、SQL數(shù)據(jù)庫等等。例如當(dāng)一個應(yīng)用需要訪問AWS的S3 bucket,應(yīng)用向vault請求訪問S3 bucket的證書,vault能按需生成一個指定權(quán)限的AWS密鑰,并且能夠根據(jù)租期自動銷毀這個密鑰。
(3)數(shù)據(jù)加密:vault可以在不對數(shù)據(jù)存儲的情況下,對數(shù)據(jù)進(jìn)行加密和解密。安全團(tuán)隊(duì)只需定義好加密方法,開發(fā)將加密后的數(shù)據(jù)存儲在例如SQL之類的后端即可,而無需設(shè)計(jì)自己的加密方式。
(4)租期和續(xù)租:在vualt里面,全部的密碼都可以跟租期聯(lián)系起來。在租期結(jié)束時,vault會自動銷毀對應(yīng)的密碼??蛻舳四軌蛲ㄟ^renew-API進(jìn)行續(xù)租。
(5) 銷毀:vault本身支持對密碼進(jìn)行銷毀,不僅支持銷毀單個密碼,還支持銷毀與之關(guān)聯(lián)的密碼。比如指定某個用戶讀取的全部密碼,或者特定類型的密碼。銷毀功能能夠在密碼被泄露的時候輔助鎖定系統(tǒng)。
vault的使用場景(1) 作為集中存儲各個服務(wù)器賬號密碼的服務(wù)器。目前我們有服務(wù)器需要訪問到有密碼的后端的時候,有幾種方案:
export到環(huán)境變量
寫死到代碼里面
上線的時候使用自動化工具對變量進(jìn)行替換
第一種方案帶來的問題是使用麻煩,后兩種方案帶來的問題是維護(hù)和變更麻煩。比如DB密碼泄露,需要修改密碼,首先DBA修改密碼,然后通知到應(yīng)用,應(yīng)用再做代碼上的變更。如果使用vault的話,DBA只要在vault上面修改好密碼之后通知應(yīng)用重新從vault拉取最新密碼就行了。
(2)為每一個操作單位動態(tài)分配賬號
比如過去我們想要對某些敏感操作進(jìn)行審計(jì),但是由于生成賬號比較麻煩,所以存在公用賬號的情況。vault支持為某些后端動態(tài)生成賬號的功能,比如SQL,當(dāng)某個應(yīng)用向vault請求賬號密碼的時候,vault能夠?yàn)槊看握埱笊梢粋€獨(dú)一無二的SQL賬號密碼。
(3) 作為證書服務(wù)器
vault能夠作為CA服務(wù)器,根據(jù)請求信息自動頒發(fā)證書。并且提供在線CA和CRL的功能。不過目前只能在vault里面新生成ROOT-CA,不能導(dǎo)入原有的ROOT-CA。
(4)作為OAUTH服務(wù)器
vault支持多種認(rèn)證后端,比如github、kubernetes、賬號密碼等等。vault能夠?qū)⑦@些賬號關(guān)聯(lián)成一個用戶,在用戶認(rèn)證之后返回一個token供用戶使用。
最簡單的vault服務(wù)器以Linux-64bit系統(tǒng)為例
# 下載 vault wget https://releases.hashicorp.com/vault/0.9.1/vault_0.9.1_linux_amd64.zip unzip vault_0.9.1_linux_amd64.zip # 啟動dev模式,此模式下任何改動都在內(nèi)存中進(jìn)行,數(shù)據(jù)不會保存 ./vault server -dev # 啟動信息 # ==> Vault server configuration: # ... # Unseal Key: 0Gg1yc/qY2W3f82DnxcZTEjdvMuxpjOV5nzNnVrMy4U= # Root Token: eb45cfe5-9cca-3b23-5416-49f2febeb59c # ... # 我們能看到vault自動監(jiān)聽在了127.0.0.1:8200,并自動為我們生成了unseal-key以及root-token # 啟封 vault,在使用vault之前首先要對vault進(jìn)行啟封,才能對vault進(jìn)行后續(xù)操作。使用上面生成的uneal-key,其實(shí)dev模式下默認(rèn)是已經(jīng)啟封狀態(tài) vault unseal 0Gg1yc/qY2W3f82DnxcZTEjdvMuxpjOV5nzNnVrMy4U= # 認(rèn)證,使用上面的Root Token vault auth eb45cfe5-9cca-3b23-5416-49f2febeb59c # 將vault地址寫入環(huán)境變量 export VAULT_ADDR="http://127.0.0.1:8200"
# 使用vault-cli操作vault,實(shí)際上后臺是調(diào)用通過HTTP-API來操作vault # 寫入密碼,在此你可以寫入任意的鍵值對 vault write secret/vault host=127.0.0.1 password=123456
# 讀取剛剛寫入的密碼 vault read secret/vault結(jié)語
當(dāng)然vault能做的遠(yuǎn)遠(yuǎn)不止上面的鍵值對存儲和讀取,這里主要對vault的使用做一個大概的介紹,以及簡單使用,后面會深入講解vault的各個組件以及高級用法。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/11308.html
摘要:截至年月日,將網(wǎng)站標(biāo)記為不安全。管理密碼使用密碼哈希以純文本格式存儲密碼是最糟糕的事情之一。是中密碼哈希的主要接口,如下所示提供了幾種實(shí)現(xiàn),最受歡迎的是和。 Spring Boot大大簡化了Spring應(yīng)用程序的開發(fā)。它的自動配置和啟動依賴大大減少了開始一個應(yīng)用所需的代碼和配置量,如果你已經(jīng)習(xí)慣了Spring和大量XML配置,Spring Boot無疑是一股清新的空氣。 Spring ...
摘要:官方?jīng)]有提供圖形界面功能,比較了幾個開源的圖形界面之后,覺得的功能相對完善。 vault官方?jīng)]有提供圖形界面功能,比較了幾個開源的圖形界面之后,覺得goldfish的功能相對完善。 goldfish部署 sudo mkdir /opt/goldfish && sudo chown `whoami:whoami` git clone https://github.com/Caiyeon...
摘要:也就是說,源配置文件只要擴(kuò)展名是就會生效。查看目錄內(nèi)容如下中默認(rèn)情況下文件生效,需要使用網(wǎng)絡(luò),但官方源在國外,連接速度令人心痛。數(shù)字證書的公鑰文件保存位置。前兩個是協(xié)議的,最后一個表示根目錄,三個一個都不能少。目錄1、yum源文件解析2、查看yum源文件3、搭建本地光盤yum源第一步:第二步:第三步:提示:RPM包的在線安裝就是yum安裝,yum安裝需要依據(jù)yum源文件內(nèi)容配置來尋找軟件。本...
摘要:使用認(rèn)證配置可以使用的進(jìn)行認(rèn)證在為創(chuàng)建賬號,用于調(diào)用找到的以及把圖中的以及用解碼得到證書使用配置認(rèn)證是上圖中用解碼的值是的地址是上圖中用解碼的值存儲的文件路徑,允許調(diào)用的使用的認(rèn)證創(chuàng)建認(rèn)證對應(yīng)里面創(chuàng)建的,對應(yīng)里面的 vault使用kubernetes認(rèn)證 配置 vault可以使用kubernetes的serviceaccount進(jìn)行認(rèn)證 #在kubernetes為vault創(chuàng)建serv...
摘要:為容器設(shè)計(jì)的商業(yè)安全套件,功能包括安全審計(jì)容器鏡像驗(yàn)證運(yùn)行時保護(hù)自動策略學(xué)習(xí)或入侵預(yù)防?;谝环N稱為的新內(nèi)核技術(shù),允許根據(jù)容器身份定義并執(zhí)行網(wǎng)絡(luò)層和層安全策略。自動發(fā)現(xiàn)應(yīng)用程序容器和服務(wù)的行為,以及與其他類似方式檢測安全升級和其他威脅。 數(shù)人云:隨著越來越多的企業(yè)將生產(chǎn)工作負(fù)載遷移到容器當(dāng)中,關(guān)于Docker的安全性,成了普遍關(guān)注的問題。 這是一個簡單卻又沒有答案的問題,不要試圖用二進(jìn)...
閱讀 2277·2023-04-25 14:50
閱讀 1293·2021-10-13 09:50
閱讀 1876·2019-08-30 15:56
閱讀 1856·2019-08-29 15:29
閱讀 2897·2019-08-29 15:27
閱讀 3587·2019-08-29 15:14
閱讀 1209·2019-08-29 13:01
閱讀 3311·2019-08-26 14:06