Linux 和 FreeBSD 的加密备份可读

0ra*_*nge 8 linux encryption freebsd disk-encryption

我有一台 Linux 和一台 FreeBSD 计算机,都加密了(分别是 LUKS 和 geli)。我想知道如何制作也可以加密并且对两者都可读的备份(这样,如果其中一台计算机出现故障,我可以使用另一台计算机快速恢复数据)。

不幸的是,bot LUKS 和 geli 似乎是它们各自系统的内核模块,它们从未被移植到各自的另一个系统上。从 BSD/Linux 兼容文件系统上的几个威胁来看,似乎很难制作对两者都可读的未加密备份(ext2 显然是允许这样做的文件系统的唯一选择)。

所以我的想法是在 Linux 的 KVM 中设置一个虚拟的 FreeBSD,它能够读写一个geli 加密的外部磁盘,并将数据传输到Linux 的LUKS 加密文件系统内的一个未加密的虚拟ext2 卷(以及其他方式)大约)。然而,这看起来非常复杂,并且感觉并不是正确的方法。

有没有更好/更简单/更可取的方法?或者上面解释的方式是目前最好的选择吗?

谢谢; 我感谢任何关于此事的想法。

Flo*_*ley 3

让我们建立几个假设。如果这些不正确,请发表评论。

  1. 您运行具有不同操作系统以及可能不同平台的机器。
  2. 你描述的是有 2 台机器、Linux 和 FreeBSD 的情况
  3. 你的机器使用加密的文件系统
  4. 您想要创建数据备份,并且也希望对这些备份进行加密
  5. 您希望能够从任何参与存档的平台访问这些加密备份中的数据

(添加注释以区分加密形式)

您提到您希望能够从幸存的计算机访问其他系统数据。一种方法是将未加密的备份存储在本地计算机的加密文件系统上。另一种可能是将加密备份存储在本地计算机上未加密的文件系统上。我建议在未加密的文件系统上存储加密的备份。

然而,顺便说一句 - 加密备份总是令人担忧: - 您确实需要小心密钥 - 部分损坏通常会杀死整个备份

我的建议:使用

为两台机器都可以访问的一个或多个容器创建备份。

要将其全部保留在 LAN 内,您可以:

  1. 在两台主机上创建一个“备份”文件系统,以存储加密的备份“包”。它不需要加密的文件系统,因为存储在其中的备份“包”(brackup 称之为“块”)将被加密
  2. 导出这些文件系统,例如使用 NFS,并将其分别挂载到其他主机上
  3. 创建备份时,将它们转储到本地文件系统,并将它们镜像到另一台主机上的 NFS 安装目录。这有一个很好的副作用,即拥有两个备份文件实例。

现在您的服务器上将拥有以下文件系统:

在 tux 上,您的 Linux 机器:

/dev/foo            /           # encrypted filesystem
/dev/bar            /tuxdump    # unencrypted filesystem, local backup
beastie:/daemondump /daemondump # NFS backup destination
Run Code Online (Sandbox Code Playgroud)

在 bestie,你的 FreeBSD 机器上:

/dev/flurb          /           # encrypted filesystem
/dev/baz            /daemondump # unencrypted filesystem, local backup
tux:/tuxdump        /tuxdump    # NFS backup destination
Run Code Online (Sandbox Code Playgroud)

根据您需要备份的数据量,您还可以考虑使用异地容器,任何云提供商都可以这样做。我目前正在尝试配置我的 S3 容器,以便旧的东西可以老化到 Glacier,从价格角度来看,这看起来非常有前途。