当我进入“6.4.通过SSH隧道化NFS”部分时,我正在懒散地阅读
http://nfs.sourceforge.net/nfs-howto/ar01s06.html,试图理解为什么localhost导出很糟糕.该部分中的所有内容都是关于导出localhost的可能的安全漏洞,因为它允许其他人将ssh端口转发并访问共享.
这是我的问题,如果用户可以连接到可以连接到NFS服务器的计算机,那么如何使ssh隧道不破坏系统的安全性?例如,想象计算机A(192.168.1.1),B(192.168.1.2)和C(192.168.1.3).设A是具有以下导出文件的服务器:
/home 192.168.1.2(rw)
如您所见,A允许B使用/ home共享.现在,让C ssh进入B:
$ssh 192.168.1.2 -L 250:192.168.1.1:2049 -f sleep 60m $ssh 192.168.1.2 -L 251:192.168.1.1:32767 -f sleep 60m
似乎A出口到B的股票容易受到任何可以进入B的人的影响.是这样的吗?有没有办法防止这种情况,除了简单地确保任何可以登录B的人都是非常可信的用户?
解决方法
这是一篇非常古老的文档,你看它讨论2001年出现的内核版本2.4,在过去的12年中发生了很多变化.虽然有些事情保持不变.
我只使用CentOS 6.x盒子,默认情况下使用nfsv4.为了允许通过中间机器进行连接,我必须使用不安全的设置导出文件系统.
因此,要回答您的问题,请使用nfsv4并使用默认的安全模式.如果您对B有足够的权限,您也可以设置
AllowTcpForwarding no
在它的/ etc / ssh / sshd_config中.
如果您给予人们特权,那么就像安全一样,您必须信任他们.