可以使用Microsoft的网络策略服务器(NPS)将Windows 2008及更高版本配置为RADIUS服务器。这允许使用Windows Server本地用户帐户或Active Directory对OpenV-P- N,入网门户,PPPoE服务器甚至pfSense GUI本身进行身份验证。

为NPS选择服务器

NPS需要最少的资源,适合在大多数环境中添加到现有的Windows Server。Microsoft建议将其安装在Active Directory域控制器上,以提高NPS针对Active Directory进行身份验证环境中的性能。它也可以安装在成员服务器上,这在某些环境中可能是合乎需要的,以减少对域控制器的攻-击途径。每个可通过网络访问的服务都为破坏服务器提供了另一种可能的途径。NPS具有可靠的安全记录,特别是与必须在域控制器上运行以供Active Directory运行的其他服务相比,因此在大多数网络环境中这并不是一个问题。大多数环境下,只需要在其中一个域控制器上安装NPS。

安装

在Windows Server 2008上:

  • 导航到服务器管理器

  • 单击左侧的角色并展开它

  • 单击右侧的“ 添加角色 ”

  • 单击“ 下一步”跳过介绍屏幕

在Server 2012上:

  • 打开“系统管理”仪表板

  • 单击“ 添加角色和功能”

  • 单击过去基于角色或基于功能的安装

  • 再次单击“ 下一步”

  • 从列表中选择服务器

  • 再次单击“ 下一步”

在任一服务器版本上,其余步骤类似:

  • 检查角色列表中的网络策略和访问服务

  • 如果出现,请单击添加功能

  • 在每个屏幕上单击“ 下一步”,直到向导结束

  • 单击“ 完成”或“ 安装”,具体取决于Windows服务器版本

配置

要配置NPS,请打开服务器管理器,并且应该存在网络策略和访问服务(2008)或NAP(2012)。

首先为pfSense添加RADIUS客户端,然后配置远程访问策略。

添加RADIUS客户端

打开NPS配置:

在Server 2008上:

  • 打开服务器管理器

  • 展开其下的视图,直到可以看到RADIUS客户端和服务器

  • 单击“ RADIUS客户端”

在Server 2012上:

  • 打开服务器管理器仪表板

  • 单击NAP

  • 右键单击服务器列表中的服务器

  • 单击网络策略服务器

  • 展开RADIUS客户端和服务器

  • 单击“ RADIUS客户端”

使用Windows Server进行RADIUS身份验证_第1张图片


添加新的RADIUS客户端:

  • 右键单击RADIUS客户端

  • 单击添加,如上图所示。

  • 输入防火墙友好名称,如下图所示这可以是主机名或FQDN。

  • 输入防火墙地址(IP或DNS),该地址必须是pfSense将从中发起RADIUS请求的IP地址,或者是将解析为该IP地址的FQDN。

    注意

    这是最靠近RADIUS服务器的防火墙接口的IP地址。如果可以通过防火墙LAN接口访问RADIUS服务器,这就是LAN IP地址。在pfSense不是外围防火墙且WAN接口驻留在RADIUS服务器所在的内部网络的部署中时,必须输入WAN IP地址。

使用Windows Server进行RADIUS身份验证_第2张图片


  • 输入共享密钥,如下图所示在发出RADIUS访问请求时,pfSense使用此共享密钥进行身份验证。Windows可以通过单击Generate“ 生成”自动创建一个

  • 单击确定。

使用Windows Server进行RADIUS身份验证_第3张图片

NPS配置现已完成。RADIUS客户端已配置完成,如下图所示

nps-radius-client-listing.png


RADIUS可以在用户管理器使用,还支持用于IPsec和Open×××的RADIUS,用于入网门户和PPPoE服务器等。

配置用户和网络策略

用户是否可以通过RADIUS进行身份验证是通过网络策略控制的使用网络策略,管理员可以将用户置于特定的Active Directory组中以允许×××访问,还可以提供更高级的功能,例如时间限制。

有关远程访问策略的更多信息,请参阅Microsoft的文档,网址为http://technet.microsoft.com/en-us/library/cc785236%28WS.10%29.aspx

添加网络策略

  • 打开NPS配置窗口

  • 展开NPS(本地)策略,然后展开网络策略

  • 右键单击“ 网络策略”

  • 单击新建

  • 输入策略名称Allow from pfSense

  • “网络访问服务器类型”设置为“ 未指定”

  • 单击下一步

  • 在“指定条件”窗口中单击“ 添加 ”

  • 选择Windows组

  • 单击添加

  • 输入或选择包含×××用户的用户组的名称,例如 ×××Users

  • 单击确定

  • 单击下一步

  • 选择已授予权限

  • 单击下一步

  • 根据需要为pfSense上的功能选择其他身份验证方法

    保留已选中已启用的任何其他方法。

    • 保留选择现有身份验证方法

    • 如果此策略将用于IPsec IKEv2 EAP-RADIUS身份验证,请选择Microsoft:安全密码(EAP-MSCHAP v2)

    • 选择加密身份验证(CHAP)

    • 选择未加密的身份验证(PAP,SPAP)

  • 单击下一步

  • 如果向导显示查看帮助主题的提示,请单击“ 拒绝”

  • 如有必要,配置任何其他访问限制

  • 在其余屏幕上单击“ 下一步 ”,直到到达最终屏幕

  • 单击完成

编辑现有网络策略

可以更改现有策略以更改其约束或其他属性。例如,要编辑旧策略以使其可供IPsec用于IKEv2 EAP-RADIUS:

  • 打开NPS配置窗口

  • 展开NPS(本地)策略,然后展开网络策略

  • 编辑当前正在使用的策略

  • 单击“强制选项卡

  • 单击验证方法

  • 单击添加

  • 选择Microsoft:安全密码(EAP-MSCHAP v2)

  • 单击确定

  • 单击“ 应用”以重新启动NPS

  • 单击确定

NPS故障排除

如果身份验证失败,本节将介绍用户遇到NPS时遇到的最常见问题。

验证端口

首先确保NPS正在使用默认端口1812如果先前已安装NPS服务器,则可能已使用非标准端口进行配置。

  • 打开NPS配置窗口

  • 右键单击控制台左上角的NPS(本地)

  • 单击属性

  • 单击“ 端口”选项卡

  • 验证身份验证端口配置。通过用逗号分隔多个端口来指定它们。(如下图所示)。端口1812 必须是为身份验证配置的端口之一。

  • 必要时验证Accounting端口。如果需要RADIUS记帐,则端口1813必须是此框中指定的端口之一。

使用Windows Server进行RADIUS身份验证_第4张图片


检查事件查看器

当服务器应答RADIUS身份验证请求时,NPS将使用身份验证请求的结果登录到事件查看器中的系统日志。如果拒绝访问,则会记录拒绝访问的原因。

在事件属性的“描述”字段中,“原因”行说明身份验证失败的原因。常见的两个失败原因是:用户输入错误的用户名或密码; 当用户帐户设置为拒绝访问或NPS中配置的网络策略不允许该用户访问时,“用户帐户的远程访问权限被拒绝”。如果NPS正在记录验证成功,但客户端收到错误的用户名或密码消息,则在NPS和pfSense中配置的RADIUS密钥不匹配。

可以在自定义视图-服务器角色-是网络策略和访问服务下轻松找到事件查看器中的NPS日志。