简介
通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS。
最终可实现通过AD用户进行802.1X协议进行接入认证,配置到接入交换机和WLC(无线控制器),可通过安全组分配指定VLAN。
AD 系列文章:https://songxwn.com/categories/AD/
<!--more-->
PS:加入域控的Windows终端可无感认证(通过组策略和域控下发CA。)
示意图
什么是 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/8...
https://info.support.huawei.com/info-finder/encyclopedia/zh/N...
微软NPS和Radius概念
什么是 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)。
什么是微软NPS?
微软NPS(Network Policy Server) 是微软Windows Server系统中实现RADIUS服务器功能的服务组件。
作用:
- 是微软的RADIUS服务器和代理解决方案。
- 支持身份验证、授权和计费功能。
- 结合Active Directory域,支持基于用户组、时间、设备等条件的策略控制。
功能特点:
- 支持多种身份验证协议,如PEAP、EAP-TLS等,适合无线网络和VPN的安全接入。
- 能作为RADIUS代理,转发请求到其他RADIUS服务器。
- 支持配置网络策略,实现灵活的访问控制。
使用场景:
- 企业无线网络控制用户接入。
- VPN服务器扩展用户认证。
- 需要集中身份认证及访问控制的场合。
NPS和RADIUS的关系
- RADIUS是一种协议标准,而NPS是微软基于RADIUS协议实现的服务器端软件。
- NPS本质上就是Windows环境下的RADIUS服务器。
- 通过NPS,管理员可以配置和管理RADIUS服务,实现对网络访问的集中身份认证和控制。
总结
名称 | 类型 | 作用 | 举例/说明 |
---|---|---|---|
RADIUS | 网络协议 | 远程身份验证、授权和计费 | 802.1x、VPN、Wi-Fi认证协议 |
微软NPS | 服务软件(RADIUS服务器) | 根据RADIUS协议,实现身份验证和策略管理 | Windows Server 中的RADIUS服务器 |
为NPS服务器申请计算机证书 - 用于PEAP EAP-MSCHAPv2
注意:需要已加入域控,且域控中有AD 证书服务器。
打开 certlm.msc,点击个人 > 证书 右键 > 所有任务> 申请新证书。
下一步
勾选计算机模板,点击注册。(注意模板默认只有一年有效期,可新建模板进行修改)
NPS配置
安装NPS角色
## Powershell 管理员运行
Install-windowsfeature -name npas -IncludeManagementTools
# 安装网络策略服务器NPS和对应管理工具。
netsh ras add registeredserver
# 注册到域控,使用AD进行身份认证。
netsh ras show registeredserver
# 验证
可运行nps.msc 打开GUI管理工具。
关闭防火墙 -- 可选
## Powershell 管理员运行
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
RADIUS / NAS客户端配置
## Powershell 管理员运行
netsh nps add client name="HW_Switch" address=1.1.1.1 sharedsecret="Songxwn.com"
# 增加客户端,指定名称、客户端地址(网络设备访问源IP)、共享密钥。
netsh nps show client
# 查看
netsh nps del client HW_Switch
# 删除
RADIUS / NAS客户端配置 GUI操作
创建连接请求策略 - 802.1x 有线以太网
可运行nps.msc 打开GUI管理工具。
策略 - 连接请求策略 - 右键新建
输入策略命令 - 点击下一页
添加条件 - 选择 NAS端口类型 - 选择 以太网(有线) - 确认添加 - 下一页
继续下一页
继续下一页
继续下一页
至此完成。
创建网络策略 - 802.1x 有线以太网
策略 - 网络策略 - 右键新建
填写策略名称 - 下一页
添加条件 - 指定为用户组(域控安全组)- 添加指定组
注意:添加是完全匹配的。
添加条件 - 指定NAS端口类型为以太网 (有线) 。
PS:可选的,如果NPS是多环境复用的。
下一页
添加EAP类型 - 选择 EAP (PEAP)
添加后选择编辑,确认是之前申请的计算机证书 - 下一页
继续下一页
修改Radius属性 - 标准,全部和上面的一致,就可以分配对应用户组的指定接入VLAN - 继续下一页
至此完成
策略检查 - 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”
创建连接请求策略 - 802.1X 无线WIFI
其他步骤与有线策略已有,只需要把条件 NAS端口类型改为 无线 - IEEE 802.11
创建网络策略 - 802.1X 无线WIFI
其他步骤与有线策略已有,只需要把条件 NAS端口类型改为 无线 - IEEE 802.11
NPS日志查看 - 用于排错
运行eventvwr.msc ,打开事件查看器
自定义视图 - 服务器角色 - 网络策略和访问服务
PS:关注公众号,后续会更新网络设备接入配置、NPS高可用、NPS事件发送到ELK、组策略配置域控客户端无感知认证等。
运维技术交流群
发送邮件到 ➡️ mailto:me@songxwn.com
或者关注WX公众号:网工格物
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。