如果我理解它是如何工作的,那么 NFS 安全性依赖于客户端可以信任的事实。
我担心某些用户会访问其他用户的文件。是的,root_squash
选项避免客户端上的 root 用户访问文件,但如果某人在任何客户端上具有 root 权限,他可以 su 进入任何用户,然后访问他们想要的文件。
我目前正在将文件导出到所有本地网络。我正在考虑仅导出到受信任客户端的网络组——但维护起来可能会很痛苦,而且它只会稍微掩盖问题,如果某些受信任的客户端获得 root 访问权限,问题仍然存在。
如果我理解它是如何工作的,那么 NFS 安全性依赖于客户端可以信任的事实。
我担心某些用户会访问其他用户的文件。是的,root_squash
选项避免客户端上的 root 用户访问文件,但如果某人在任何客户端上具有 root 权限,他可以 su 进入任何用户,然后访问他们想要的文件。
我目前正在将文件导出到所有本地网络。我正在考虑仅导出到受信任客户端的网络组——但维护起来可能会很痛苦,而且它只会稍微掩盖问题,如果某些受信任的客户端获得 root 访问权限,问题仍然存在。
NFS 是文件访问的一个安全漏洞——您实际上无能为力。你能做的最好的事情就是只允许导出到你所描述的受信任的客户端,并有选择地使用防火墙规则来防止其他人偷偷通过并与你的 NFS 服务器交谈(即使他们理论上无法做你可能做的任何事情)以及确保它们被锁定)。
如果您只使用 NFSv4,您可以对您的 NFS 环境进行 Kerberize化,这在验证客户端方面提供了一些更好的安全选项,但是维护 Kerberos 环境的工作可能等于(或大于)维护网络组导出列表——如果您尽管它对您来说可能是更好的解决方案,但无论如何还是要使用 Kerberos。