【问题标题】:How much is in-secure to use rsync in daemon mode without ssh在没有 ssh 的守护进程模式下使用 rsync 有多少不安全
【发布时间】:2012-02-07 13:24:26
【问题描述】:

正如我们所知,我们可以通过 ssh 使用 rsync 在计算机之间发送文件,尤其是在不同网络(例如 Internet)中的计算机之间进行一些安全传输。 (没错,我们都同意)

我们也知道 rsync 在使用普通方式传输数据时不提供任何安全性,因此我们使用 ssh 作为掩护。

这个主意!

如果我们在守护进程模式下使用 rsync(例如在位于英国的 linux 备份服务器上)并且我们开始使用互联网线路从 linux 计算机(例如来自法国)备份数据而不使用 ssh(只需使用普通rsync 守护进程选项)

示例:

rsync -vazi --progress source rsync://user@england-server.example.com/somefolder/

所以问题是

你认为这是一种安全的方式吗?

如果没有,有没有人可以知道我们正在传输什么以及我们正在传输的文件的内容是什么?。

当rsync提示输入rsync用户密码时,是否有机会捕获我们输入的密码?

我知道使用 ssh 或 stunnel 更安全。但我真的想更多地了解为什么在使用正常方式时它是不安全的,尤其是当我们通过互联网在计算机之间同步数据时。

感谢您的任何回答。

【问题讨论】:

标签: security networking rsync data-transfer


【解决方案1】:

没有 SSH 的 Rsync 事务是不安全的,因为协议和软件本身不包含任何内容加密。因此,如果中间有人,他可以读取/复制您正在备份的内容。身份验证也可以读取。

您应该考虑在生产网络和备份网络之间使用 SSH 或 VPN。

【讨论】:

  • 好吧,一个男人在监视我?或网络之间的任何人?和 10 的风险等级是多少? 1 个最低,10 个高风险
  • 有权访问您的机器的人或对您的机器和备份机器之间的节点有部分访问权限的任何人。风险取决于数据的商业价值,但在风险矩阵中,这将被视为 >10,因为您通过无法控制且无法信任的网络发送纯数据。
【解决方案2】:

当您使用 SSH 时,您不仅可以获得机密性,还可以获得身份验证。

机密性可确保在通过 Internet 发送您的数据时,任何人都无法看到您的数据。身份验证确保您实际上连接到正确的服务器(中间人攻击,如 fyr 提到的)。如果您的数据不是那么重要,您可能会说“嘿,没有人会窃取我的数据,这没那么重要”。

真正让我担心的安全问题是当您在没有身份验证的情况下执行 rsync 时缺少身份验证。这意味着任何人都可以连接到您的机器或从您的机器发送数据。想象一下有人坐在服务器之间的任何地方,他们看到一个未经身份验证的连接通过 rsync 写入数据。现在他们知道如何登录您的服务器并转储和检索信息。您刚刚为所有人创建了一个免费的匿名文件转储。在人们开始将它用于非法目的之前,这似乎不是一个大问题,或者只是将病毒/rootkit 转储到您的计算机上。

在我看来,没有 1-10 级的风险可以量化这种风险,这简直是不可接受的。只需要扫描端口就可以看到该端口是开放的,然后脚本可能会发现漏洞。

【讨论】:

  • 本机 rsync 协议可以在匿名模式下使用,但它确实也支持身份验证。请参阅--password-file 命令行选项和“秘密文件”守护程序配置参数。这允许您让特定人员/进程能够上传到文件系统的指定区域,而无需实际需要用户帐户。尽管密码本身从未以纯文本形式通过网络发送,但您的数据仍然如此。
【解决方案3】:

您也可以在 rsyncd.con 模块中使用“hosts allow = xxx.xxx.xxx.xxx”。即使攻击者掌握了用户/密码,它也只允许来自给定主机的连接。

【讨论】:

  • 我不这么认为。 “另请注意,rsync 守护程序协议当前不提供通过连接传输的数据的任何加密。仅提供身份验证。如果要加密,请使用 ssh 作为传输。”。 download.samba.org/pub/rsync/rsyncd.conf.html
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多