docker-swarm教程之安全保護(hù)加密數(shù)據(jù)的方法詳解
如何安全的保護(hù)加密數(shù)據(jù)
什么是“自動(dòng)鎖定”
默認(rèn)情況下,集群管理器使用的raft 算法的日志在磁盤上加密。這種靜態(tài)加密可保護(hù)服務(wù)配置和數(shù)據(jù)免受訪問(wèn)加密Raft日志的攻擊者的攻擊。因此引入了Docker secret 功能,來(lái)保證加密文件的安全。
當(dāng)Docker重新啟動(dòng)時(shí),用于加密群節(jié)點(diǎn)之間通信的TLS密鑰和用于加密和解密磁盤上的Raft日志的密鑰都加載到每個(gè)管理器節(jié)點(diǎn)的內(nèi)存中。Docker能夠保護(hù)相互TLS加密密鑰以及用于加密和解密靜態(tài)Raft日志的密鑰,允許我們擁有這些密鑰,并要求在 manager手動(dòng)解鎖。此功能稱為自動(dòng)鎖定。
當(dāng)Docker重新啟動(dòng)時(shí),必須首先使用Docker在集群鎖定時(shí)生成的密鑰加密密鑰來(lái)解鎖集群。并且我們也可以隨時(shí)修改此密鑰加密密鑰。
注意:當(dāng)新節(jié)點(diǎn)加入集群時(shí),是不不需要解鎖蜂群,因?yàn)槊荑€通過(guò)相互TLS傳播給它。
在啟用自動(dòng)鎖定的情況下初始化蜂群
當(dāng)我們初始化新的集群時(shí),使用--autolock
標(biāo)志在Docker重新啟動(dòng)時(shí)啟用群管理器節(jié)點(diǎn)的自動(dòng)鎖定。
docker swarm init --autolock
將密鑰存儲(chǔ)在安全的地方,例如密碼管理器中。
當(dāng)Docker重新啟動(dòng)服務(wù)時(shí),鎖定的集群會(huì)導(dǎo)致以下錯(cuò)誤:
sudo service docker restart docker service ls
在現(xiàn)有集群上啟用或禁用自動(dòng)鎖定
要在現(xiàn)有蜂群上啟用自動(dòng)鎖定,請(qǐng)將autolock
標(biāo)志設(shè)置為true
。
docker swarm update --autolock=true
要禁用自動(dòng)鎖定,請(qǐng)將--autolock
設(shè)置為false
。用于讀取和寫入Raft日志的相互TLS密鑰和加密密鑰未加密存儲(chǔ)在磁盤上。在靜態(tài)存儲(chǔ)未加密的加密密鑰的風(fēng)險(xiǎn)和無(wú)需解鎖每個(gè)manager即可重新啟動(dòng)蜂群的便利性之間存在權(quán)衡。
docker swarm update --autolock=false
禁用自動(dòng)鎖定后,請(qǐng)將解鎖密鑰保留一段時(shí)間,以防manager
在仍配置為使用舊密鑰鎖定時(shí)出現(xiàn)服務(wù)停止。
解鎖集群
要解鎖鎖定的集群,請(qǐng)使用docker swarm unlock
。
docker swarm unlock
當(dāng)鎖定集群或修改密鑰時(shí),輸入生成并在命令輸出中顯示的加密密鑰,集群解鎖。
查看正在運(yùn)行的集群當(dāng)前解鎖密鑰
考慮我們的集群按預(yù)期運(yùn)行的情況,然后管理器節(jié)點(diǎn)變得不可用。對(duì)問(wèn)題進(jìn)行故障排除,并使物理節(jié)點(diǎn)重新聯(lián)機(jī),但需要通過(guò)提供解鎖密鑰來(lái)讀取加密的憑據(jù)和 Raft
日志來(lái)解鎖管理器。
如果自節(jié)點(diǎn)離開(kāi)集群后,密鑰尚未被修改,并且在集群中有一個(gè)功能管理器節(jié)點(diǎn)的法定人數(shù),可以使用docker swarm unlock-key
查看當(dāng)前解鎖密鑰,而無(wú)需任何參數(shù)。
docker swarm unlock-key
如果密鑰在群節(jié)點(diǎn)不可用后修改,并且沒(méi)有上一個(gè)密鑰的記錄,我們可能需要強(qiáng)制 manager
離開(kāi)蜂群,并將其作為新manager重新加入集群。
修改解鎖鍵
我們應(yīng)該定期修改鎖定的集群的解鎖密鑰。
docker swarm unlock-key --rotate
Note:當(dāng)在修改解鎖密鑰時(shí),請(qǐng)將舊密鑰記錄幾分鐘,這樣如果manager在獲得新密鑰之前停止,它仍然可能被舊密鑰解鎖。
到此這篇關(guān)于docker-swarm教程之安全保護(hù)加密數(shù)據(jù)的方法詳解的文章就介紹到這了,更多相關(guān)docker-swarm保護(hù)加密數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
給docker創(chuàng)建的elasticsearch容器添加密碼簡(jiǎn)單步驟
在使用Elasticsearch(ES)Docker容器時(shí),有時(shí)需要設(shè)置密碼來(lái)保護(hù)數(shù)據(jù)的安全性,這篇文章主要給大家介紹了關(guān)于給docker創(chuàng)建的elasticsearch容器添加密碼的簡(jiǎn)單步驟,需要的朋友可以參考下2024-02-02CentOS7使用docker部署Apollo配置中心的實(shí)現(xiàn)
這篇文章主要介紹了CentOS7使用docker部署Apollo配置中心的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10docker-compose中啟動(dòng)鏡像失敗的幾種解決方法
本文主要介紹了docker-compose中啟動(dòng)鏡像失敗的幾種解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Docker 安裝 LogStash的詳細(xì)過(guò)程
Logstash,作為Elastic Stack家族中的核心成員之一,是一個(gè)功能強(qiáng)大的開(kāi)源數(shù)據(jù)收集引擎,在本文中,我們將詳細(xì)介紹如何借助Docker容器技術(shù)快速安裝配置Logstash,以實(shí)現(xiàn)日志及各類事件數(shù)據(jù)的無(wú)縫集成與實(shí)時(shí)處理,感興趣的朋友一起看看吧2024-03-03k3s?通過(guò)docker部署?Kubernetes的方法步驟
本文主要介紹了k3s?通過(guò)docker部署?Kubernetes的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11使用 VPS 下載 Docker 鏡像并導(dǎo)入到本地服務(wù)器的過(guò)程
這篇文章主要介紹了使用 VPS 下載 Docker 鏡像并導(dǎo)入到本地服務(wù)器,通過(guò)使用 VPS 下載 Docker 鏡像并將其傳輸?shù)奖镜胤?wù)器,我們可以克服網(wǎng)絡(luò)限制,更靈活地管理和部署 Docker 鏡像,需要的朋友可以參考下2024-08-08