為什麼我們要加密系統分區而不僅僅是/home?
我目前正在一台新的台式電腦上安裝 Debian 發行版,我正在尋找兩種製作分區表的方法(在性能和安全性方面)的優缺點。我的新電腦有 16GB 的 RAM 和 500GB 的 SSD(這對於規格來說應該足夠了)。
首先,我有一個必要條件是加密工作文件。所以,我的第一選擇是:
#1 800 MB EFI #2 300 MB ext4 /boot #3 ..all.. crypto (sda3_crypt) LVM Encrypted (sda3_crypt) #1 10 GB swap #2 80 GB ext4 / #3 ...all.. ext4 /home
我們需要對其進行加密,
swap
以確保在我們碰巧使用它時不會洩露任何加密數據。事實上,這是由 Debian 安裝程序現在強制執行的。但是,然後,我假設系統本身可能未加密(即使在我的辦公桌上,我也對加密無處不在……)。畢竟只有
/home
有趣。所以,另一種選擇(我現在最喜歡的)是讓系統保持未加密(只有
/home
is)。我想這可能會增加一些安全問題,但我還看不到任何問題,我想這會提高效率。第二種方式應該是這樣的:#1 800 MB EFI #2 80 GB ext4 / #3 ..all.. crypto (sda3_crypt) LVM Encrypted (sda3_crypt) #1 10 GB swap #2 ...all.. ext4 /home
那麼,我是否在安全方面錯過了什麼?知道對手模型應該是“邪惡的女僕”,可能能夠物理訪問機器並可能在機器仍處於開啟狀態時竊取它。
如果我考慮第二種方法,我會面臨什麼樣的安全漏洞?
最後,我將確保我已經在 RAM 上設置了一個
/tmp
掛載通道。tmpfs
防止對系統的未加密部分進行任何關鍵寫入。
您的第一種方法似乎加密了除 /boot 之外的所有內容;您的第二種方法僅加密交換和家庭。
我建議加密一切。我相信 Debian 現在甚至可以處理 /boot 被加密(使用 grub 提示輸入密碼)。
加密所有內容有幾個很大的優勢:
**安全。**數據很容易意外洩漏到
/home
. 你想到了/tmp
;還有/var/tmp
。而且,根據您使用的程序,每個程序都有自己的位置/var
——例如,您將一些數據放入 MySQL 中,糟糕的是/var/lib/mysql
. 你還記得郵件/var/mail
和/var/spool/exim
嗎?或列印假離線/var/spool/cups
(如果您使用 CUPS;在其他地方使用其他列印系統)?或者/var/log
可以很容易地包含敏感數據。加密一切,這不可能發生。**靈活性。**拆分它會迫使您選擇分配多少空間
/
與/home
. 如果你弄錯了,用那個設置,改變它會很困難。使用 LVM 中的所有內容,更改起來要容易得多(並且使用一個文件系統,您甚至不必被迫決定拆分)。**不利的一面。**加密系統稍微慢了一點,但我懷疑它在最近十年製造的 PC 上會很明顯。
BTW:對於你的邪惡女僕攻擊,你需要確保機器在你不在的時候總是被鎖定,並做一些事情來鎖定啟動順序(例如,韌體/BIOS密碼和grub密碼),物理篡改指示燈亮在這種情況下,以某種方式阻止添加硬體鍵盤記錄器(或更換鍵盤)等。這是一個很難保護的場景。