RADIUS 服务器和 Active Directory 有什么区别?

信息安全 活动目录 半径
2021-08-08 22:41:55

如果我的客户端可以连接 Active Directory 并进行身份验证,我为什么需要 RADIUS 服务器?我什么时候需要 RADIUS 服务器?

4个回答

如果我的客户端可以连接 Active Directory 并进行身份验证,我为什么需要 RADIUS 服务器?

RADIUS 是一种较旧的简单身份验证机制,旨在允许网络设备(例如:路由器、VPN 集中器、执行网络访问控制 (NAC) 的交换机)对用户进行身份验证。它没有任何复杂的会员要求;给定网络连接和共享密钥,该设备拥有测试用户身份验证凭据所需的一切。

Active Directory 提供了一些更复杂的身份验证机制,例如 LDAP、NTLM 和 Kerberos。这些可能有更复杂的要求 - 例如,尝试对用户进行身份验证的设备本身可能需要有效的凭据才能在 Active Directory 中使用。

我什么时候需要 RADIUS 服务器?

如果您要设置一个想要进行简单、轻松身份验证的设备,并且该设备还不是 Active Directory 域的成员:

  • 有线或无线网络客户端的网络访问控制
  • 需要用户身份验证的 Web 代理“烤面包机”
  • 您的网络管理员想要登录的路由器,而无需在每个地方都设置相同的帐户

在评论中@johnny 问道:

为什么有人会推荐 RADIUS 和 AD 组合?只是分层安全的两步验证?

一个非常常见的组合是通过 RADIUS 与 AD 结合使用一次性密码 (OTP) 的两因素身份验证。例如,类似RSA SecurID的东西主要通过 RADIUS 处理请求。是的,这两个因素旨在提高安全性(“你拥有的东西 + 你知道的东西”)

也可以为 Active Directory 安装 RADIUS,以允许客户端(如路由器、交换机等)通过 RADIUS 对 AD 用户进行身份验证。自 2006 年左右以来我就没有安装过它,但它现在看起来像是 Microsoft网络策略服务器的一部分。

所有的评论和回答都将 RADIUS 协议归结为简单的身份验证但是 RADIUS 是三 A 协议 = AAA:身份验证授权记帐

RADIUS 是一个非常可扩展的协议。它适用于键值对,您可以自己定义新的。最常见的情况是,RADIUS 服务器在 ACCESS-ACCEPT 响应中返回授权信息。这样 NAS 就可以知道,用户将被允许做什么。当然,您可以通过查询 LDAP 组来做到这一点。如果您的用户位于数据库中,您也可以使用 SELECT 语句执行此操作;-)

这在RFC2865中有描述。

作为第三部分,RADIUS 协议也进行记帐即RADIUS客户端可以与RADIUS服务器通信以确定用户可以使用RADIUS客户端提供的服务多长时间。这已经在协议中,不能直接使用 LDAP/Kerberos 完成。(在RFC2866中描述)。

恕我直言,RADIUS 协议比我们今天想象的要强大得多。是的,由于共享秘密的遗憾概念。但是等等,最初的 kerberos 协议具有使用从您的密码派生的对称密钥签署时间戳的概念。听起来不太好;-)

那么什么时候需要RADIUS?

每当您不想公开您的 LDAP 时!每当您需要标准化的授权信息时。每当您需要提到的@Hollowproc 之类的会话信息时。

通常在处理防火墙、VPN、远程访问和网络组件时需要 RADIUS。

我认为以上所有答案都未能解决您问题的症结,所以我要补充更多。其他答案确实更符合 RADIUS 的 InfoSec 方面,但我会给你 SysAdmin 运行失败。(旁注:这个问题可能应该在 ServerFault 中提出。)

RADIUS 服务器和 Active Directory 有什么区别?

Active Directory 首先是一个身份管理数据库。身份管理是一种奇特的说法,即您有一个集中的存储库,您可以在其中存储“身份”,例如用户帐户。用外行的话来说,它是允许连接到网络上资源的人员(或计算机)的列表。这意味着您不必在一台计算机上拥有一个用户帐户,而在另一台计算机上拥有一个用户帐户,而是在 AD 中拥有一个可以在两台计算机上使用的用户帐户。实际上,Active Directory 远比这复杂得多,它可以跟踪/授权/保护用户、设备、服务、应用程序、策略、设置等。

RADIUS 是一种用于将身份验证请求传递到身份管理系统的协议。用外行的话来说,它是一组规则,用于管理设备(RADIUS 客户端)和用户数据库(RADIUS 服务器)之间的通信。这很有用,因为它是健壮和通用的,允许许多不同的设备与他们通常不会使用的完全不相关的身份管理系统进行身份验证。

RADIUS 服务器是从 RADIUS 客户端接收身份验证请求并将这些身份验证请求传递到您的身份管理系统的服务器或设备或设备。它是一种翻译器,可帮助您的设备与您的身份管理系统进行通信,因为它们本身语言不同。

如果我的客户端可以连接 Active Directory 并进行身份验证,我为什么需要 RADIUS 服务器?

你没有。如果AD 是您的身份提供者,并且的客户端可以本地连接并使用 AD 进行身份验证,那么您不需要 RADIUS。一个示例是让 Windows PC 加入您的 AD 域并且 AD 用户登录到其中。Active Directory 可以在没有任何帮助的情况下自行对计算机和用户进行身份验证。

我什么时候需要 RADIUS 服务器?

  • 当您的客户端无法连接到 Active Directory 并对其进行身份验证时。

许多企业级网络设备不直接与 Active Directory 交互。最终用户可能注意到的最常见示例是连接到 WiFi。大多数无线路由器、WLAN 控制器和接入点本身不支持对 Active Directory 的登录进行身份验证。因此,您无需使用 AD 用户名和密码登录无线网络,而是使用不同的 WiFi 密码登录。这没关系,但不是很好。公司中的每个人都知道 WiFi 密码,并且可能会与他们的朋友分享(有些移动设备会在不询问您的情况下与他们的朋友分享)。

RADIUS 通过为您的 WAP 或 WLAN 控制器创建一种从用户获取用户名和密码凭据并将其传递到 Active Directory 以进行身份​​验证的方式来解决此问题。这意味着,您可以使用 AD 用户名和密码登录 WiFi,而不是使用公司中每个人都知道的通用 WiFi 密码。这很酷,因为它集中了您的身份管理并为您的网络提供了更安全的访问控制。

集中式身份管理是信息技术中的一个关键原则,它极大地提高了复杂网络的安全性和可管理性。集中式身份提供商允许您从一个位置管理网络中的授权用户和设备。

访问控制是与身份管理密切相关的另一个关键原则,因为它将敏感资源的访问权限仅限于那些有权访问这些资源的人员或设备。

  • 当 Active Directory 不是您的身份提供者时。

许多企业现在使用在线“云”身份提供者,例如 Office 365、Centrify、G-Suite 等。还有各种 *nix 身份提供者,如果你是老派,甚至还有 Mac 服务器漂浮在周围拥有自己的身份管理目录。云身份正变得越来越普遍,如果相信微软的路线图,它将最终完全取代本地 Active Directory。因为 RADIUS 是一种通用协议,所以无论您的身份是存储在 AD、Red Hat Directory Server 还是 Jump Cloud 中,它都能正常工作。

总之

您希望使用集中式身份提供者来控制对网络资源的访问。您网络上的某些设备可能本身不支持您使用的身份提供程序。如果没有 RADIUS,您可能会被迫在这些设备上使用“本地”凭据,从而分散您的身份并降低安全性。RADIUS 允许这些设备(无论它们是什么)连接到您的身份提供者(无论它是什么),这样您就可以维护集中的身份管理。

正如其他答案已经解释的那样,RADIUS 也比这个例子更复杂和灵活。

再来一注。RADIUS 不再是 Windows Server 的一个单独和独特的部分,而且已经很多年没有了。Windows Server 中的网络策略服务器 (NPS) 服务器角色内置了对 RADIUS 协议的支持。默认情况下,NPS 用于针对 AD 对 Windows VPN 客户端进行身份验证,尽管它在技术上不使用 RADIUS 来执行此操作。NPS 还可以用于配置特定的访问要求,例如健康策略,并且可以限制不符合您设置的标准(又名 NAP,网络访问保护)的客户端的网络访问。

RADIUS 服务器传统上是使用每用户身份验证(想想需要用户名密码的无线网络)与预共享密钥 (PSK) 架构的平台的开源替代方案。

近年来,许多基于 RADIUS 的系统现在提供了使用基本 LDAP 连接器接入 Active Directory 的能力。同样,RADIUS 的传统实现与网络访问相关,而 Active Directory 可以有一系列的用途/实现。

要回答您的问题,即使您可以使用 AD 凭据连接,一旦无线客户端通过 AD 进行身份验证,您可能仍需要使用 RADIUS 服务器来管理无线客户端的会话。