我的(客户)主要关注点(按重要性递减顺序)
>保护知识产权(商业秘密,源代码),用户帐户详细信息等
>服务提供商提供的正常运行时间保证(最小化Web服务器停机时间)
>成本
>上传/下载速度
理想情况下,我希望服务没有长期的关系(即我更喜欢一种“即用即付”服务)
我还想避免供应商锁定,几乎不可能转移到另一个服务.
我想要一些一般指导方针:
>如何选择服务提供商
>谁是该领域的主要参与者
>推荐使用的软件:
备份/恢复/上传/下载已保存/已恢复的文件
服务器软件要么是Ubuntu还是Debian(我可能会发布一个关于哪个OS作为服务器的问题 – 我已经熟悉Ubuntu了)
为了避免在网站的服务器上托管所有重要的加密密钥,这在某些时候也可能被黑客攻击,这就是我要做的:
>客户自己站点上的内部备份服务器 – 具有其他服务器的加密密钥和SSH密钥
>托管网站的服务器 – 可以是网络主机
>云备份服务器或服务
步骤1:服务器(1)从(2)中提取备份,因此网站服务器的大多数黑客都不会破坏备份.此时加密发生.
>我将使用基于密钥的登录使用rsnapshot而不是SSH,因为这对Web主机和内部备份服务器的要求最低 – 除非您有一个大型数据库进行备份,否则它在带宽方面非常有效并且存储了多个版本的站点,还处理旧备份的清除.
>加密可以通过任何文件到文件工具(如GPG)完成,将rsnapshot树复制到另一个树 – 或者您可以在步骤2中使用duplicity,从而节省磁盘空间.
>从备份服务器“拉”是很重要的 – 如果主服务器(2)具有备份服务器的密码/密钥,黑客可以并且有时会在黑客攻击主服务器后删除备份(见下文).真正先进的黑客攻击可以安装特洛伊木马程序的二进制文件,这可能会危及备份服务器,但对大多数公司而言,这种可能性较小.
步骤2:服务器(1)将加密的备份推送到(3),以便进行异地备份.如果在步骤1中对备份进行了加密,则可以使用本地rsnapshot树的rsync镜像到远程系统.
> Duplicity是将未加密的rsnapshot树直接加密和备份到远程服务器上的一个很好的选择. Duplicity的features与rsnapshot有点不同,使用GPG加密的tar档案,但它在远程主机上提供备份加密,并且只需要在该主机上使用SSH(或者它可以使用Amazon S3). Duplicity doesn’t support hard links,所以如果这是必需的(例如,对于完整的服务器备份),最好是脚本将rsnapshot树(支持硬链接)转换为tar文件(可能只是具有> 1硬链接的文件,这将是非常小的)所以duplicity可以备份tar文件.
>由于远程服务器只是一个SSH主机,可能是rsync,它可能是一个Web主机(但来自不同的托管服务提供商和该国的不同部分),或提供rsync和/或SSH的云服务 – 请参阅this answer on rsync backups to cloud以获取bqbackup和rsync.net的建议,但我不同意所提到的备份设置.
>您可以将Amazon S3用作具有双重性的远程服务器,这可以为您提供非常好的可用性,但是对于大型备份可能会花费更多.
>远程加密备份的其他选项是Boxbackup(不太成熟,一些不错的功能)和Tarsnap(基于Amazon S3的商业云服务,具有简单的命令行界面,良好的重复数据删除和非常彻底的加密).
> JungleDisk可能是一个选项,但我在过去和their encryption has some issues(来自Tarsnap作者)没有很好的经验.
所有各种主机的安全性都很重要,因此应调整以满足客户端的安全配置文件,即分析威胁,风险,攻击媒介等.Ubuntu Server不是一个糟糕的开始,因为它经常有5个安全更新.几年,但所有服务器都需要注意安全性.
此设置提供2个独立备份,其中一个可以是高可用性云存储服务,以拉模式运行,因此大多数网站上的攻击不能同时销毁备份,并且它使用经过充分验证的开源工具,而不是需要很多管理.
>独立备份至关重要,因为黑客确实有时会在黑客入侵网站的同时删除所有备份 – 在最近的情况下hackers destroyed 4800 websites,including backups通过黑客攻击网络托管环境而非网站.另见this answer和this one.
>使用rsnapshot恢复非常简单 – 每个快照树中都有一个文件用于备份的每个文件,因此只需使用Linux工具和rsync查找文件,或者将它们scp回到网站.如果现场备份服务器由于某种原因不可用,只需使用duplicity将其从云备份服务器还原 – 或者您可以使用GPG,rdiff和tar等标准工具来还原备份.
由于此设置使用标准SSH和rsync,因此应该更容易选择具有正确正常运行时间保证,强大安全性等的合适提供商.您不必锁定长合同,并且如果备份服务具有灾难性失败,您仍然有本地备份,可以很容易地切换到另一个备份服务.