NFSv4 与 sec=krb5:不允许加密类型 aes256-cts-hmac-sha384-192

NFSv4 与 sec=krb5:不允许加密类型 aes256-cts-hmac-sha384-192

从 Fedora 38 升级到 39 时,使用 kerberos ( sec=krb5) 从 Synology NAS 安装 NFSv4 共享会中断。使用

mount -v -t nfs -o nfsvers=4,minorversion=1,sec=krb5 10.123.99.2:/volume1/video /mnt/

Fedora 39客户端,我收到以下错误:

mount.nfs: timeout set for Sat Feb 24 12:25:20 2024
mount.nfs: trying text-based options 'nfsvers=4,sec=krb5,vers=4.1,addr=10.123.99.2,clientaddr=10.123.99.10'
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting 10.123.99.2:/volume1/video

幸运的是,Synology NAS(服务器)上的信息更有帮助:我在中收到以下错误/var/log/messages

svcgssd[10330]: ERROR: GSS-API: error in handle_nullreq: gss_accept_sec_context(): GSS_S_FAILURE (Unspecified GSS failure.  Minor code may provide more information) - Encryption type aes256-cts-hmac-sha384-192 not permitted

作为另一个Fedora 38仍然完美无缺,我想新的Fedora 39系统默认采用 Synology NAS 不支持的新加密类型。因此,我尝试了allow_weak_crypto = truedefault_tgs_enctypes = aes256-cts-hmac-sha1-96/或 ,default_tkt_enctypes = aes256-cts-hmac-sha1-96/etc/krb5.conf对问题及其服务器上的错误消息没有影响。(它破坏了使用我的标准用户名登录。我使用 FreeIPA 服务器进行授权和身份验证,所以我猜这不像其他加密。)

在 reddit 上,我得到了玩的提示update-crypto-policies。这也不起作用。

有没有办法设置使用哪种加密?或者你认为还有其他问题?

谢谢!

答案1

每个服务的 Kerberos 加密类型均在 KDC 上设置。当客户端请求服务票证时,KDC 会在客户端声称支持的类型和 KDC 所支持的类型之间选择最强的类型该服务将支持(因为 KDC 不与该服务通信)。

例如,使用 MIT Kerberos,您可以在通过 kadmin 生成密钥表时或为服务帐户(在 KDC 上生成密钥)设置密码时指定自定义 enctypes 列表。另一方面,Active Directory 有“支持 AES”复选框用于此目的。

我不知道您如何使用 FreeIPA 执行此操作,但我认为它是您用于nfs/为 Synology 生成密钥表的命令的一部分。

相关内容