如何选择云备份服务

如何选择云备份服务

我正在考虑使用云服务来备份我的一个客户的网站。

我(客户)主要关心的是(按重要性降序排列)

  1. 保护知识产权(商业秘密、源代码)、用户帐户详细信息等
  2. 服务提供商提供的正常运行时间保证(以最大限度地减少网络服务器停机时间)
  3. 成本
  4. 上传/下载速度

理想情况下,我希望服务不需要长时间连接(即我更喜欢一种“随用随付”的服务)

我还想避免供应商锁定,因为这样几乎不可能转移到其他服务。

我希望获得一些关于以下方面的一般指导:

  1. 如何选择服务提供商
  2. 该领域的主要参与者是谁
  3. 推荐使用以下软件:备份/恢复和上传/下载已保存/恢复的文件

服务器软件要么是 Ubuntu,要么是 Debian(我可能会发布一个关于使用哪种操作系统作为服务器的问题 - 我已经熟悉 Ubuntu)

答案1

任何不包含客户端加密(密钥由所有者持有)的解决方案都无法满足第一个要求(IP 保护/安全)——任何对服务器端的攻击都会泄露未加密的数据。这排除了拥有密钥的云同步系统(如 Dropbox)。

为了避免将所有重要的加密密钥托管在网站的服务器上(有时也可能会被黑客入侵),我会这样做:

  1. 客户自己的站点上的内部备份服务器 - 具有其他两台服务器的加密密钥和 SSH 密钥
  2. 托管网站的服务器 - 可以是网络主机
  3. 云备份服务器或服务

步骤 1:服务器 (1) 从 (2) 提取备份,因此网站服务器的大多数黑客攻击都不会危及备份。此时进行加密。

  • 我会用快照通过 SSH 使用基于密钥的登录,因为这对网络主机和内部备份服务器的要求很小 - 除非您有一个大型数据库需要备份,否则它在带宽方面非常高效并且存储网站的多个版本,并且还可以处理旧备份的清除。
  • 加密可以通过任何文件到文件工具(例如 GPG)完成,将 rsnapshot 树复制到另一棵树 - 或者您可以在第 2 步中使用 duplicity,从而节省磁盘空间。
  • 从备份服务器“提取”数据非常重要 - 如果主服务器 (2) 拥有备份服务器的密码/密钥,黑客在入侵主服务器后可以(有时也会)删除备份(见下文)。真正高级的黑客可以安装木马 SSH 二进制文件,然后可能危及备份服务器,但对于大多数公司来说,这种情况不太可能发生。

步骤 2:服务器 (1) 将加密的备份推送到 (3),以便有一个异地备份。如果备份在步骤 1 中已加密,则只需使用本地 rsnapshot 树的 rsync 镜像到远程系统即可。

  • 表里不一直接加密并将未加密的 rsnapshot 树备份到远程服务器是一个不错的选择。Duplicity 的特征与 rsnapshot 略有不同,它使用 GPG 加密的 tar 存档,但它在远程主机上提供备份加密,并且只需要该主机上的 SSH(或者它可以使用 Amazon S3)。Duplicity不支持硬链接,因此如果需要这样做(例如,对于完整的服务器备份),最好使用脚本将 rsnapshot 树(支持硬链接)转换为 tar 文件(可能只是具有 >1 个硬链接的文件,这些文件会非常小)以便 duplicity 可以备份 tar 文件。
  • 由于远程服务器只是一个 SSH 主机,可能带有 rsync,因此它可能是一个网络主机(但来自不同的托管服务提供商,并且位于不同地区),或者是提供 rsync 和/或 SSH 的云服务 - 请参阅这是关于 rsync 备份到云的答案因为它推荐了 bqbackup 和 rsync.net,尽管我不同意所提到的备份设置。
  • 您可以使用 Amazon S3 作为具有 duplicity 的远程服务器,这将为您提供非常好的可用性,尽管大型备份可能需要花费更多。
  • 远程加密备份的其他选项包括盒式备份(不太成熟,有一些不错的功能)和塔斯纳普(基于 Amazon S3 的商业云服务,具有简单的命令行界面、良好的重复数据删除和非常彻底的加密)。

所有各种主机的安全性都很重要,因此应该进行调整以满足客户端的安全性配置,即分析威胁、风险、攻击媒介等。Ubuntu Server 是一个不错的开始,因为它 5 年来经常进行安全更新,但所有服务器都需要注意安全性。

此设置提供 2 个独立备份,其中一个可以是高可用性云存储服务,以拉模式运行,因此对网站的大多数攻击不能同时破坏备份,并且它使用经过充分验证的开源工具,不需要太多管理。

  • 独立备份至关重要,因为黑客有时确实会在入侵网站的同时删除所有备份 - 最近就出现了这种情况黑客摧毁了 4800 个网站,包括备份通过攻击网络托管环境而不是网站。另请参阅这个答案这个
  • 使用 rsnapshot 恢复非常简单 - 每个快照树中每个备份文件都有一个文件,因此只需使用 Linux 工具找到文件,然后 rsync 或 scp 将它们发送回网站即可。如果现场备份服务器由于某种原因不可用,只需使用 duplicity 从云备份服务器恢复它们 - 或者您可以使用 GPG、rdiff 和 tar 等标准工具来恢复备份。

由于此设置使用标准 SSH 和 rsync,因此应该更容易选择具有正确的正常运行时间保证、强大的安全性等的合适提供商。您不必锁定长期合同,并且如果备份服务发生灾难性故障,您仍然拥有本地备份,并且可以很容易地切换到另一个备份服务。

答案2

从软件角度来看,考虑表里不一对于使用非对称加密和哑接收器(非云如何)。

答案3

我总是告诉我的客户,最好、最便宜、最有效的备份解决方案是您为自己的目的而构建的解决方案。

当我为客户构建系统时,我使用带有 SSH 密钥的 rsync 来处理服务器 A 和服务器 B 之间的身份验证,其中服务器 A 包含要备份的数据。存档和 rsync 数据的命令包含在非 Web 可访问目录中的 bash 脚本中,cron 每 H 小时调用一次(每天 24 小时,等等)。

备份服务器 serverB 仅用于备份。我总是建议我的客户使用带有 SSH 密钥身份验证的超长密码来下载备份并进行备份。有时,我的客户需要将备份保存 D 天,因此我编写了一些脚本来处理该问题(从活动备份目录中获取数据,应用时间戳,添加到另一个目录中的存档中)。

答案4

虽然 bluenovember 的 S3 走在了正确的道路上,但亚马逊的系统实际上并不是一个嵌入式备份解决方案,而是一个原始数据存储解决方案,仍然需要使用前端系统进行备份,无论是几个 API 调用还是完整的备份管理套件。JungleDisk 服务器版本,它在后端使用 S3,但提供了更好的界面可用作备份解决方案,可能会更好。

此外,JungleDisk 会为您提供内置加密功能,无论您计划如何连接到 S3/“云”,您都需要添加此功能。他们也有一些非常不错的 Linux 客户端软件。

相关内容