迁移到 Linux - 加密磁盘问题

作者:David Lane

在美国联邦部门已成为常态的标准之一是要求所有移动设备(如笔记本电脑)都必须使用加密驱动器。这是本世纪初发生的多起笔记本电脑盗窃事件的直接结果,这些盗窃事件导致个人信息据称泄露。作为一名前联邦承包商,我目睹了许多成功和不太成功的方法论的实施和部署。其中一些方法实现了真正的数据保护,而另一些方法则导致了美妙的“砖头”。在某些情况下,这种情况经常(每天)发生。

更成功的工具之一是可信平台模块 (TPM) 芯片。正确实施后,它可以提高加密级别,确保即使您的磁盘从笔记本电脑中移除,它仍然是安全的,并大大增强安全性。因此,请想象一下当我重新加入私营部门时,我的新公司竟然没有笔记本电脑加密政策,即使公司里的几乎每个人都有一台笔记本电脑,这让我感到多么惊讶。

我收到了一台全新的戴尔电脑,上面装有 TPM 芯片和 Windows XP。当然,我做的第一件事就是下载 Fedora 的副本,并开始重新格式化机器,包括设置 TPM 并安装 ext4,启用 Linux 磁盘加密,然后就愉快地继续我的工作了,没有真正考虑过它。那是六个月前的事了。

像大多数笔记本电脑用户一样,当磁盘空间不足时,您有两个选择。用更大的磁盘替换磁盘并重新安装,或者将磁盘克隆到更大的磁盘。仅仅六个月后,我没有心情重新安装,所以我决定走克隆路线。但是等等,我有一个受 TMP 保护的加密磁盘。我应该怎么做呢?这肯定是一件常规的事情。所以我开始上网做了一些研究。我对我的发现感到失望。基本上,虽然有很多网站会告诉您如何克隆磁盘(我非常熟悉),但几乎没有网站谈论加密问题。这让我陷入了困境。

最后,我决定尝试一下,并希望我能成功。第一个问题是使用什么工具。我决定使用 dd,因为它执行位到位的复制,而不是需要访问文件系统。这很重要,因为磁盘在很大程度上是加密的。

我做出的另一个决定是从机器中取出磁盘并将其放入笼子中,并将第二个磁盘也放入笼子中。然后我用 LiveCD(我使用了 Fedora 14 桌面)启动了无盘机器,并连接了磁盘。果然,我的加密磁盘弹了出来,我收到一个警告,指示它是加密的。我取消了输入密码的选项,连接了我的第二个磁盘,并开始进行复制工作。

我正在通过 USB 将大约 150 GB 的磁盘从一台机器移动到另一台机器。成功完成这项工作花了将近十个小时。所以虽然 dd 工作正常,但可能还有更快的替代方案。您的里程可能会有所不同。

复制成功后,我安装了新磁盘,按下电源按钮并祈祷。我很高兴地报告,驱动器启动了,在成功输入密码后,它自行解密,我又可以工作了。

但是等等…… 是的,TPM 芯片呢?请记住,TPM 芯片应该做的事情之一是阻止我读取未连接到主板的磁盘。我不但应该无法在将其安装到笼子中后读取它,而且根本不应该能够复制它——至少不能复制成任何可用的形式。但我却做到了。为什么?嗯,我的主要想法是我没有正确设置模块,或者戴尔没有正确设置它来为磁盘添加额外的保护级别。我也可能没有以利用芯片优势的方式安装 Linux。无论如何,虽然我通过基于 Linux 的磁盘加密获得了安全性,但我没有从 TPM 芯片获得任何额外的保护。

那么,结论是这样的。您可以使用 dd 成功复制 Linux 加密磁盘。永远不要假设您是安全的,除非您测试过您的安全性。最好让别人来测试它。您很可能没有您想象的那么安全。

使用 dd 克隆加密磁盘

这些说明假设您正在使用类似的驱动器类型(如 SATA),可以使用一对笼子或磁盘载体,并且有足够的时间来复制数据。

1) 从系统中取出您要复制的磁盘,并将其放入笼子中。此步骤是可选的。

2) 在笼子中设置您的辅助磁盘。

3) 使用 LiveCD 启动您的系统。这将允许您卸载您计划克隆的磁盘,这对于成功克隆至关重要。

4) 打开几个终端。在一个终端中,su 到 root 用户或使用 sudo 执行以下命令
tail -f /var/log/messages
这将从您的消息文件中打开一个运行窗口,这对于确定磁盘的位置以及在 dd 进程期间未记录到控制台的任何错误消息非常重要。/var/log/messages 是大多数操作系统的默认位置。请仔细检查它是否与您的情况相同。

5) 插入您的源驱动器,并查看日志文件以获取分配给它的名称。例如,如果它是 SATA 驱动器,并且没有连接其他驱动器,则它很可能会显示为 /dev/sdb。(如果您没有取出驱动器,则很可能是 /dev/sda。)

6) 插入第二个驱动器并记下它的名称。在我的例子中,它是 /dev/sdc。

7) 如果您需要格式化您的新驱动器,现在是时候了。创建一个分区,并确保您选择 ext4 作为文件类型。磁盘准备好后,卸载 两个磁盘。

8) 在终端中,以 root 用户身份运行以下命令
dd if=源驱动器 of=目标驱动器
例如
dd if=/dev/sdb of=/dev/sdc
去做感恩节晚餐吧(如果您的磁盘很大,也可以提前准备圣诞节晚餐)。

9) 复制完成后(您会知道,因为命令提示符会返回),将您的新磁盘安装到您的机器中并启动它。

祝您好运!

图片来自 Flikr,作者:Melvin Schlubman

加载 Disqus 评论