网络策略服务器最佳做法

适用范围:Windows Server 2022、Windows Server 2019、Windows Server 2016

可以通过本主题了解部署和管理网络策略服务器 (NPS) 的最佳做法。

以下部分提供 NPS 部署的不同方面的最佳做法。

计帐

以下是 NPS 日志记录的最佳做法。

NPS 中有两种类型的记帐或日志记录:

  • NPS 的事件日志。 可以使用事件日志记录在系统和安全事件日志中记录 NPS 事件。 此方法主要用于对连接尝试进行审核和故障排除。

  • 记录用户身份验证和计帐请求。 可以将用户身份验证和记帐请求以文本格式或数据库格式记录到日志文件中,也可以记录到 SQL Server 2000 数据库的存储过程中。 请求日志记录主要用于连接分析和计费目的,也可用作安全调查工具,为你提供一种跟踪攻击者活动的方法。

充分利用 NPS 日志记录:

  • 为身份验证和记帐记录打开日志记录(初始)。 确定哪种选择适合于环境后修改这些选择。

  • 确保使用足以维护日志的容量来配置事件日志记录。

  • 定期备份所有日志文件,因为这些日志文件遭到损坏或删除时无法重新创建。

  • 使用“RADIUS 类”属性跟踪使用情况,并简化对哪些部门或用户收取使用费的识别过程。 虽然自动生成的类属性对于每个请求是唯一的,但丢失对访问服务器的回复并重新发送请求时,可能会存在重复的记录。 可能需要从日志中删除重复的请求,才能准确地跟踪使用情况。

  • 如果网络访问服务器和 RADIUS 代理服务器定期向 NPS 发送虚构的连接请求消息以验证 NPS 是否联机,请使用 ping user-name 注册表设置。 此设置将 NPS 配置为自动拒绝这些错误的连接请求,而无需对其进行处理。 此外,NPS 不会在任何日志文件中记录涉及虚构用户名的事务,这使得事件日志更易于解释。

  • 禁用 NAS 通知转发。 可以禁止将启动和停止消息从网络访问服务器 (NAS) 转发到 NPS 中配置的远程 RADIUS 服务器组的成员。 有关详细信息,请参阅禁用 NAS 通知转发

有关详细信息,请参阅配置网络策略服务器计帐

  • 若要使用 SQL Server 日志记录来提供故障转移和冗余,请在不同的子网上放置运行 SQL Server 的两个计算机。 使用 SQL Server“创建发布”向导设置两台服务器之间的数据库复制。 有关详细信息,请参阅 SQL Server 技术文档SQL Server 复制

身份验证

以下是身份验证的最佳做法。

  • 使用基于证书的身份验证方法,如受保护的可扩展身份验证协议 (PEAP) 和可扩展的身份验证协议 (EAP),执行强身份验证。 不要使用仅密码身份验证方法,因为它们容易受到各种攻击且不安全。 对于安全无线身份验证,建议使用 PEAP-MS-CHAP v2,因为 NPS 通过使用服务器证书向无线客户端证明其标识,而用户通过其用户名和密码证明其标识。 有关在无线部署中使用 NPS 的详细信息,请参阅部署基于密码的 802.1X 身份验证无线访问
  • 使用基于证书的强大身份验证方法(例如需要在 NPS 上使用服务器证书的 PEAP 和 EAP)时,使用 Active Directory® 证书服务 (AD CS) 部署自己的证书颁发机构 (CA)。 还可以使用 CA 来注册计算机证书和用户证书。 有关将服务器证书部署到 NPS 和远程访问服务器的详细信息,请参阅为 802.1X 有线和无线部署部署部署服务器证书

重要

网络策略服务器 (NPS) 不支持在密码中使用扩展 ASCII 字符。

客户端计算机配置

以下是客户端计算机配置的最佳做法。

  • 使用组策略自动配置所有域成员 802.1X 客户端计算机。 有关详细信息,请参阅无线访问部署主题中的“配置无线网络 (IEEE 802.11) 策略”部分。

安装建议

以下是安装 NPS 的最佳做法。

  • 安装 NPS 之前,使用本地身份验证方法安装和测试每个网络访问服务器,然后再将它们配置为 NPS 中的 RADIUS 客户端。

  • 安装并配置 NPS 后,使用 Windows PowerShell 命令 Export-NpsConfiguration 保存配置。 每次重新配置 NPS 时,使用此命令保存 NPS 配置。

注意

  • 导出的 NPS 配置文件包含 RADIUS 客户端和远程 RADIUS 服务器组成员的未加密共享机密。 因此,请确保将文件保存到安全位置。
  • 导出过程不包括导出文件中 Microsoft SQL Server 的日志记录设置。 如果将导出文件导入到另一个 NPS,必须在新服务器上手动配置 SQL Server 日志记录。

NPS 性能优化

以下是 NPS 性能优化的最佳做法。

  • 若要优化 NPS 身份验证和授权响应时间并最大程度地减少网络流量,请在域控制器上安装 NPS。

  • 使用通用主体名称 (UPN) 或 Windows Server 2008 和 Windows Server 2003 域时,NPS 使用全局目录对用户进行身份验证。 为最大限度减少执行此操作所需的时间,请在全局目录服务器或与全局目录服务器位于同一子网的服务器上安装 NPS。

  • 如果配置了远程 RADIUS 服务器组,且在 NPS 连接请求策略中清除了“在以下远程 RADIUS 服务器组中的服务器上记录计帐信息”复选框,这些组仍会发送网络访问服务器 (NAS) 启动和停止通知消息。 这将创建不必要的网络流量。 若要消除此流量,请通过清除“将网络启动和停止通知转发到此服务器”复选框来禁止转发每个远程 RADIUS 服务器组中各个服务器的 NAS 通知

在大型组织中使用 NPS

以下是在大型组织中使用 NPS 的最佳做法。

  • 如果使用网络策略来限制访问组(某些组除外),请为要允许其访问的所有用户创建通用组,然后创建网络策略(该策略授予访问该通用组的权限)。 不要将所有的用户直接置于通用组中,特别是当您的网络上有大量用户时。 相反,请创建作为通用组成员的单独的组,并将用户添加到这些组。

  • 尽可能使用用户主体名来引用用户。 无论域成员身份如何,用户可以具有相同的用户主体名。 这种做法提供了具有大量域的组织可能需要的可伸缩性。

  • 如果在域控制器以外的计算机上安装了网络策略服务器 (NPS),且 NPS 每秒接收大量的身份验证请求,则可以通过增加 NPS 和域控制器之间允许的并发身份验证次数来提高 NPS 性能。 有关详细信息,请参阅增加 NPS 处理的并发身份验证

安全问题

以下是减少安全问题的最佳做法。

远程管理 NPS 时,请勿通过网络以纯文本形式发送敏感或机密数据(例如,共享机密或密码)。 建议采用以下两种方法远程管理 NPS:

  • 使用远程桌面服务访问 NPS。 使用远程桌面服务时,不会在客户端和服务器之间发送数据。 只会将服务器的用户界面(例如,操作系统桌面和 NPS 控制台映像)发送到远程桌面服务客户端(在 Windows® 10 中名为远程桌面连接)。 客户端发送键盘和鼠标输入,由启用了远程桌面服务的服务器在本地处理。 当远程桌面服务用户登录时,他们只能查看各自的客户端会话,这些会话由服务器进行管理且彼此独立。 此外,远程桌面连接在客户端与服务器之间提供 128 位加密。

  • 使用 Internet 协议安全 (IPsec) 来加密机密数据。 可以使用 IPsec 来加密 NPS 和你用来管理 NPS 的远程客户端计算机之间的通信。 若要远程管理服务器,可以在客户端计算机上安装适用于 Windows 10 的远程服务器管理工具。 安装后,使用 Microsoft 管理控制台 (MMC) 将 NPS 管理单元添加到控制台。

重要

只能在 Windows 10 专业版或 Windows 10 企业版的完整版上安装适用于 Windows 10 的远程服务器管理工具。

有关 NPS 的详细信息,请参阅网络策略服务器 (NPS)