情况是这样的。我在办公室有一台本地服务器,我想每天通过编程(通过 bash 脚本)将其备份到我将带回家的外部硬盘上。
硬盘里的数据必须加密。
我看到了三种可行的解决方案,我在这里想询问您的意见,哪一种最适合我的情况。
解决方案 1:在将文件复制到硬盘之前,通过备份脚本加密每个文件
解决方案 2:加密硬盘上的整个卷
解决方案 3:购买提供硬件加密的外部硬盘
我的目标是:
* 解决方案应该易于实施
* 我需要能够在没有人工干预的情况下将整个备份复制到 HD(仅使用脚本)
* 我需要能够以编程方式读取 HD 上的备份(不应该有人输入密码)
* 解密文件应该相当快
* 写在 HD 上的备份必须尽可能可靠
提前致谢,丹尼尔
答案1
我建议使用 TrueCrypt。您将在外部硬盘上创建一个大型“容器”文件。此文件实际上是一个加密的硬盘映像,可以安装在 /mnt/ 下(例如)。
要备份它,您需要卸载 TrueCrypt 卷,然后简单地备份容器文件。
TrueCrypt 非常强大。我们已经在非常大的文件系统上使用它多年了。您也可以使用它的命令行程序来编写脚本。
答案2
评估您的解决方案:
解决方案 1:泄露有关硬盘上数据的大量信息(文件名和大小......)
解决方案 2:需要两端都使用加密的 FS 和内核模块。处理完全加密的磁盘通常并不那么有趣。
解决方案 3:您不知道所购买的密码有多好。好的密码很贵,而硬盘的硬件实现通常非常糟糕和/或很慢。没有密码您无法复制备份(违反了您的要求之一)。
我的建议是使用 dm-crypt 或 Truecrypt 并创建用于回环安装的磁盘映像。将数据保存到映像时,您必须输入密码,但您可以不使用密码复制文件。但是,您需要密码才能解密备份。
在任何现代硬件上,dm-crypt 都应该比您的 HD 更快。
答案3
我当然也会推荐 TrueCrypt。版本 7 刚刚发布,大大加快了加密时间。您还可以创建 Travellers Disk。这基本上是对磁盘进行加密,但允许在任何 PC 上使用,无论它们是否安装了 truecrypt。非常方便。可以根据您的偏好将其设置为手动安装或自动安装加密磁盘。