为了保护NFS(网络文件系统),可以使用mount选项krb5p来加密文件服务器和NFS客户端之间的所有流量.身份验证和密钥交换基于Kerberos.
以下是如何为Debian配置的示例: https://wiki.debian.org/NFS/Kerberos
以下是如何为Debian配置的示例: https://wiki.debian.org/NFS/Kerberos
不幸的是,似乎没有办法配置用于此传输enryption的密码.使用什么密码以及如何配置,选择或强制执行此密码?
解决方法
如果没有将NFSv4与Kerberos一起使用但在许多其他地方使用过它,那么你指的是通过Kerberos提供的GSS-API提供的机密性,它是用
gss_wrap(3)/gss_unwrap(3)
实现的.它提供了一个保护质量参数,但我很确定NFSv4会保留它null =>由机制自行决定.
无论如何,鉴于GSS-API完全从机制中抽象出来,你可能别无选择,但你仍然可以做些什么.在KDC中启用至少RC4,最好是AES128和AES256.实现将使用最佳可用密码.您可以扫描客户端和TGS(TGS-REQ和TGS-REP),客户端和服务器(NFS)之间的流量,以查看已协商的加密类型,这将高度用于包装/解包.您可以像我一样阅读RFC,但这需要花费大量时间来理解.
希望这可以帮助.当然,我对NFSv4内部结构可能完全错误.
刚做了一些挖掘,我现在很确定我的分析是正确的. RFC 7530,chapter 3.2.1讨论了krb5p以及AES和HMAC-SHA1的Kerberos 5强制隐私.进一步阅读会导致RFC 2203(RPCSEC_GSS规范)讨论gss_wrap / gss_unwrap.