什么时候应该使用Windows RADIUS服务器?

网络策略服务器(NPS)是Microsoft的远程身份验证拨入用户服务(RADIUS)服务器的实现。NPS为您的网络提供集中式身份验证、授权和记帐(AAA)功能。在此设置下,您的网络访问服务器(NAS)充当RADIUS客户端,并将来自用户的所有连接请求发送到在Windows上运行NPS的RADIUS服务器,然后将身份验证和授权信息提供回NAS。当用户连接到您的网络时,NPS会记录他们的活动作为其RADIUS记帐角色的一部分。

什么是RADIUS协议?

RADIUS是一种具有AAA管理功能的客户端-服务器网络协议,其传输层使用无连接用户数据报协议(UDP),并使用端口1812进行身份验证,使用端口1813进行授权。

由于UDP不需要跨网络的可靠连接,因此使用RADIUS意味着最小的网络开销。但是,在网络质量差的情况下,这也可能导致请求超时。发生这种情况时,RADIUS客户端会向服务器发送另一个请求。为确保RADIUS在安全的网络连接上运行,过去曾有过使其与传输控制协议(TCP)一起工作的举措,但这些举措并未超出实验阶段。

身份验证过程

作为客户端-服务器网络协议,RADIUS具有客户端和服务器组件。在使用RADIUS的典型网络中,身份验证和授权过程如下:

  • NAS用作RADIUS客户端,并将身份验证请求传递到RADIUS服务器,该服务器在Windows或任何其他服务器操作系统上作为后台进程运行。
  • RADIUS服务器验证用户凭据并根据其中央数据库检查用户的访问权限,中央数据库可以采用平面文件格式或存储在外部存储源(例如SQLServer或ActiveDirectoryServer)中。
  • 当RADIUS服务器在其数据库中找到用户及其相关权限时,它会将身份验证和授权消息传回NAS,然后允许用户访问网络及其一系列应用程序和服务。
  • NAS仍然充当RADIUS客户端,在用户连接到网络时将计费请求传回RADIUS服务器。这些请求将所有用户活动记录到RADIUS服务器上。
  • RADIUS支持多种身份验证机制,包括:

    • 质询握手身份验证协议(CHAP)
    • 密码验证协议(PAP)
    • 可扩展身份验证协议(EAP)

    RADIUS中的组合身份验证和授权操作可最大限度地减少流量并提高网络效率。RADIUS还支持使用一次性密码或某种其他机制的多重身份验证(MFA),这通常需要客户端和服务器传递比正常情况下更多的消息。在较大的网络中,RADIUS服务器还可以充当其他RADIUS服务器的代理客户端。

    RADIUS或LDAP:哪个用于集中式身份验证?

    LDAP

    与RADIUS一样,轻量级目录访问协议(LDAP)用于用户身份验证和授权。LDAP通过访问和管理目录服务(例如Microsoft专有的ActiveDirectory服务)来执行此角色。至于哪个更好取决于你的具体要求。

    由于LDAP使用TLS,客户端和服务器之间的连接和消息始终是加密的。此外,由于LDAP使用TCP,丢弃请求的可能性为零,尽管这通常意味着更多的网络开销。LDAP也比RADIUS更易于设置。

    另一方面,LDAP不支持用户记帐,尽管这可以使用其他工具(例如Syslog)来解决。它还不支持开箱即用的多因素身份验证,但如果需要此功能,您可以使用其他解决方案。

    半径

    默认情况下,RADIUS不加密在客户端和服务器之间传递的任何其他属性,密码除外。它确实支持其他身份验证机制(例如EAP),从而可以规避此弱点。您还可以使用RADIUS实施其他安全机制,例如将服务器和客户端置于虚拟专用网络(VPN)之后。虽然更复杂,但RADIUS支持用户记帐和MFA,非常适合在大型企业中使用。但是,它对于希望保护其网络安全的小型组织也很有用。

    作为RADIUS服务器的网络策略服务器

    NPS在早期的Windows版本中被称为Internet身份验证服务(IAS)。从Windows2008开始,IAS成为NPS,Microsoft向该组件添加了新功能,包括网络访问保护和IPv6支持。NPS适用于多种类型的网络。

    为了验证Windows网络上的用户凭据,NPS依赖于ActiveDirectory域服务(ADDS)域或本地安全帐户管理器(SAM)用户帐户数据库。当运行NPS的服务器属于ADDS域时,您可以将NPS用作单一登录解决方案的一部分。在这种情况下,NPS通过目录服务的用户帐户数据库对用户进行身份验证,将经过身份验证的用户登录到ADDS域中。

    使用RADIUS,NPS代替NAS充当与身份验证、授权和记帐相关的用户数据的中心位置。如果将NPS与远程访问服务结合使用,则可以使用RADIUS对远程访问网络中的用户进行身份验证和授权。运行NPS的RADIUS服务器为运行在AWS上的Windows服务器提供了最简单的身份验证机制。

    作为RADIUS代理的网络策略服务器

    除了将NPS作为Windows上的RADIUS服务器之外,您还可以将NPS用作RADIUS代理客户端,将身份验证或记帐消息转发到其他RADIUS服务器。

    此用例有用的一些场景是:

    • 提供外包网络访问服务。然后您可以将连接请求转发到您的客户维护的RADIUS服务器。
    • 拥有不属于与WindowsRADIUS服务器相同的域或不属于与NPSRADIUS服务器的域具有双向信任关系的另一个域的用户帐户。
    • 使用非Windows帐户数据库。
    • 有大量用户请求连接。
    • 为您的供应商提供RADIUS身份验证和授权。

    RADIUS服务器的计费如何工作?

    RADIUS服务器也用于计费目的。RADIUS记帐收集数据用于网络监控、计费或统计目的。计费过程通常在用户被授予访问RADIUS服务器的权限时开始。但是,RADIUS计费也可以独立于RADIUS身份验证和授权使用。

    一个基本的RADIUS计费过程包括以下步骤:

    1. 当用户被授予访问RADIUS服务器的权限时,该过程开始。
    2. RADIUS客户端向RADIUS服务器发送称为计费开始的RADIUS计费请求数据包。请求数据包包括用户ID、网络地址、会话标识符和访问点。
    3. 在会话期间,客户端可以向RADIUS服务器发送称为临时更新的额外计费请求数据包。这些数据包包括当前会话持续时间和数据使用情况等详细信息。此数据包用于更新有关用户会话的信息到RADIUS服务器。
    4. 一旦用户对RADIUS服务器的访问结束,RADIUS客户端将向RADIUS服务器发送另一个计费请求数据包,称为计费停止。该数据包包括总时间、数据、传输的数据包、断开连接的原因以及与用户会话相关的其他信息。
    阅读剩余
    THE END