Bri*_*ian 9 security linux ubuntu ldap authentication
我正在研究为用户提供跨多台计算机的单一身份的软件。也就是说,用户应该在每台计算机上拥有相同的权限,并且该用户应该可以访问他或她在每台计算机上的所有文件(漫游主目录)。这个总体思路似乎有很多解决方案,但我正在努力确定最适合我的解决方案。以下是一些详细信息以及要求:
我听说过几种技术/组合来实现我的目标,但我不确定每种技术/组合的后果。
除了我应该研究哪条路径的建议之外,有人有任何特别有用的指南吗?正如粗体文本指出的那样,LDAP 看起来是最佳选择,但我对安全方面的实现细节(Keberos?NFS?)特别感兴趣。
这不是您问题的完整答案,但我认为它可能有助于解决您关于 NIS 与 LDAP 与 Kerberos 的问题。
从这里开始,它很好地概述了身份验证和授权之间的区别,这对于理解此类讨论很重要。
正如您所说,Kerberos只是一种身份验证协议。给定一组凭据——例如,用户名和密码——它会告诉你它们是否有效。这就是它所做的一切。
相比之下,NIS 和 LDAP 都是目录服务。它们允许客户端查询有关用户的信息(您的主目录是什么?您的用户 ID 是什么?)。两者都可以用作具有不同程度问题的身份验证源。
NIS 本身并不会真正为您执行任何身份验证。相反,它向客户端计算机公开密码哈希,并且您的本地系统以与本地帐户相同的方式执行实际的身份验证步骤。这里的问题是,任何在您的 NIS 客户端上拥有帐户的人都可以获取您所有的密码哈希值,然后在闲暇时对其进行暴力攻击。
LDAP 更安全一些,因为身份验证步骤实际上是在服务器上执行的。您必须确保使用 SSL 或 TLS 加密您的 LDAP 会话,否则密码会以明文形式暴露在网络上,容易受到数据包嗅探的攻击。
使用 Kerberos 进行身份验证,然后使用 NIS 或 LDAP 进行授权(通常这意味着“组成员身份”)和目录信息是很常见的。我认为 NIS,一旦您删除了密码哈希(通过将您的身份验证移至 Kerberos),它的安全性并不比 LDAP 差,并且具有在任何现代 Linux 发行版上“开箱即用”的优势。
另一方面,LDAP 通常更具可扩展性,如果您拥有大量用户(或其他目录对象),则可扩展性更好,提供丰富的查询,并且通常更易于管理。LDAP 在各种应用程序中也得到本机支持,而 NIS 与核心操作系统之间存在一种奇怪的乱伦关系,这可能是不受欢迎的。
如果您是从头开始构建,我建议使用 Kerberos 进行身份验证,并建议使用 LDAP 进行目录服务。
NFS 有一个很大的优势:你已经拥有它,它被广泛部署,而且通常很稳定。NFS 有两个主要缺点:
它不适用于并行 I/O。如果您有大量机器访问同一个文件系统,那么您的单个 NFS 服务器可能很难跟上。这就是为什么较大的集群通常使用旨在支持并行 i/o 的集群文件系统(如 Lustre、GlusterFS、GPFS、GFS 等)。
它有一个糟糕的安全模型。通常,NFS 安全决策完全基于您的数字用户 ID。如果您在可以挂载 NFS 文件系统的系统上拥有 root 用户,您就可以访问所有文件——因为您始终可以使用适当的用户 ID 创建本地用户。这并非严格正确,因为 NFSv3 和 NFSv4 都对 Kerberos 身份验证提供不同级别的支持,但我还没有遇到任何使用它的人......所以你的里程可能会有所不同。
对于小型部署,尽管存在局限性,但大多数人只使用 NFS。
有多种其他解决方案——我上面提到的集群文件系统,以及 AFS 和其他解决方案——但其中大部分需要您做一些工作才能让它们在您选择的任何发行版上运行。我最近听说了 GlusterFS 的好消息,所以如果我正在寻找 NFS 替代方案,那可能是我首先关注的地方。
| 归档时间: |
|
| 查看次数: |
6585 次 |
| 最近记录: |