“Kerberised” NFSv4 是否可以安全地防止恶意客户端欺骗用户

“Kerberised” NFSv4 是否可以安全地防止恶意客户端欺骗用户

我读过一些相互矛盾的声明,关于通过 NFSv4 以 sec=krb5 导出的共享是否受到加密保护,以防止恶意客户端挂载共享然后欺骗用户来访问未经授权的文件。

例如,这里我们有这样一条声明:

[在 Kerberos 认证的 NFS 环境中]... NFSv4 仍然依赖客户端诚实地报告哪个用户正在访问文件(现在使用字母登录 ID 而不是数字 UID)。

这里我们有一个矛盾的说法:

使用 RPCSEC_GSS Kerberos 机制,服务器不再依赖客户端来正确表示哪个用户正在访问文件,就像使用 AUTH_SYS 一样。相反,它使用加密技术向服务器验证用户身份,从而防止恶意客户端在没有该用户的 Kerberos 凭据的情况下冒充用户。

关于 NFSv4 文件访问的实际情况如何?

答案1

sec=sys 授权完全依赖于客户端用户的 uidnumber 与服务器上文件的 uidnumber 的匹配。对于具有 root 访问权限的人来说,冒充其他用户是轻而易举的事。

sec=krb5 要求用户向 kdc 进行身份验证(而不仅仅是向客户端进行身份验证),这使得本地管理员更难冒充用户。但是,它并不是万无一失的,在 kerberos 领域中注册的客户端计算机被视为“受信任”。假设 NFSv4 共享由经过身份验证的用户正确安装 - 客户端的根用户可以通过“su”访问共享(可能还有他们的 tgt,现在缓存在客户端上)。

我很高兴得到纠正(并且希望听到对 krb NFS 有更好理解的人的意见) - 这是我通过有限测试得出的观察结果。

相关内容