加密的 NFS 使用什么密码?

What cipher is used on encrypted NFS?

为了保护 NFS(网络文件系统),挂载选项 krb5p 可用于加密文件服务器和 NFS 客户端之间的所有流量。身份验证和密钥交换基于 Kerberos。 以下是有关如何为 Debian 配置它的示例:https://wiki.debian.org/NFS/Kerberos

不幸的是,似乎无法配置用于此传输加密的密码。使用什么密码,如何配置、选择或强制执行?

没有将 NFSv4 与 Kerberos 一起使用,但在许多其他地方使用它,您指的是 GSS-API 通过 Kerberos 提供的机密性,该 Kerberos 使用 gss_wrap(3)/gss_unwrap(3) 实现。它提供了一个保护质量参数,但我很确定 NFSv4 会将其保留为空 => 由机制自行决定。

无论如何,鉴于 GSS-API 完全从该机制中抽象出来,您可能别无选择,但您仍然可以对此做些事情。在您的 KDC 中至少启用 RC4,最好启用 AES128 和 AES256。实现将使用最佳可用密码。您可以扫描客户端和 TGS(TGS-REQTGS-REP)、客户端和服务器(NFS)之间的流量,以查看协商了哪种加密类型,这将高度用于 wrapping/unwrapping。您可以像我一样阅读 RFC,但这需要很多时间才能理解。

希望这对您有所帮助。当然,对于 NFSv4 内部结构,我可能完全错了。

刚刚进行了一些挖掘,现在我很确定我的分析是正确的。 RFC 7530, chapter 3.2.1 talks about Kerberos 5 mandatory privacy for krb5p as well as AES along with HMAC-SHA1. Further reading leads to the RFC 2203 (RPCSEC_GSS spec) 讨论 gss_wrap/gss_unwrap.