- 由 虚拟的现实创建于5月 12, 2025 需要 4 分钟阅读时间
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 的身份,根据策略决定是否允许访问。
工作流程简述
- 设备(Supplicant)连接到交换机/无线AP(Authenticator)。
- Authenticator暂时将端口置为封闭状态,只允许传输802.1X相关认证流量。
- Supplicant发送认证请求,Authenticator转发给认证服务器(RADIUS服务器)。
- 认证服务器验证身份(比如用户名密码、数字证书等)。
- 认证成功,Authenticator开放端口,允许设备正常访问网络。
- 认证失败,则拒绝访问。
802.1X常见应用
- 企业无线网络身份验证(结合WPA2-Enterprise)。
- 有线网络的设备级访问控制,防止非法设备接入。
- 配合RADIUS服务器实现统一身份管理与安全审计。
802.1X 与 RADIUS/NPS 的关系
- 802.1X 定义如何请求和控制网络接入。
- RADIUS 协议用于802.1X架构中,作为认证服务器和认证者之间的协议来传输认证信息。
- 微软 NPS 可作为认证服务器实现,处理 802.1X中的认证请求。
相关文档:
- https://info.support.huawei.com/info-finder/encyclopedia/zh/802.1X.html
- https://info.support.huawei.com/info-finder/encyclopedia/zh/NAC.html
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 等认证协议
打开 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 ,打开事件查看器 自定义视图 - 服务器角色 - 网络策略和访问服务
- 无标签
0 评论