Partition

為什麼我們要加密系統分區而不僅僅是/home?

  • February 8, 2018

我目前正在一台新的台式電腦上安裝 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有趣。

所以,另一種選擇(我現在最喜歡的)是讓系統保持未加密(只有/homeis)。我想這可能會增加一些安全問題,但我還看不到任何問題,我想這會提高效率。第二種方式應該是這樣的:

#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密碼),物理篡改指示燈亮在這種情況下,以某種方式阻止添加硬體鍵盤記錄器(或更換鍵盤)等。這是一個很難保護的場景。

引用自:https://unix.stackexchange.com/questions/422860