WPA2/WPA3 与企业认证(802.1X)
家庭 Wi-Fi 用 WPA2 密码就够了。企业需要更高安全性:每人一套凭据、不同设备/部门接入不同 VLAN、离职员工即时撤销访问权限——这就是 802.1X 的作用。
Wi-Fi 安全协议演进
协议 发布年 加密 密钥管理 已知漏洞
────────────────────────────────────────────────────────────────────────
WEP 1997 RC4(40bit) 静态密钥 严重(分钟级破解)
WPA 2003 TKIP 动态密钥(RC4) TKIP 已被破解
WPA2-TKIP 2004 TKIP PSK/802.1X 已废弃
WPA2-AES 2004 AES-CCMP PSK/802.1X KRACK攻击(已修补)
WPA3-SAE 2018 AES-GCMP SAE握手(前向保密) 理论攻击(已修补)
WPA3-Enterprise 2018 AES-256 802.1X + PMF 必须 较安全
WPA3 的改进:
1. SAE(Simultaneous Authentication of Equals)替代 PSK 握手
→ 即使密码弱,暴力破解也更困难(没有离线字典攻击)
→ 前向保密:即使长期密钥泄露,历史流量不被解密
2. 个人化数据加密(OWE,Open Wi-Fi 用加密)
3. Protected Management Frames(PMF)强制要求
→ 防止管理帧伪造(Deauth 攻击)
WPA2/WPA3 个人版(PSK/SAE)
适合:家庭、小型办公室、临时场所
WPA2-Personal:
密码 → PBKDF2 派生 PMK → 4次握手 → PTK(每次会话不同)
WPA3-Personal(SAE):
密码 → SAE 握手(Dragonfly,基于 Diffie-Hellman)→ PMK
优势:即使抓到握手包,无法离线暴力破解密码
常见配置错误:
❌ 密码设置太简单(12345678,公司名)
❌ 长期不更换密码(离职员工知道密码)
❌ 所有人共用一个密码(无法追踪谁在用)
✅ 企业应换用 WPA2/WPA3-Enterprise
WPA2/WPA3-Enterprise(802.1X)
架构:
手机/笔记本(Supplicant)
↓ EAP 凭据(用户名+密码 / 证书)
无线AP(Authenticator)
↓ RADIUS 协议转发
RADIUS 服务器(Authentication Server)
↓ 查询
LDAP/Active Directory(用户数据库)
流程:
1. 设备连接 Wi-Fi,输入用户名+密码(或证书)
2. AP 把凭据通过 RADIUS 转发到认证服务器
3. RADIUS 服务器验证(对比 AD/LDAP)
4. 验证成功:RADIUS 返回 Access-Accept + VLAN 信息
5. AP 允许设备接入,并分配到对应 VLAN
优势:
✅ 每人一套凭据,离职立即撤销
✅ 不同部门分配不同 VLAN
✅ 无线接入有完整日志(谁、什么时间、连接多久)
✅ 支持证书认证(更安全,无密码泄露风险)
EAP 认证方式对比
EAP 类型 客户端需要什么 服务器需要什么 安全性
──────────────────────────────────────────────────────────────────────
EAP-TLS 客户端证书 + 私钥 服务器证书 最高(双向证书)
EAP-PEAP 用户名+密码 服务器证书 高(密码在隧道内)
EAP-TTLS 用户名+密码 服务器证书 高(支持更多内部认证)
EAP-FAST PAC 文件或密码 可选证书 中等(Cisco 私有)
LEAP 用户名+密码 无证书 差(已废弃)
企业推荐:
大型企业(有 PKI):EAP-TLS(最安全,无密码)
中小企业(无 PKI):EAP-PEAP(常用,AD 集成方便)
搭建 FreeRADIUS + 802.1X
# 安装 FreeRADIUS(Ubuntu)
apt install freeradius freeradius-ldap
# 配置 LDAP 模块(/etc/freeradius/3.0/mods-enabled/ldap)
ldap {
server = "ldap://10.0.100.10"
identity = "CN=radius-service,OU=Services,DC=company,DC=com"
password = "ServiceAccountPassword"
base_dn = "DC=company,DC=com"
user {
base_dn = "${..base_dn}"
filter = "(sAMAccountName=%{%{Stripped-User-Name}:-%{User-Name}})"
}
group {
membership_attribute = "memberOf"
}
}
# 配置无线 AP 为 RADIUS 客户端(/etc/freeradius/3.0/clients.conf)
client ap-floor1 {
ipaddr = 10.0.100.50 # AP 的 IP 地址
secret = "SharedSecret123!" # AP 和 RADIUS 共享密钥
nas_type = other
}
# 配置动态 VLAN 分配(/etc/freeradius/3.0/sites-enabled/default)
# 根据用户所在的 AD 组,返回不同 VLAN:
post-auth {
if (&LDAP-Group == "CN=Engineering,OU=Groups,DC=company,DC=com") {
update reply {
Tunnel-Type := VLAN
Tunnel-Medium-Type := IEEE-802
Tunnel-Private-Group-Id := "30" # 工程师 VLAN 30
}
}
elsif (&LDAP-Group == "CN=Sales,OU=Groups,DC=company,DC=com") {
update reply {
Tunnel-Type := VLAN
Tunnel-Medium-Type := IEEE-802
Tunnel-Private-Group-Id := "40" # 销售 VLAN 40
}
}
}
# 启动 FreeRADIUS(调试模式)
freeradius -X
# 测试认证
radtest username password 127.0.0.1 0 testing123
企业 Wi-Fi SSID 设计
常见 SSID 架构(一台 AP 可以广播多个 SSID):
SSID 安全 VLAN 用途
──────────────────────────────────────────────────────────────────────
Corp-5G WPA3-E 10 员工(802.1X 认证,接入内网)
Corp-2.4G WPA3-E 10 员工(老设备兼容)
Guest-WiFi WPA3 20 访客(独立 VLAN,只能上外网)
IoT-Devices WPA2 30 物联网设备(打印机、摄像头)
Meeting-Room WPA2 40 会议室(更宽松的出口带宽)
注意:
每个 SSID 会增加管理帧开销(Beacon 每秒约 10 帧)
AP 同时广播 SSID 过多 → 降低整体吞吐量
建议:每 AP 最多 4 个 SSID
CCNA 对应考点
考纲位置:Domain 2.7 — Configure the components of a wireless LAN access for client connectivity
高频考题: - WPA2 vs WPA3 的主要改进(SAE、PMF、前向保密) - 802.1X 的三个组件:Supplicant(客户端)、Authenticator(AP)、Authentication Server(RADIUS) - EAP-TLS 和 EAP-PEAP 的区别 - 动态 VLAN 分配(RADIUS 返回 Tunnel 属性)
下一节:企业 Wi-Fi 控制器与漫游——单 AP 够了,多 AP 需要控制器:集中配置、无缝漫游、负载均衡,保证员工走动时 Wi-Fi 不断线。