我家里有一台 NAS (Netgear Readynas NV+),工作中有一台始终开启的 Linux (Arch) 盒子。 Linux 盒子已经运行了 ssh 服务器/守护进程,NAS 已经运行了 rsync 服务器/守护进程。 NAS 不支持通过 ssh 进行 rsync。我的理解是,我可以在我的家庭路由器上启用端口转发,以使我的 linux 盒子能够启动与 NAS 的 rsync,或者我可以在 linux 盒子上启用 rsync 服务器并允许 NAS 启动同步。由于我的家庭路由器没有静态 IP 地址,因此我倾向于在 Linux 机器上运行 rsync 服务器。
一种方式比另一种方式更安全吗?这样做是否存在重大安全缺陷?
答案1
按照已经设置的内容进行操作,如果工作盒上的 ssh 已经是开放/受监控/支持/审核的服务,则尝试通过该服务进行 rsync。不开放新的端口/服务通常是最安全的。不开放不安全的协议上网就更好了 =)
你可以得到SSH 访问到 ReadyNas(如果您不介意 Netgear 在接到“我删除了我的 nas”支持电话时带来的一些麻烦)。然后rsync -e ssh
从命令行,无需设置任何其他内容。身份验证、线路安全和用户/文件权限均由工作盒上的 ssh/远程 shell 设置提供。
要在家庭网络上打开 ssh:
动态 IP 的麻烦可以通过运行免费的动态域名解析服务。
限制对工作箱公共 IP 的端口的访问。
某些路由器允许您在 NAT 规则中设置源 IP。
SSH 可以通过以下方式保护:iptables
和更多的
正如 DarkHeart 提到的,通过不安全的网络进行 rsync 本身并不是一个好主意。提到的隧道和 VPN 是一个很好的解决方法。您可以保持上述 ssh 隧道的状态自动SSH。如果您要根据其他人有权访问任一端来保留隧道,您可能需要依赖一些 rsync 安全性。
另外,如果您还没有这样做,请与某人讨论您在做什么。详细说明哪些数据进出网络。想想如果一切都出了问题,哪些数据可能会被泄露。在某处记录您的过程。
答案2
Rsync 本身以明文形式传输数据。所以无论哪种方式都会不安全。您需要使用 SSH 隧道或设置 VPN。如果您根本无法通过 SSH 访问 NAS,则可以使用“家里”的第三台服务器通过隧道从一台服务器连接到另一台服务器。例如:
ssh HOME_PC_WITH_SSH -L 873:NAS_SERVER:873
否则,请使用您的工作计算机登录您的家庭 VPN。
回答你的问题:我想说,如果你可以避免打开端口,那么那就更安全了。
答案3
你的场景很难。通常,打开从低威胁区域到高威胁区域(即从内部网络到 DMZ)的连接是没有问题的 - 更容易受到威胁的系统是具有开放连接的系统。通往互联网的服务/端口(这只适用于自动传输 - 因为我们都知道我们可能会通过网络客户端连接受到攻击)。
我想说工作机器应该打开与您的家用机器的连接(我希望这在您的工作中是合法的) - 并使用一种称为端口敲门在你的家用机器上。在家庭计算机上打开目标端口的序列必须存储在工作计算机上。并且您应该在每次使用后更改该顺序。