想象一下这个简化的场景:一家小企业有一位老板、一位簿记员、一位兼职系统管理员和几十名员工;该公司有一个全 Linux 的 LAN。(大多数计算机运行 Arch Linux。)没有配置对 LAN 的外部(WAN)访问;LAN 资源仅在本地可用。
如今似乎一切都是基于云的,但我试图理解这个问题,而最初不必考虑基于云的资源的复杂性或远程或旅行员工的 WAN 访问。
目标是保护 LAN 上的资源免受未经授权的当地的访问,尤其是本地用户,他们可以根。
系统管理员目前拥有所有计算机的 root 访问权限。少数员工拥有其计算机上的 sudo 权限。目前,系统管理员可以访问 LAN 上的任何和所有资源。
现在考虑这个新要求:除了所有者之外,簿记员是应该有权访问公司财务资源的人。
系统管理员必须能够继续管理所有机器(从桌面支持到操作系统安装)。
例如,系统管理员如何才能在遵守不能访问本地文件服务器上存储的财务信息的要求的同时完成他的工作?
这是 LDAP 或 FreeIPA 等目录服务所实现的吗?
对于工作过度且训练不足的 Linux 系统管理员来说,有什么简单的方法可以解决上述需求?
如果不能100%满足要求,同类公司通常的做法是什么?
实现通用身份验证系统以及具有加密功能的网络文件系统的简单方法是什么?
我见过的一些术语包括 FreeIPA、NIS、NIS+、LDAP、SSSD、Kerberos 等等。我不清楚这些术语如何适用于上述场景所需的简单解决方案。
(附加问题:一旦实现上述目标,从一般意义上讲,需要进行哪些更改才能开始将此授权和访问控制扩展到 WAN/远程客户端?)
答案1
具有完整性和加密功能的 Kerberos (+ LDAP) + NFS(v4) 可能是保护本地网络的最佳方式。Kerberos 为您的用户提供身份验证(防止冒充),LDAP 集中用户管理。Kerberos 也是 NFS 加密和完整性选项的必要条件。
您无法轻易阻止具有 root 访问权限的系统管理员访问他们管理的机器上托管的数据。可以提取磁盘上未加密的文件,可以在服务器上加密之前嗅探网络流量。如果系统管理员无法访问客户端计算机(任何),则对数据进行客户端加密就足够了。但是,任何管理访问权限都很可能为恶意系统管理员提供足够多的选项来找到获取访问权限的方法(从内存中窃取加密密钥、使用键盘记录器捕获加密密码等)。