active-directory - 开发集成的用户管理、身份验证

标签 active-directory ldap kerberos user-management radius

我们需要建立一个集中的使用管理和身份验证系统,可以为用户分配角色、设置/撤销密码等。

系统必须在 Windows 上与其他 Windows 计算机进行通信。然而,如果它可以扩展到运行 vxworks 的嵌入式工业 Controller ,它将很有用。

虽然我对 Radius、Kerberos、LDAP 和 Active Directory 知之甚少,但我正在努力理解这些不同的技术如何组合在一起。

知道 Vxworks 支持 Radius 并且支持一些 kerberos,支持此类功能的最佳解决方案是什么。

任何人都可以推荐有关如何将各种技术结合在一起以支持用户管理的解释。

最佳答案

Kerberos 是一种身份验证和 key 分发协议(protocol)。它允许客户端和服务器等对等方(称为“安全主体”)相互证明自己的身份,并确保它们之间后续通信的安全。它需要称为“ key 分发中心”或 KDC 的身份验证服务器在网络上可用,以便进行身份验证,尽管并非每个成员在每次操作时都需要访问 KDC(例如,服务器不需要联系KDC,但客户端有),并且凭据通常会被缓存,以便需要更少的网络往返。缓存机制以比缓存密码更安全的方式提供单点登录,因为缓存的凭据会在一段时间后过期,并且无法用于更改您的密码。它还具有 Kerberos 安全域之间联合的内置概念,称为“领域”。 Kerberos 的一大实际好处是,它是同类系统中实现最普遍、最可用的系统:它可以通过 SASL 和 GSSAPI 等抽象方案在各种协议(protocol)中使用,并且这些方案在许多平台上广泛实现,包括 Unix和Windows。适用于各种协议(protocol)和应用程序(包括 IMAP、POP、SMTP、SSH、LDAP、Subversion、NFS、HTTP 等)的流行客户端和服务器支持 Kerberos,并且可以通过单一基础设施(在不同程度上)获得安全保护。

RADIUS 在单一协议(protocol)中提供身份验证、授权和计费 (“AAA”)。它主要由路由器、交换机、VPN 网关、WiFi 接入点等网络设备使用,为管理访问以及用户提供身份验证,然后还提供授权(允许用户做什么)和计费(记录操作)。身份验证通过通过 RADIUS 建立隧道的各种独立机制进行,例如 EAP、PEAP 和 MS-CHAP。

LDAP 是一种目录访问协议(protocol):LDAP 服务器存储有关通过 X.500“可分辨名称”命名的节点的信息,与您在 X.509 公钥证书中看到的相同,例如“CN=理查德·E·西尔弗曼,ST=纽约,O=我的公司”。节点具有属性,LDAP 客户端以多种方式向服务器查询给定节点的属性,包括搜索节点 namespace 的整个子树、模式匹配以及指示应返回哪些属性的过滤器。

人们常常对 LDAP 是一种“身份验证协议(protocol)”感到困惑,而这并不是它的主要目的。这是因为许多需要验证用户名/密码对的系统都提供“LDAP 身份验证”作为一种方法。这意味着系统将联系 LDAP 服务器,使用提供的用户名和密码对其进行身份验证,然后直接断开连接,而不发出 LDAP 目录查询。因此,它使用 LDAP 的安全性作为密码验证服务。就好像它使用 SSH 登录到给定主机,然后立即注销,使用登录的成功或失败来验证用户的密码。

“Active Directory”是 Microsoft 的营销、产品和技术术语。它并不像上述术语那样指单一协议(protocol);相反,它命名了一个由多个协议(protocol)(包括 Kerberos、LDAP 和 DNS)组成的总体系统,由“域 Controller ”实现,为一组 Windows 主机提供全面的安全、命名和管理服务。

关于active-directory - 开发集成的用户管理、身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22091146/

相关文章:

azure - 在哪里可以查看服务主体拥有的 Azure AD 角色列表?

spring-mvc - 为什么 Spring LDAP 的 LdapTemplate 不返回标题、部门和公司属性?

c# - 查找用户管理的所有组

php - 哪个Active Directory的属性对应PHP中ldap_bind函数的 "bind_password"参数

java - 使用 JSF 和 Tomcat 的 LDAP 身份验证

hadoop - 让 Hadoop 以 Kerberos 用户身份运行

azure - MSAL idToken 没有 upn、个人资料或电子邮件数据?需要在 idToken 中进行 Passport-azure-ad 授权

ldap - 强制 Liferay 调用用户/组的 LDAP 导入

Apache2 - 使用 mod_auth_kerb 启用 "don' t 需要登录,但允许它”

java - 如果 Kerberos 身份验证失败,它会始终回退到 NTLM 吗?