git 加密
有很多很棒的開源工具可以在git中儲存秘密。 為您和您的組織確定合適的解決方案可能很困難-這取決於您的用例和要求。 為了幫助您進行比較和選擇,我們將介紹四個用於機密管理的最受歡迎的開源工具,並**它們之間的相互關係:
我們不會審查像hashicorp vault這樣的大型解決方案。 準備就緒的保管庫可能是乙個很大的障礙,尤其是在您的組織剛開始使用機密管理的情況下。 上面的工具易於使用且設定swift。
這些秘密管理工具使用gnu privacy guard( gpg ),對稱金鑰加密和/或雲金鑰服務。
這些機密管理工具使用的加密型別為:
gpg
對稱金鑰
亞馬遜kms
google kms
azure金鑰保管庫
地穴 x
x 黑盒子
xsops xx
x x
轉加密 x
如您所見,git-crypt和sops使用多個加密基礎。 這意味著git-crypt可以通過使用gpg 或對稱金鑰來實現加密,而sops可以使用gpg 或一種雲服務。
這些工具具有相似的目標:
git的透明度
全檔案加密
部分檔案加密
地穴 x
x 黑盒子 xx
sops
x x
轉加密 xx
除了sops之外,其他所有內容都對git透明,這意味著它們具有內建機制,可確保源**管理中的檔案被加密而無需使用者付出太多努力。 它們有助於防止git push意外將純文字機密推送到git。
此時,您可能會想,「如果不使用git進行透明加密,為什麼sops在這裡?這不是有關git加密工具的帖子嗎?」 原因是因為它如何處理基於鍵值的檔案,例如yaml和json。 對這些型別的檔案進行加密時,sops將使金鑰保持未加密狀態,但會對值進行加密。 在很多情況下,尤其是在配置管理中,這些型別的檔案需要在git中進行加密,但是檢視它們包含的資訊型別也很方便。 儘管sops不提供本機git透明性,但可以將git-secrets之類的工具與sops一起使用,以幫助確保將明文秘密不推送給git。
最後,所有這些工具都支援全檔案加密,其中,秘密檔案將被完整加密。
這些工具都不是特別難於使用的,但是它們都有一些古怪的問題和需要考慮的操作挑戰。
基於gpg的工具的基本工作流程是:
使用加密工具初始化儲存庫
為允許管理機密檔案的使用者建立gpg金鑰
將相應的公鑰新增到工具
指定應視為「秘密」的檔案
使用工具加密檔案
對每個被授予許可權的新使用者重複步驟2、3和5
要撤消使用者,請刪除該使用者並重複步驟5
從理論上講,此工作流程很簡單。 乙個操作問題是gpg金鑰維護。 如果意外刪除了gpg金鑰,您的團隊將需要備份其gpg金鑰以防止出現鎖定情況。 如果您使用自動化工具,則還需要考慮由誰負責建立和維護該服務的金鑰。 此外,如果您需要新增,刪除或旋轉金鑰,則需要重新加密每個檔案,以使更改生效。
基於gpg的工具的優缺點包括:
這是將sops與amazon kms結合使用的示例工作流程:
建立身份和訪問管理(iam)實體
建立kms主金鑰
授予iam實體訪問主金鑰的許可權
使用sops將主金鑰新增到每個秘密檔案並對該檔案進行加密(使用sops進行金鑰新增和加密通常是乙個一步的過程)
新增或刪除主金鑰時重新加密
在這四個工具中,sops是唯一允許使用者使用基於雲的金鑰服務配置加密的工具。 雲關鍵服務減輕了基於gpg的解決方案帶來的大部分運營負擔。 以amazon kms為例:將主金鑰新增到sops,並通過iam策略控制對機密檔案的訪問。 新增和刪除使用者就像使用iam授予或撤消許可權一樣簡單,這意味著更改許可權時無需重新加密秘密檔案,因為從sops的角度來看,什麼都沒有改變。 但是,此解決方案確實有其自身的操作挑戰。 團隊中的每個成員都必須擁有乙個aws賬戶才能訪問機密檔案。 另外,管理員必須配置和維護iam策略和kms主金鑰。
基於對稱金鑰的工具的工作流程可能是最簡單的:
使用加密工具初始化儲存庫
指定應視為「秘密」的檔案
git push透明地加密檔案
與需要訪問許可權的其他使用者共享對稱金鑰
每次使用者被撤銷訪問時旋轉金鑰
git-crypt和transcrypt都提供複雜的密碼作為對稱金鑰。 操作上的挑戰是找到一種共享對稱金鑰的安全方法,並確保每次刪除使用者時都旋轉金鑰。
以下是我們的對稱金鑰相容工具git-crypt和transcrypt之間的一些區別:
該工具的其他特徵包括:
就地編輯
審核 回購級別許可權
檔案級許可權
地穴 x
黑盒子 xx
sops xx
x 轉加密 x
blackbox和sops均具有「就地編輯器」工具,該工具會解密檔案並開啟$ editor環境變數指定的文字編輯器。 這使使用者可以在檔案進行儲存和重新加密之前對其進行就地編輯,因此使用者可以修改秘密檔案,而無需先對其進行「就地解密」。
git-crypt,blackbox和transcrypt在回購級別處理訪問,這意味著,如果您可以檢視乙個解密的檔案,則可以全部檢視。 根據您的用例,這可能是功能,也可能是功能不當。 sops在檔案級別處理許可權,這意味著僅由於使用者可以檢視乙個檔案,而不必一定要檢視儲存庫中的其他檔案。
翻譯自:git 加密
Git配置SSHkey加密
應用tortoisegit為github賬號新增ssh keys 問題 如何實現idea toroisegit和gitkraken同時配置ssh key加密?1 生成id rsa和id rsa.pub 1 任意目錄下右擊滑鼠選擇git bash here或者win r輸入cmd回車開啟終端 2 在改...
ssh非對稱加密詳解(git)
git主要使用四種協議來進行資料的傳輸 1 本地傳輸 2 git協議 3 ssh協議 4 http協議 其中ssh協議和http協議是最常見的兩種協議了。ssh協議則是唯一同時支援讀寫操作的協議,很多企業內部在架設git伺服器的時候,都會提供ssh協議來傳輸資料。ssh協議的安全性體現在其使用了公鑰...
Git 的4個階段的撤銷更改
雖然git誕生距今已有12年之久,網上各種關於git的介紹文章數不勝數,但是依然有很多人 包括我自己在內 對於它的功能不能完全掌握。以下的介紹只是基於我個人對於git的理解,並且可能生編硬造了一些不完全符合git說法的詞語。目的只是為了讓git通俗化,使初學者也能大概了解如何快速上手git。同時,下...