搜尋「帶全盤加密的注重隱私 VPS」,通常會停在價格頁上的一個勾選框。這個勾選框是真的,但它能帶給您的東西比營銷暗示的要窄。在加密任何東西之前,先弄清楚您要防的是誰會很有幫助,因為在一個重要的場景下,磁碟加密完全不起作用。
VPS 上的加密能保護什麼,不能保護什麼
VPS 是執行在別人硬體上的虛擬機器。它執行時,磁碟是解鎖的,加密金鑰就存放在虛擬機器的記憶體裡。主機原則上可以讀取這塊記憶體。所以:
加密能幫您防範:
- 您的磁碟映像或備份的副本落到了不該去的地方。
- 更換硬體後舊磁碟被退役處理。
- 有人拿到了儲存或備份的存取權,卻無法存取您正在執行的伺服器。
加密無法幫您防範:
- 任何控制著執行中主機的人。
- 在您伺服器上拿到 shell 的攻擊者:對他來說,磁碟早已解鎖。
- 伺服器執行期間送達的法律要求。
這不是跳過加密的理由,而是要把它用在對的地方,別把它誤當成隱身衣。
為什麼不加密整個根磁碟?
您可以這麼做,但之後每次重新啟動都會停在輸入密碼短語的介面。您得透過網頁控制台解鎖,或者在 initramfs 中內建一個 SSH 伺服器(dropbear)遠端解鎖。核心更新從此需要您在場;一次無人值守的重新啟動就意味著服務中斷,直到您登入為止。對大多數人來說,更好的折中是:系統盤照常使用,敏感資料放在一個加密捲上,開機後再解鎖。
五條指令搭一個加密保險箱
檔案形式的 LUKS 容器在任何 VPS 上都能用,不需要額外的磁碟:
apt install -y cryptsetup
fallocate -l 10G /srv/vault.img
cryptsetup luksFormat /srv/vault.img # set a strong passphrase
cryptsetup open /srv/vault.img vault
mkfs.ext4 /dev/mapper/vault
掛載並使用:
mkdir -p /mnt/vault && mount /dev/mapper/vault /mnt/vault
重新啟動之後,保險箱會保持鎖定,直到您再次開啟:
cryptsetup open /srv/vault.img vault && mount /dev/mapper/vault /mnt/vault
再新增一個密碼短語作為備用鑰匙(cryptsetup luksAddKey /srv/vault.img),並把兩個都存進密碼管理器。兩個都丟了,資料就永遠沒了:任何工單都無法把它找回來。
把敏感服務(資料庫目錄、文件儲存、密碼管理器的資料資料夾)指向 /mnt/vault,並讓它們只在保險箱掛載之後才啟動。
往往更好的做法:加密資料,而不是磁碟
磁碟加密止步於磁碟。您複製到別處的資料(備份、匯出、同步)會以明文傳輸,除非您也對它們加密。跟著資料走的保護通常更有價值:
- 備份: restic 在上傳前就會在用戶端加密所有內容。
- 檔案:
age -p secrets.tar > secrets.tar.age用密碼短語加密。 - 應用中的機密: 使用應用自備的加密(很多密碼管理器、Nextcloud 的服務端加密、資料庫列級加密)。
EQVPS 是怎麼做的
我們不要求身分證件,不出售您的資料,並公開一份 warrant canary。託管備份 在離開主機之前加密,在儲存中也保持加密,但用的是我們的金鑰,因為一份我們無法恢復的備份就不算備份。如果您需要除您之外誰都讀不了的資料,請在它落盤之前自己加密。這一點在任何伺服器上都成立,包括我們的。
要點
凡是您不想在洩露的磁碟映像裡看到的東西,都放進加密資料卷。在源頭加密備份。也別讓一個勾選框說服您,一台正在執行的虛擬伺服器就是一個保險箱:您手中最強的隱私工具,是根本不儲存您不需要的資料。
評論
目前還沒有評論。歡迎成為第一位。