两个系统之间没有密码的安全rsync

我们正试图在两台服务器之间实现一个安全的rsync备份。 我们正在尽一切办法来避免在两个系统之间没有root密码的情况下进行访问,如果有的话只为特定的用户做。

我知道这有备份文件的权限问题。 我已经在serverfault和这个网站上阅读了关于使用fakeroot和SSH服务器的“PermitRootLogin forced-command-only”选项,但是仍然无法弄清楚从安全angular度来看最合乎逻辑的select视图。 我们不希望root用户在没有密码的情况下在另一台机器上自动拥有root权限。 不知道我们是否只是偏执一点,但我认为这是相当平常的任何反馈将主要赞赏。

  • PermitRootLogin强制命令只有一对没有密码的密钥足够好吗? 这是否需要在目标服务器(即rsync)允许的命令的特定列表?
  • fakeroot选项是否可以正常工作(主要是我们的数据备份),如果是这样的话……它是如何与rsync命令结合的?
  • 我们可以在两个系统上拥有足够权限的rsync用户,这样无密码的rsync工作正常吗?

非常感谢。

你是正确的,无论你的现场机器或备份机器上无密码的rootlogin是一个坏主意 – 如果有人获得访问一方,他们立即可以访问另一方,所以可以损害您的实时数据和在线备份在同一时间。

如果您的备份服务器将更新推送到那些存储备份的服务器,那么fakeroot选项应该可以正常工作,并且您只需要将--fake-super添加到rsync命令行并确保接收端的文件系统支持扩展属性。

另一个select是引入一个中间机器,活动服务器和备份服务器都有基于密钥的根login名。 这就是现场机器可以使用rsync将备份推送到中间机器,之后备份机器可以将其备份下来,而现场或备份机器根本无法互相login,不必担心。 中间机器不需要能够与现场或备份服务器进行authentication。 中间服务器只需要足够的空间来容纳所有事情的testing版(即,存储在备份服务器上的数据包括来自不同时间的快照可能比中间服务器可以存储的大几倍。

当然,不言而喻的是,除了不允许在服务器之间进行基于密钥的rootlogin之外,还要确保根(和其他)密码在机器间都是不同的。