使用 kerberos 的 NFS 访问限制

使用 kerberos 的 NFS 访问限制

我有以下设置:一台 Linux 机器是整个机器网络的备份存储。网络被认为是安全的,因为网络上没有真正的坏人。网络中有多个节点(AB、... F)将它们的备份放到中央服务器(不是本问题的主题)。每个这样的节点都专用于一个用户。

现在应该允许用户访问自己的备份。也就是说,服务器上有一个文件夹,A其中F包含包含各个备份目标的文件夹。节点上的用户应该能够访问自己的备份。

一个想法是使用 chrooted SSH 连接来允许连接到各个备份路径。另一个想法是使用带有 kerberos 的 NFS。IP 是动态分配的,无法修复。没有选项可以更改此行为(将其视为限制)。因此,我无法将共享导出AFIP,因为这些 IP 不是固定的。

这是我的问题:我是否可以以某种方式限制某些共享的访问权限,使其只能通过 Kerberos 访问所有已知机器的子集?

我考虑过使用不同的域,但我不确定这是否可行。我对 Kerberos 了解不够。在我搞乱整个网络并最终一无所获之前,您能否给我一些建议。

答案1

,您无法轻松地将 Kerberos 共享导出到动态 IP 地址的子集。然而,您可以相对轻松地将 Kerberos 共享导出到一组 Kerberized用户

使用 Kerberos 的共享与标准 NFS 共享非常相似,但客户端无法伪造其操作下的 uid。应相应地设置 Unix/posix ACL。

NFS 共享可以设置为特定子网并需要 kerberos。

/srv/backup/A 203.0.113.0/25(ro,sec=krb5p)
/srv/backup/B 203.0.113.128/25(ro,sec=krb5p)

客户端和服务器都需要访问适当的密钥表。
服务器是nfs/<server.fqdn>@<REALM>
客户端 (rpc.gssd) 按顺序搜索:

<HOSTNAME>$@<REALM>  
root/<hostname>@<REALM>  
nfs/<hostname>@<REALM>  
host/<hostname>@<REALM>  
root/<anyname>@<REALM>  
nfs/<anyname>@<REALM>  
host/<anyname>@<REALM>

客户端必须持有有效票,通常通过pam_ssspam_krb5ssh -Kkinit或获得k5start

服务器和客户端必须将相同的 kerberos 主体解析为相同的用户名。

相关内容