如何使用Vault安全的存儲(chǔ)密碼和API密鑰

Vault是用來安全的獲取秘密信息的工具押袍,它可以保存密碼甸饱、API密鑰联四、證書等信息撑碴。Vault提供了一個(gè)統(tǒng)一的接口來訪問秘密信息,其具有健壯的訪問控制機(jī)制和豐富的事件日志朝墩。

對(duì)關(guān)鍵信息的授權(quán)訪問是一個(gè)困難的問題醉拓,尤其是當(dāng)有許多用戶角色伟姐,并且用戶請(qǐng)求不同的關(guān)鍵信息時(shí),例如用不同權(quán)限登錄數(shù)據(jù)庫的登錄配置亿卤,用于外部服務(wù)的API密鑰愤兵,SOA通信的證書等。當(dāng)保密信息由不同的平臺(tái)進(jìn)行管理排吴,并使用一些自定義的配置時(shí)秆乳,情況變得更糟,因此钻哩,安全的存儲(chǔ)屹堰、管理審計(jì)日志幾乎是不可能的。但Vault為這種復(fù)雜情況提供了一個(gè)解決方案街氢。

突出特點(diǎn)

數(shù)據(jù)加密:Vault能夠在不存儲(chǔ)數(shù)據(jù)的情況下對(duì)數(shù)據(jù)進(jìn)行加密扯键、解密。開發(fā)者們便可以存儲(chǔ)加密后的數(shù)據(jù)而無需開發(fā)自己的加密技術(shù)珊肃,Vault還允許安全團(tuán)隊(duì)自定義安全參數(shù)荣刑。

安全密碼存儲(chǔ):Vault在將秘密信息(API密鑰、密碼伦乔、證書)存儲(chǔ)到持久化存儲(chǔ)之前對(duì)數(shù)據(jù)進(jìn)行加密厉亏。因此,如果有人偶爾拿到了存儲(chǔ)的數(shù)據(jù)烈和,這也沒有任何意義爱只,除非加密后的信息能被解密。

動(dòng)態(tài)密碼:Vault可以隨時(shí)為AWS斥杜、SQL數(shù)據(jù)庫等類似的系統(tǒng)產(chǎn)生密碼虱颗。比如沥匈,如果應(yīng)用需要訪問AWS S3 桶蔗喂,它向Vault請(qǐng)求AWS密鑰對(duì),Vault將給出帶有租期的所需秘密信息高帖。一旦租用期過期缰儿,這個(gè)秘密信息就不再存儲(chǔ)。

租賃和更新:Vault給出的秘密信息帶有租期散址,一旦租用期過期乖阵,它便立刻收回秘密信息,如果應(yīng)用仍需要該秘密信息预麸,則可以通過API更新租用期瞪浸。

撤銷:在租用期到期之前,Vault可以撤銷一個(gè)秘密信息或者一個(gè)秘密信息樹吏祸。

安裝Vault

有兩種方式來安裝使用Vault对蒲。

1. 預(yù)編譯的Vault二進(jìn)制 能用于所有的Linux發(fā)行版,下載地址如下,下載之后蹈矮,解壓并將它放在系統(tǒng)PATH路徑下砰逻,以方便調(diào)用。

wget binary
wget binary

下載相應(yīng)的預(yù)編譯的Vault二進(jìn)制版本泛鸟。

vault
vault

解壓下載到本地的二進(jìn)制版本蝠咆。

祝賀你!您現(xiàn)在可以使用Vault了北滥。

2. 從源代碼編譯是另一種在系統(tǒng)中安裝Vault的方式刚操。在安裝Vault之前需要安裝GO和GIT。

Redhat系統(tǒng)中安裝GO 使用下面的指令:

sudo yum install go

Debin系統(tǒng)中安裝GO 使用下面的指令:

sudo apt-get install golang

或者

sudo add-apt-repository ppa:gophers/go

sudo apt-get update

sudo apt-get install golang-stable

Redhat系統(tǒng)中安裝GIT 使用下面的命令:

sudo yum install git

Debian系統(tǒng)中安裝GIT 使用下面的命令:

sudo apt-get install git

一旦GO和GIT都已被安裝好碑韵,我們便可以開始從源碼編譯安裝Vault赡茸。

將下列的Vault倉庫拷貝至GOPATH

https://github.com/hashicorp/vault

測試下面的文件是否存在,如果它不存在祝闻,那么Vault沒有被克隆到合適的路徑占卧。

$GOPATH/src/github.com/hashicorp/vault/main.go

執(zhí)行下面的指令來編譯Vault,并將二進(jìn)制文件放到系統(tǒng)bin目錄下联喘。

make dev
path
path

一份Vault入門教程

我們已經(jīng)編制了一份Vault的官方交互式教程华蜒,并帶有它在SSH上的輸出信息。

概述

這份教程包括下列步驟:

  • 初始化并啟封您的Vault
  • 在Vault中對(duì)您的請(qǐng)求授權(quán)
  • 讀寫秘密信息
  • 密封您的Vault

初始化您的Vault

首先豁遭,我們需要為您初始化一個(gè)Vault的工作實(shí)例叭喜。在初始化過程中,您可以配置Vault的密封行為蓖谢。簡單起見捂蕴,現(xiàn)在使用一個(gè)啟封密鑰來初始化Vault,命令如下:

vault init -key-shares=1 -key-threshold=1

您會(huì)注意到Vault在這里輸出了幾個(gè)密鑰闪幽。不要清除您的終端啥辨,這些密鑰在后面的步驟中會(huì)使用到。

Initializing SSH
Initializing SSH

啟封您的Vault

當(dāng)一個(gè)Vault服務(wù)器啟動(dòng)時(shí)盯腌,它是密封的狀態(tài)溉知。在這種狀態(tài)下,Vault被配置為知道物理存儲(chǔ)在哪里及如何存取它腕够,但不知道如何對(duì)其進(jìn)行解密级乍。Vault使用加密密鑰來加密數(shù)據(jù)。這個(gè)密鑰由"主密鑰"加密帚湘,主密鑰不保存玫荣。解密主密鑰需要入口密鑰。在這個(gè)例子中大诸,我們使用了一個(gè)入口密鑰來解密這個(gè)主密鑰捅厂。

vault unseal <key 1>
Unsealing SSH
Unsealing SSH

為您的請(qǐng)求授權(quán)

在執(zhí)行任何操作之前材诽,連接的客戶端必須是被授權(quán)的。授權(quán)的過程是檢驗(yàn)一個(gè)人或者機(jī)器是否如其所申明的那樣具有正確的身份恒傻。這個(gè)身份用在向Vault發(fā)送請(qǐng)求時(shí)脸侥。為簡單起見,我們將使用在步驟2中生成的root令牌盈厘,這個(gè)信息可以回滾終端屏幕看到睁枕。使用一個(gè)客戶端令牌進(jìn)行授權(quán):

vault auth <root token>
Authorize SSH
Authorize SSH

讀寫保密信息

現(xiàn)在Vault已經(jīng)被設(shè)置妥當(dāng),我們可以開始讀寫默認(rèn)掛載的秘密后端里面的秘密信息了沸手。寫在Vault中的秘密信息首先被加密外遇,然后被寫入后端存儲(chǔ)中。后端存儲(chǔ)機(jī)制絕不會(huì)看到未加密的信息,并且也沒有在Vault之外解密的需要。

vault write secret/hello value=world

當(dāng)然瑞驱,您接下來便可以讀這個(gè)保密信息了:

vault read secret/hello
RW_SSH
RW_SSH

密封您的Vault

還有一個(gè)用I來密封Vault的API。它將丟掉現(xiàn)在的加密密鑰并需要另一個(gè)啟封過程來恢復(fù)它菲语。密封僅需要一個(gè)擁有root權(quán)限的操作者。這是一種罕見的"打破玻璃過程"的典型部分惑灵。

這種方式中山上,如果檢測到一個(gè)入侵,Vault數(shù)據(jù)將會(huì)立刻被鎖住英支,以便最小化損失佩憾。如果不能訪問到主密鑰碎片的話,就不能再次獲取數(shù)據(jù)干花。

vault seal
Seal Vault SSH
Seal Vault SSH

這便是入門教程的結(jié)尾妄帘。

總結(jié)

Vault是一個(gè)非常有用的應(yīng)用,它提供了一個(gè)可靠且安全的存儲(chǔ)關(guān)鍵信息的方式池凄。另外抡驼,它在存儲(chǔ)前加密關(guān)鍵信息、審計(jì)日志維護(hù)修赞、以租期的方式獲取秘密信息婶恼,且一旦租用期過期它將立刻收回秘密信息桑阶。Vault是平臺(tái)無關(guān)的柏副,并且可以免費(fèi)下載和安裝。要發(fā)掘Vault的更多信息蚣录,請(qǐng)?jiān)L問其官方網(wǎng)站割择。


via: http://linoxide.com/how-tos/secure-secret-store-vault/

作者:Aun Raza
譯者:wwy-hust
校對(duì):wxy

本文由 LCTT 原創(chuàng)翻譯,Linux中國 榮譽(yù)推出

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末萎河,一起剝皮案震驚了整個(gè)濱河市荔泳,隨后出現(xiàn)的幾起案子蕉饼,更是在濱河造成了極大的恐慌,老刑警劉巖玛歌,帶你破解...
    沈念sama閱讀 222,627評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昧港,死亡現(xiàn)場離奇詭異,居然都是意外死亡支子,警方通過查閱死者的電腦和手機(jī)创肥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來值朋,“玉大人叹侄,你說我怎么就攤上這事∽虻牵” “怎么了趾代?”我有些...
    開封第一講書人閱讀 169,346評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長丰辣。 經(jīng)常有香客問我撒强,道長,這世上最難降的妖魔是什么笙什? 我笑而不...
    開封第一講書人閱讀 60,097評(píng)論 1 300
  • 正文 為了忘掉前任尿褪,我火速辦了婚禮,結(jié)果婚禮上得湘,老公的妹妹穿的比我還像新娘杖玲。我一直安慰自己,他們只是感情好淘正,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評(píng)論 6 398
  • 文/花漫 我一把揭開白布摆马。 她就那樣靜靜地躺著,像睡著了一般鸿吆。 火紅的嫁衣襯著肌膚如雪囤采。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評(píng)論 1 312
  • 那天惩淳,我揣著相機(jī)與錄音蕉毯,去河邊找鬼。 笑死思犁,一個(gè)胖子當(dāng)著我的面吹牛代虾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播激蹲,決...
    沈念sama閱讀 41,165評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼棉磨,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了学辱?” 一聲冷哼從身側(cè)響起乘瓤,我...
    開封第一講書人閱讀 40,108評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤环形,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后衙傀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抬吟,經(jīng)...
    沈念sama閱讀 46,646評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評(píng)論 3 342
  • 正文 我和宋清朗相戀三年统抬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了拗军。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,861評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蓄喇,死狀恐怖发侵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情妆偏,我是刑警寧澤刃鳄,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站钱骂,受9級(jí)特大地震影響叔锐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜见秽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評(píng)論 3 336
  • 文/蒙蒙 一愉烙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧解取,春花似錦步责、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至振乏,卻和暖如春蔗包,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背慧邮。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評(píng)論 1 274
  • 我被黑心中介騙來泰國打工调限, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人误澳。 一個(gè)月前我還...
    沈念sama閱讀 49,287評(píng)論 3 379
  • 正文 我出身青樓耻矮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親脓匿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子淘钟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理宦赠,服務(wù)發(fā)現(xiàn)陪毡,斷路器米母,智...
    卡卡羅2017閱讀 134,716評(píng)論 18 139
  • Guide to BluetoothSecurity原文 本出版物可免費(fèi)從以下網(wǎng)址獲得:https://doi.o...
    公子小水閱讀 8,022評(píng)論 0 6
  • 2018-Read-Record 記錄我的2018學(xué)習(xí)歷程 文中首先解釋了加密解密的一些基礎(chǔ)知識(shí)和概念铁瞒,然后通過一...
    NinthDay閱讀 11,308評(píng)論 8 105
  • 所謂蒙版MaskLayer,我們可以理解為面具桅滋,MaskLayer就是面具慧耍,一旦一個(gè)CALayer給了它一...
    WRFranky閱讀 451評(píng)論 1 1
  • 今天算是我第五個(gè)小目標(biāo)的最后一天,明天到回學(xué)校丐谋,我就要花一部分的時(shí)間趕作業(yè)和收拾行李芍碧。當(dāng)然還是會(huì)制定一個(gè)小小計(jì)劃繼...
    大白兔_X閱讀 134評(píng)論 0 1