NFS - 安全导出文件系统的子目录

NFS - 安全导出文件系统的子目录

就上下文而言,我正在协助管理一些记录不完善的软件,这些软件使用在主服务器和故障转移服务器之间共享的 NFS 安装。 NFS 服务器当前正在导出文件系统的子目录,并且在导出时启用了 no_subtree_check 选项,我试图了解此操作的安全含义以及是否值得重新安排内容,以便此导出的子目录位于其自己的文件系统上。


根据exports(5) 手册页:

子目录导出

通常您应该只导出文件系统的根。 NFS 服务器还允许您导出文件系统的子目录,但是,这有缺点:

首先,恶意用户可能通过猜测其他文件的文件句柄来访问文件系统上导出的子目录之外的文件。防止这种情况的唯一方法是使用 no_subtree_check 选项,这可能会导致其他问题。

与选项的文档相比,最后一句话对我来说似乎是倒退的。难道不应该是子树检查防止恶意用户猜测和访问导出子目录之外的文件句柄的选项?

这似乎也与手册页中其他地方提到的有关子树检查问题的“导致其他问题”行相匹配:

从 nfs-utils 版本 1.1.0 开始,默认值为 no_subtree_check,因为 subtree_checking 往往会导致比其价值更多的问题。

我也有点不清楚文件句柄猜测是如何工作的。这种攻击很容易用测试命令模拟吗?如果是这样,我该怎么做? (如果我知道如何做到这一点,我可以直接比较 subtree_check 和 no_subtree_check 行为。)

相关内容