安全的异地备份,即使在黑客 root 访问的情况下

Ear*_*ind 25 backup offsite-backup

我正在寻找一种方法来实现一种更安全的异地备份方式,这种方式还可以保护我的数据免受恶意黑客获得对我的服务器的 root 访问权限的情况。如果 SSH 和密码安全设置正确并且系统保持正确更新,即使发生这种情况的可能性比其他类型的风险小,但可以永久造成的损坏量确实很高,因此我想找到一个解决方案来限制它。

我已经尝试过两种异地备份方式:

  • 一个简单的 root 可写 webdav 挂载(并在 fstab 中配置),备份数据被复制到其中。问题:不是真正的异地备份,因为对异地位置的连接 - 以及访问 - 一直作为文件系统中的文件夹打开。如果挂载具有有限的访问权限(只读 root 访问权限),这足以防止多种攻击,但不能防止具有 root 访问权限的恶意人员。

  • 通过 SSH 进行 Borg 备份并使用密钥身份验证。问题:如果恶意用户对主机具有 root 访问权限,则可以使用存储在主机上的密钥连接到该异地服务器。

作为解决方案,我正在考虑这些潜在的方式,但我不知道如何以及用什么:

  • 备份只能写入或附加到目标,但不能删除。
  • 使用处理异地备份且不支持从第一台主机批量删除异地备份的备份软件。

在我的情况下并不真正有趣的解决方案:

  • 异地主机上的额外备份作业,将它们传输到第一个主机无法访问的位置(由于技术限制)。

任何人都可以就如何为我的案例实施适当的异地备份提供建议吗?

Esa*_*nen 54

您目前的所有建议都有一个共同点:备份源执行备份并可以访问备份目标。无论您是挂载该位置还是使用 SSH 或 rsync 等工具,源系统都可以以某种方式访问​​备份。因此,服务器上的妥协也可能危及您的备份。

如果备份解决方案可以访问服务器呢?备份系统可以通过只读访问来完成它的工作,因此对备份系统的任何妥协都可能不会危及服务器。此外,备份系统可以专门用于该目的,使备份的内容成为唯一的攻击媒介。那将是非常不可能的,并且需要非常复杂的攻击。

为避免使用篡改或损坏的内容覆盖备份,请执行增量备份,以便您可以在定义的恢复期内恢复任何以前的状态。

  • +1 - “拉”而不是“推” (10认同)
  • 这就是我通过 ssh 备份东西的方式:备份服务器将通过 ssh 进入要备份的服务器。 (5认同)
  • rsync over ssh 也是不错的选择,允许增量备份。直接 scp 更适合完整备份 (4认同)

Tim*_*Tim 10

不可变存储

一个不错的选择是使您的备份存储不可变,或者至少提供可靠的版本控制,从而使您有效地保持不变性。要明确:不可变意味着无法更改或永久。

有多种服务可以为您做到这一点。AWS S3、BackBlaze B2 和我怀疑 Azure 和 Google 都提供类似的服务。您可能可以设置服务器来执行此操作,但我不确定如何。

当您拥有不可变/版本控制的存储库时,您可以将备份恢复到任何点,因此如果您的主机受到威胁,您仍然可以在任何时间点恢复。

*AWS S3**

我最熟悉 AWS S3。S3 提供版本化的加密存储,具有高度的持久性。

S3 支持版本控制,这为您提供了有效的不变性。您可以选择使用生命周期规则在您可以配置的时间段后删除旧版本的文件。您还可以将版本存档到冷存储(冰川冷存档),费用约为 1 美元/TB/月。

您可以使用智能存储分层类来降低成本。我选择使用生命周期规则将所有静态数据移动到不频繁访问类,该类具有持久性和中等(热)性能,但不具备 S3 标准的可扩展性或性能。

S3 使用 IAM(身份访问管理,即用户管理)用户和策略。这使您可以非常精细地控制备份软件可以对存储执行的操作。您可以授予备份用户上传权限,但拒绝更新和删除。您还可以要求多因素身份验证来删除文件,甚至提供对象锁定以便无法删除文件。

推荐软件

我使用Restic创建增量备份。Restic 将新文件上传到您的存储位置。我相信(但我可能不正确)它会创建新文件,但在一般操作中它不会更新或删除任何文件。

博格是另一种选择。我曾经使用过 Borg,但我发现通过我的数百 MB 中等大小的备份,它每天有效地将我所有的数据从 EC2 上传到 S3。对我来说这不是增量,所以我停止使用它。我确实找到了这方面的文档,但没有链接。

有数十种软件可以上传到云存储。

受保护的存储

使用某些备份软件,您可以尝试授予 IAM 用户写入新文件但不更新现有文件的权限。使用 AWS IAM 进行此限制很容易,但根据下面的评论,Restic 不适用于这些权限。您还可以进行从 S3 中删除文件所需的多因素身份验证。

您可以有另一个 IAM 用户,从您的 PC 运行,它会定期清理存档,根据您设置的策略丢弃版本。


小智 8

Borg Backup 支持append-only 远程存储库。正在备份的服务器的任何妥协只会导致创建新的备份,而不是只覆盖旧的备份。

  • 我不喜欢 Borg 的一件事是,如果您的增量备份低于某个给定的大小,它只会将每个备份都上传。我搬到 Restic 是因为它的带宽效率低下。我不知道阈值是多少,但足以让人有点恼火。 (2认同)

Ron*_*ohn 7

在我的情况下并不真正有趣的解决方案:

异地主机上的额外备份作业,将它们传输到第一个主机无法访问的位置。

根本问题是,如果您可以远程访问备份,那么黑客也可以

(由于技术限制)

需要克服技术限制。

任何人都可以就如何为我的案例实施适当的异地备份提供建议吗?

近 70 年来,磁带驱动器一直为各种灾难(包括黑客)提供安全的异地保护。