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