如何select云服务进行备份

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

我(客户)的主要担心是(按重要性递减)

  1. 保护知识产权(商业秘密,源代码),用户账户信息等
  2. 服务提供商提供的正常运行时间保证(以最小化networking服务器停机时间
  3. 成本
  4. 上传/下载速度

理想情况下,我希望服务没有太长的联系(即我更喜欢一种“即用即付”服务)

我也想避免供应商locking,在那里几乎不可能移动到另一个服务。

我想要一些一般的指导方针:

  1. 如何去select一个服务提供商
  2. 谁是这个领域的主要参与者
  3. 软件推荐用于:备份/恢复/上传/下载保存/恢复的文件

服务器软件要么是Ubuntu或Debian(我可能会发布一个问题,作为服务器哪个操作系统 – 我已经熟悉Ubuntu)

    任何不包括所有者拥有密钥的客户端encryption的解决scheme都不符合首先要求的(IP保护/安全) – 服务器端的任何破解都会公开未encryption的数据。 这就排除了云端同步系统,如拥有密钥的Dropbox。

    为了避免在网站的服务器上托pipe所有重要的encryption密钥,而这些密钥在某些时候也可能被黑客入侵,我将这样做:

    1. 客户自己的站点上的内部备份服务器 – 具有其他服务器的encryption密钥和SSH密钥
    2. 服务器托pipe的网站 – 可以成为一个虚拟主机
    3. 云备份服务器或服务

    步骤1:服务器(1)从(2)中提取备份,所以网站服务器的大部分黑客都不会损害备份。 encryption发生在这一点上。

    • 我会使用基于密钥login的SSH通过rsnapshot ,因为这对web主机和内部备份服务器的要求最低 – 除非您有一个大的数据库来备份,它是非常有效的带宽和存储多个版本的网站,并处理旧备份的清除。
    • encryption可以通过任何文件来完成,例如GPG文件工具,将rsnapshot树复制到另一个树 – 或者您可以使用重复的步骤2,节省磁盘空间。
    • 从备份服务器“拉”是非常重要的 – 如果主服务器(2)具有备份服务器的密码/密钥,黑客可以在黑客入侵主服务器后(有时会删除备份)。 真正先进的黑客可以安装特洛伊的SSH二进制文件,然后妥协的备份服务器,但是这是不太可能的大多数公司。

    步骤2:服务器(1)将encryption的备份推送到(3),以便进行异地备份。 如果在步骤1中对备份进行了encryption,则可以使用本地rsnapshot树的rsync镜像到远程系统。

    • Duplicity将是一个很好的select,直接encryption和备份未encryption的rsnapshot树到远程服务器上。 Duplicity的function与使用GPGencryption的tar归档的rsnapshot有所不同,但它在远程主机上提供了备份encryption,并且只需要在该主机上使用SSH(或者可以使用Amazon S3)。 Duplicity 不支持硬链接 ,所以如果这是必需的(例如对于完整的服务器备份),最好是脚本将rsnapshot树(支持硬链接)转换为tar文件(也许只是文件> 1硬链接,这将是相当小),所以重复可以备份的tar文件。
    • 由于远程服务器只是一个SSH主机,可能是rsync,它可能是一个虚拟主机(但来自不同的托pipe服务提供商,在国家的不同地区),或提供rsync和/或SSH的云服务 – 参见这个答案在rsync备份到云的推荐bqbackup和rsync.net,虽然我不同意提到的备份设置。
    • 您可以使用Amazon S3作为远程服务器的双重性,这会给您提供非常好的可用性,但是对于大型备份来说,这可能会花费更多。
    • 用于远程encryption备份的其他选项有Boxbackup (不太成熟,还有一些不错的function)和Tarsnap (基于Amazon S3的商业云服务,具有简单的命令行界面,良好的重复数据删除和非常彻底的encryption)。
      • JungleDisk可能是一种select,但过去我对它们没有很好的体验,而且它们的encryption有一些问题 (来自Tarsnap的作者)。

    所有各种主机的安全性是重要的,所以这应该进行调整,以满足客户的安全形象,即分析威胁,风险,攻击媒介等。Ubuntu的服务器并不是一个不好的开始,因为它有频繁的安全更新5年,但所有服务器都需要注意安全性。

    这个设置提供了2个独立的备份,其中一个可以是高度可用的云存储服务,以拉模式运行,因此大多数网站攻击不能同时销毁备份,而且它使用经过充分validation的开源工具需要大量的pipe理。

    • 独立备份是至关重要的,因为黑客确实有时会在黑客攻击网站的同时删除所有备份 – 在最近的情况下, 黑客破坏了4800个网站,包括通过黑客攻击网站托pipe环境而不是网站进行备份 。 另请参阅此答案和这一个 。
    • 使用rsnapshot进行恢复非常简单 – 每个备份的每个文件在每个快照树中都有一个文件,因此只需使用Linux工具和rsync查找文件,或者将其恢复到网站即可。 如果由于某种原因,现场备份服务器不可用,只需使用重复function将其从云备份服务器恢复即可 – 或者,您可以使用标准工具(如GPG,rdiff和tar)来恢复备份。

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

    软件方面,考虑使用非对称encryption和愚蠢接收器(非云howto )进行增量备份的重复性 。

    我总是告诉我的客户,最好的,最便宜的和最有效的备份解决scheme就是为了您自己的目的而自己构build的解决scheme。

    在为客户端构build系统时,我使用rsync和SSH密钥来处理serverA和serverB之间的身份validation,其中serverA包含要备份的数据。 归档和rsync数据的命令包含在bash脚本中的非web可访问的目录中,每隔H小时由cron调用(每天24个,等等)

    备份服务器serverB将独自用于备份。 我总是build议我的客户使用SSH密钥身份validation的冗长密码,以允许下载备份和备份。 有时,我的客户需要在D天内保存备份,所以我编写了一些脚本来处理(从活动备份目录获取数据,应用时间戳,添加到另一个目录中的存档)。

    对于小型企业/消费者,我build议亚马逊的存储服务 。

    • 区域控制(即存储在欧盟的对象永远不会离开欧盟)。
    • 任何给定的结算周期99.9%的正常运行时间
    • 每GB存储每月0.150美元
    • 每GB下载0.170美元
    • 免费上传到2010年6月,之后每GB 0.10美元

    还有一个相当模糊的保证:“提供authentication机制来确保数据安全,防止未经授权的访问”

    虽然bluenove正与S3合作,但Amazon的系统并不是真正的直接备份解决scheme,而是一个原始数据存储解决scheme,仍然需要使用前端系统进行备份,无论是几个API调用还是一个完整的备份pipe理套件。 像JungleDisk服务器版 ,在后端使用S3,但提供更好的界面作为备份解决scheme,可能会更好。

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

    我喜欢在Amazon AWS中存储备份,并使用免费工具s3cmdhttp://s3tools.org/s3cmd

    它可以很容易地安装(Debian:apt-get install s3cmd)。

    您只需要一个Amazon AWS账户即可将您的文件存储在S3上。 然后一个简单的命令就可以运行你的备份,甚至可以不计分或作为一个同步解决scheme,例如:

    s3cmd sync /srv/backup s3://your-bucket-name-at-amazon/ 

    确保你运行

     s3cms --configure 

    首先input您的AWS凭证。