1. 简介

通过微软的 NPS 角色实现一个 Radius 服务器,身份验证和证书使用微软 ADCS、ADDS。最终实现通过 AD 用户进行802.1X协议进行接入认证,配置到接入交换机和 WLC(无线控制器),可通过安全组分配指定 VLAN。加入域控的 Windows 终端无感认证(通过组策略和域控下发 CA)

1.1. 什么是 802.1X?

802.1X 是由IEEE(电气和电子工程师协会)定义的一个网络访问控制标准,主要用于局域网(LAN)和无线局域网(WLAN)的端口级接入控制,保障网络安全。

核心作用

  • 通过身份验证机制控制设备(如计算机、手机)接入网络的权限。
  • 防止未授权设备访问网络资源。
  • 常用于有线网络接入(以太网)和无线Wi-Fi网络的安全访问。

802.1X的组成角色

  • Supplicant(客户端) 网络接入设备(例如电脑、手机)上运行的客户端软件,负责向网络请求访问权限并提供身份凭证(如用户名/密码、证书等)。
  • *Authenticator(认证者)*网络设备(如交换机端口、无线接入点 AP),作为中介,控制端口是否开放,必须通过认证服务器的授权后才能放行流量。
  • *Authentication Server(认证服务器)*通常为 RADIUS 服务器(如微软 NPS),负责接收认证请求并验证 Supplicant 的身份,根据策略决定是否允许访问。

工作流程简述

  1. 设备(Supplicant)连接到交换机/无线AP(Authenticator)。
  2. Authenticator暂时将端口置为封闭状态,只允许传输802.1X相关认证流量。
  3. Supplicant发送认证请求,Authenticator转发给认证服务器(RADIUS服务器)。
  4. 认证服务器验证身份(比如用户名密码、数字证书等)。
  5. 认证成功,Authenticator开放端口,允许设备正常访问网络。
  6. 认证失败,则拒绝访问。

802.1X常见应用

  • 企业无线网络身份验证(结合WPA2-Enterprise)。
  • 有线网络的设备级访问控制,防止非法设备接入。
  • 配合RADIUS服务器实现统一身份管理与安全审计。

802.1X 与 RADIUS/NPS 的关系

  • 802.1X 定义如何请求和控制网络接入。
  • RADIUS 协议用于802.1X架构中,作为认证服务器和认证者之间的协议来传输认证信息。
  • 微软 NPS 可作为认证服务器实现,处理 802.1X中的认证请求。

相关文档:

2. 微软 NPS 和 Radius 概念

2.1. 什么是 RADIUS?

RADIUS(Remote Authentication Dial-In User Service) 是一种网络协议,用于实现用户的远程身份验证、授权和计费(AAA)。它常用于VPN、无线接入点(Wi-Fi)、拨号接入等需要身份验证的场景。

功能(AAA)

  • 身份验证(Authentication):核实用户身份。
  • 授权(Authorization):确定用户可以访问的资源和权限。
  • 计账(Accounting):记录用户访问资源的相关信息。

工作方式

  • 终端设备(如无线 AP、交换机、VPN 服务器)作为 RADIUS 客户端,将用户的认证请求发送给 RADIUS 服务器。
  • RADIUS 服务器验证后返回认证结果,授权或拒绝用户访问。

协议特点

  • 使用UDP端口1812(认证)和1813(计费)或旧端口1645/1646。
  • 传输过程中密码使用共享密钥加密(但整体安全性一般建议结合其它技术如IPSec)。

2.2. 什么是微软NPS?

微软 NPS(Network Policy Server) 是微软 Windows Server 系统中实现 RADIUS 服务器功能的服务组件。

作用

  • 是微软的 RADIUS 服务器和代理解决方案。
  • 支持身份验证、授权和计费功能。
  • 结合 Active Directory 域,支持基于用户组、时间、设备等条件的策略控制。

功能特点

  • 支持多种身份验证协议,如 PEAP、EAP-TLS等,适合无线网络和 VPN 的安全接入。
  • 能作为 RADIUS 代理,转发请求到其他 RADIUS 服务器。
  • 支持配置网络策略,实现灵活的访问控制。

使用场景

  • 企业无线网络控制用户接入。
  • VPN 服务器扩展用户认证。
  • 需要集中身份认证及访问控制的场合。

2.3. NPS 和 RADIUS 的关系

RADIUS 是一种协议标准,而 NPS 是微软基于 RADIUS 协议实现的服务器端软件。

NPS 本质上就是 Windows 环境下的 RADIUS 服务器。通过 NPS,管理员可以配置和管理 RADIUS 服务,实现对网络访问的集中身份认证和控制。

名称 类型 作用 举例/说明
RADIUS 网络协议 远程身份验证、授权和计费 802.1x、VPN、Wi-Fi认证协议
微软 NPS 服务软件(RADIUS服务器) 根据 RADIUS 协议,实现身份验证和策略管理 Windows Server 中的 RADIUS 服务器

3. 为 NPS 服务器申请计算机证书

申请的证书用于 PEAP EAP-MSCHAPv2 等认证协议

该过程操作需要已加入域控,且域控中有AD 证书服务器。

打开 certlm.msc,点击个人 > 证书 右键 > 所有任务> 申请新证书。

勾选计算机模板,点击注册。(注意模板默认只有一年有效期,可新建模板进行修改)

4. 配置 NPS 

4.1. 安装NPS角色

## Powershell 管理员运行

Install-windowsfeature -name npas -IncludeManagementTools
# 安装网络策略服务器NPS和对应管理工具。

netsh ras add registeredserver
# 注册到域控,使用AD进行身份认证。

netsh ras show registeredserver
# 验证

4.2. 关闭防火墙 – 可选

## Powershell 管理员运行
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

4.3. RADIUS / NAS 客户端配置

## Powershell 管理员运行

netsh nps add client name="HW_Switch" address=1.1.1.1 sharedsecret="Waringid.me"
# 增加客户端,指定名称、客户端地址(网络设备访问源IP)、共享密钥。

netsh nps show client
# 查看

netsh nps del client HW_Switch
# 删除

4.4. RADIUS / NAS 客户端配置 GUI 操作

可运行 nps.msc 打开 GUI 管理工具。

4.4.1. 创建连接请求策略 - 802.1x 有线以太网

运行 nps.msc 打开GUI管理工具。【策略】 - 【连接请求策略】 - 右键新建

输入策略命令 - 点击下一页

添加条件 - 选择 NAS端口类型 - 选择 以太网(有线) - 确认添加 - 下一页

如图示继续【下一页】,直至完成

4.4.2. 创建网络策略 - 802.1x 有线以太网

【策略】 - 【网络策略】 - 右键新建,填写策略名称 - 下一页

添加条件 - 指定为用户组(域控安全组)- 添加指定组。添加条件 - 指定NAS端口类型为以太网 (有线) 。


添加 EAP 类型 - 选择 EAP (PEAP),添加后选择编辑,确认是之前申请的计算机证书 - 下一页

修改Radius属性 - 标准,全部和上面的一致,就可以分配对应用户组的指定接入VLAN - 继续下一页

4.4.3. 策略检查 - 802.1x 有线以太网

## Powershell 下执行

netsh nps show crp

连接请求策略配置:
---------------------------------------------------------
名称             = 有线以太网-网工格物
状态             = 已启用
处理顺序         = 4
策略来源         = 0

条件属性:

名称                                    ID          值
---------------------------------------------------------
Condition0                              0x3d        “^15$”

配置文件属性:

名称                                    ID          值
---------------------------------------------------------
Auth-Provider-Type                      0x1025      “0x1”



netsh nps show np

网络策略配置:
---------------------------------------------------------
名称             = 有线以太网网络策略-网工格物
状态             = 已启用
处理顺序         = 5
策略来源         = 0

条件属性:

名称                                    ID          值
---------------------------------------------------------
Condition0                              0x1fb5      “S-1-5-21-3405621554-734450388-1705228783-512”
Condition1                              0x3d        “^15$”

配置文件属性:

名称                                    ID          值
---------------------------------------------------------
EAP-Configuration                       0x1fa2      “1900000000000000000000000000000038000000020000003800000001000000140000006B33763E7A447F77902A1921A8A269B068937F770100000001000000100000001A00000000000000”
Ignore-User-Dialin-Properties           0x1005      “FALSE”
NP-Allow-Dial-in                        0x100f      “TRUE”
NP-Allowed-EAP-Type                     0x100a      “19000000000000000000000000000000”
NP-Authentication-Type                  0x1009      “0x5” “0x3” “0x9” “0x4” “0xa”
Service-Type                            0x6         “0x2”
Tunnel-Medium-Type                      0x41        “0x6”
Tunnel-Pvt-Group-ID                     0x51        “927”
Tunnel-Type                             0x40        “0xd”
MS-Link-Utilization-Threshold           0xffffffaa  “0x32”
MS-Link-Drop-Time-Limit                 0xffffffa9  “0x78”

4.4.4. 创建连接请求策略 - 802.1X 无线 WIFI

其他步骤与有线策略已有,只需要把条件 NAS端口类型改为 无线 - IEEE 802.11

4.4.5. 创建网络策略 - 802.1X 无线 WIFI

其他步骤与有线策略已有,只需要把条件 NAS端口类型改为 无线 - IEEE 802.11

 

4.5. NPS日志查看 - 用于排错

运行eventvwr.msc ,打开事件查看器 自定义视图 - 服务器角色 - 网络策略和访问服务 

  • 无标签
写评论...