可读的Linux和FreeBSD加密备份


8

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

不幸的是,机器人LUKS和Geli似乎是它们各自系统的内核模块,从未被移植到各自的系统中。从与BSD / Linux兼容的文件系统上的多种威胁来看,似乎很难进行对两者都可读的未加密备份(ext2显然是允许这样做的文件系统的唯一选择)。

因此,我的想法是在Linux的KVM中设置虚拟FreeBSD,该虚拟FreeBSD能够读写Geli加密的外部磁盘并将数据传输到Linux的LUKS加密文件系统内的未加密虚拟ext2卷中(以及其他方式)周围)。但是,这似乎非常复杂,并且确实感觉不到正确的方法。

有没有更好/更容易/更可取的方式?还是上述方法目前是最好的选择?

谢谢; 我对此事表示感激。


2
我在此列表上看到的唯一认为en.wikipedia.org/wiki/…两者都受支持的是eCryptFS en.wikipedia.org/wiki/ECryptfs,尽管它不是块级加密。它是一个文件系统层。
Zoredache

1
我会尽快用我最喜欢的OS设置另一个盒子来提供和存储备份。
ЯрославРахматуллин

非常感谢你们的想法。我希望将来有人将LUKS移植到FreeBSD或geli移植到Linux(不幸的是,我既缺乏必要的编程技能/经验,又缺乏获得它们的时间。)
0range 2012年

Answers:


3

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

  1. 您运行具有不同操作系统和可能不同平台的计算机。
  2. 您将针对两台计算机以及Linux和FreeBSD的情况进行描述
  3. 您的机器使用加密的文件系统
  4. 您想创建数据备份,也希望这些备份也被加密
  5. 您希望能够从贡献存档的任何平台访问那些加密备份中的数据

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

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

但是,顺便说一句-加密备份始终令人担忧:-您确实需要谨慎使用密钥-部分损坏通常会杀死整个备份

我的建议:使用

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

要将其保留在局域网中,您可以:

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

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

在无尾礼服上,您的Linux机器:

/dev/foo            /           # encrypted filesystem
/dev/bar            /tuxdump    # unencrypted filesystem, local backup
beastie:/daemondump /daemondump # NFS backup destination

在野兽上,您的FreeBSD机器:

/dev/flurb          /           # encrypted filesystem
/dev/baz            /daemondump # unencrypted filesystem, local backup
tux:/tuxdump        /tuxdump    # NFS backup destination

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


不完全是。我不需要它是逐块的,我也不需要通过网络(尽管您建议的工具看起来很有趣)。问题是(因为Zoredache和ЯрославРахматуллин已经正确理解了),如果任何一个系统由于某种原因而崩溃,我都需要某种方式来访问备份。因此备份应该存储在两个系统都可以访问的加密文件系统上(在另一个磁盘上)。由于本地加密系统以及linux和freebsd的本地文件系统都不兼容,因此会出现问题。对不起,您未及早答复。
0range

哦,我要提一下,其中一些压缩包只是作为我的PGP收件人为我手动加密的。后来,更智能的设置有两个文件,一个是用对称密钥加密的存档,另一个是用PGP加密的密钥,都在另一个压缩包中,因此文件在传输时不会丢失。没有一个能像上述脚本那样自动化地很好,但是它确实完成了工作。
Florenz Kley 2012年

我从未听说过重复,但这听起来确实正是我要找的东西!你知道几岁了吗?稳定吗?我找不到项目开始的日期。
cnst 2013年

Duplicity [ duplicity.nongnu.org]自2002年以来一直存在,我从ca开始使用它。2004.
Florenz Kley

@ 0range-清除了“加密”的区别。我提议的不是逐块进行的,而是基于文件的。建议使用未加密的文件系统,因为两个系统都可以读取它们。将加密的备份存储在它们上,它们也可以通过各自的本机工具在两个平台上读取。这应该在两个平台上的要求,加密和可读性上都打勾。
Florenz Kley 2013年

2

重复性 -此任务的绝佳工具,使用GPG进行加密。我使用了一段时间,我真的推荐。

作为替代方案,您可以尝试:

  • obnam-是一个新项目,但是具有一些不错的功能(如果通过ssh / scp使用它会有点慢)
  • burp-使用密码加密

请参阅上面我对Florenz Kley的回答的评论。(并感谢您建议使用这些工具)
0range 2012年

抱歉,我只能在这里添加评论。这些工具不是逐块的,而是FS(即使在Windows上,您也可以备份FS并将其还原)。GPG是加密的标准-它同时适用于两者。这些程序不仅限于网络,还可以将dir备份到dir。因此,通过双重性,您可以备份两台计算机,并在有双重性和GPG密钥的任何地方恢复加密的备份。
脊髓


1

您可以使用rsync其他计算机硬盘上的普通文件备份计算机文件。无论如何,您在使用本地加密时,都会使用本地系统加密进行加密,并且传输由TLS保护。更新速度很快,并且您坚持使用行之有效的加密和备份机制。

如果您只需要在某些不受信任的系统上备份文件,纯GPG对我来说效果很好。我使用python自动化了一些加密和FTP传输,该软件已经运行了两年很好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.