第225篇:访客认证与 Portal 认证流程
关键词
Portal认证、访客网络、Captive Portal、Web认证、重定向、MAC认证、短信认证、微信认证
一、Portal 认证概述
1.1 什么是 Portal 认证
Portal 认证(又称 Web 认证 或 Captive Portal)通过 Web 页面引导用户完成身份认证:
无认证时:
用户 ──→ 直接上网(无控制)
Portal 认证时:
用户 ──→ 打开浏览器 → 重定向到 Portal 页面 → 输入账号密码
→ 认证成功 → 可以上网
典型场景:企业访客网络、酒店 WiFi、商场公共 Wi-Fi、高校校园网。
1.2 Portal 认证架构
Portal 认证系统架构:
| ┌────────────┐ HTTP/HTTPS ┌──────────────┐ | ||
|---|---|---|
| 用户终端 (浏览器) | ◄────────────────► 认证页面 | Portal 服务器 (Web 门户) |
| │ │ | ||
| │ UDP 2000 │ | ||
| │ CHAP/HTTP ┌───────────┴──────────┐ | ||
| ├─────────────────────┤ 接入设备(NAS) │ | ||
| │ │ (交换机/AP/防火墙) │ | ||
| │ └───────────┬──────────┘ | ||
| │ │ | ||
| │ ┌───────────┴──────────┐ | ||
| │ │ 认证服务器 │ | ||
| │ │ (RADIUS/AD/LDAP) │ | ||
| │ └────────────────────┘ |
组件说明: Portal 服务器:提供 Web 认证页面 接入设备(NAS):控制用户访问、发起 Portal 认证流程 认证服务器:验证用户身份
二、Portal 认证流程
2.1 标准 Portal 认证流程
用户 接入设备(NAS) Portal服务器 认证服务器
│ │ │ │
│ ① 连接 WiFi / 有线 │ │ │
│───────────────────────────►│ │ │
│ │ │ │
│ ② DNS 请求 → 允许 DNS │ │ │
│ ③ HTTP 请求 80 │ │ │
│◄───────────────────────────│ │ │
│ (HTTP 被拦截) │ │ │
│ │ │ │
│ ④ 重定向到 Portal 页面 │ ⑤ Portal协议请求 │ │
│◄───────────────────────────│────────────────────────►│ │
│ Location: http://portal │ CHAP认证挑战 │ │
│ .example.com/login │ │ │
│ │ │ │
│ ⑥ 打开 Portal 登录页面 │ │ │
│◄────────────────────────────────────────────────────│ │
│ 输入: user/password │ │ │
│───────────────────────────►│ │ │
│ (HTTP POST) │ │ │
│ │ ⑦ 认证请求(含密码) │ │
│ │─────────────────────────────────────────────►│
│ │ │ │
│ │◄─────────────────────────────────────────────│
│ │ 认证结果 │ │
│ ⑧ 认证成功页面 │ │ │
│◄────────────────────────────────────────────────────│ │
│ 或直接跳转原请求页面 │ │ │
│ │ ⑨ 开放用户网络权限 │ │
│ ⑩ 正常上网 │ │ │
│───────────────────────────►│ │ │
2.2 Portal 协议(华为私有协议)
华为设备使用 Portal 协议(UDP 2000) 与 Portal 服务器通信:
Portal 协议报文(UDP 2000 端口):
REQ_CHALLENGE (Type 1)
NAS → Portal: 请求挑战字
└─ UserIP, UserMAC, NAS-IP
ACK_CHALLENGE (Type 2)
Portal → NAS: 返回挑战字(16字节随机数)
REQ_AUTH (Type 3)
NAS → Portal: 认证请求
└─ UserName, Challenge, CHAP-Password
└─ CHAP-Password = MD5(Code + UserName + Challenge + Password)
ACK_AUTH (Type 4)
Portal → NAS: 认证结果
└─ Result: 0=成功 / 1=拒绝 / 2=超时
REQ_LOGOUT (Type 5)
NAS → Portal: 用户下线通知
2.3 重定向机制详解
HTTP 重定向流程:
1. 用户发送 HTTP GET http://example.com
2. 接入设备拦截,检测到用户未认证
3. 设备返回 HTTP 302 重定向:
HTTP/1.1 302 Found
Location: http://portal.example.com/login
?nasip=10.0.0.1
&userip=192.168.1.100
&usermac=00e0-fc12-3456
&url=http%3A%2F%2Fexample.com
4. 用户浏览器自动跳转到 Portal 登录页面
5. 认证成功后,跳回原始 URL
HTTPS 拦截的特殊性:
设备无法拦截 HTTPS(443)的 CONNECT 请求
解决方案:DNS 重定向或 HTTP 劫持方式
三、访客认证方式
3.1 常见认证方式对比
| 认证方式 | 用户体验 | 安全等级 | 部署复杂度 | 典型场景 |
|---|---|---|---|---|
| 账号密码 | 低(需输入) | 中 | 低 | 企业内部访客 |
| 短信验证码 | 中(收短信) | 高 | 中 | 商场、酒店 |
| ** Polymorphic = 微信认证 | 高(扫码即连) | 中 | 中 | 餐饮、零售 |
| 二维码审批 | 高(员工扫码授权) | 高 | 高 | 企业访客管理 |
| MAC 认证 | 最高(无感) | 低 | 中 | 打印机、IoT 设备 |
| 一键登录 | 高 | 高 | 中 | 运营商网络 |
3.2 短信认证流程
短信认证流程:
用户连接 SSID: Guest
│
├─ 打开浏览器 → 重定向到 Portal 页面
│
├─ 输入手机号
│
├─ 获取短信验证码(SMS 平台发送)
│
├─ 输入验证码 → 提交认证
│
├─ 认证通过 → 上网
│
└─ 超时断开后需重新认证(或当日免认证)
3.3 微信认证流程
微信认证流程:
用户连接 SSID: WiFi
│
├─ 打开浏览器 → 重定向到 Portal 页面
│
├─ 页面提供"微信一键连网"按钮
│
├─ 点击 → 跳转微信公众号授权
│
├─ 关注公众号(可选)
│ └─ 扫码关注后自动连网
│
├─ 认证通过 → 上网
│
└─ 优势:公众号涨粉 + 用户信息收集
3.4 二维码审批认证(企业访客)
企业访客认证流程:
访客到前台 → 前台录入访客信息
└─ 访客手机号 + 被访人
被访人收到审批通知(微信/邮件)
└─ 审批通过
访客手机收到短信通知
└─ 访客账号/密码(或临时链接)
访客连接 Guest WiFi → Portal 输入账号
└─ 认证通过,可上网
访客离开 → 二维码自动过期
└─ 访客账号有效期自动结束
四、MAC 认证与混合认证
4.1 MAC 认证
MAC 认证适用于打印机、摄像头等无交互界面的设备:
MAC 认证流程:
设备上线
│
├─ 交换机检测到 MAC 地址
│
├─ 自动向 RADIUS 发送 MAC 认证请求
│ User-Name = 00e0-fc12-3456
│ User-Password = 00e0-fc12-3456
│
├─ RADIUS 验证 MAC 在白名单中
│
├─ 认证成功 → 端口开放
│
└─ 设备无感接入
4.2 MAC 优先的混合认证
先尝试 MAC 认证,失败时回退到 Portal 认证:
MAC 优先流程:
设备接入
│
├─ MAC 认证
│ ├─ 成功 → 直接上网
│ └─ 失败 → 进入 Portal 认证
│
├─ Portal 认证
│ ├─ 成功 → 上网,记录 MAC
│ └─ 失败 → 拒绝访问
│
└─ 下次连接:MAC 免认证
└─ 根据之前记录 MAC 自动通过
配置示例(华为):
interface GigabitEthernet0/0/1
authentication mac-authen # 使能 MAC 认证
authentication portal # 使能 Portal 认证
authentication mac-authen priority # MAC 认证优先
五、华为 Portal 认证配置
5.1 Portal 服务器配置
# 华为交换机 Portal 配置
# Portal 服务器模板
portal-server template huawei_portal
server-ip 10.0.10.20 # Portal 服务器 IP
port 2000 # Portal 协议端口
shared-key cipher Portal@123 # 共享密钥
!
# RADIUS 服务器配置(认证用户身份)
radius-server template huawei_radius
radius-server authentication 10.0.10.10 1812
radius-server shared-key cipher Radius@123
!
# AAA 配置
aaa
authentication-scheme portal_auth
authentication-mode radius
authorization-scheme portal_auth
authorization-mode radius
accounting-scheme portal_acct
accounting-mode radius
!
domain portal
authentication-scheme portal_auth
authorization-scheme portal_auth
accounting-scheme portal_acct
radius-server huawei_radius
!
# 接口使能 Portal 认证
interface Vlanif100 # 访客 VLAN 网关接口
ip address 192.168.100.1 255.255.255.0
portal enable # 使能 Portal
portal domain portal # 关联 AAA 域
portal-server template huawei_portal # 关联 Portal 服务器
!
5.2 访客策略配置
# 访客流量策略
#
# 允许未认证用户访问 DNS 和 Portal 服务器
#
acl name pre-auth-acl 3000
rule 10 permit udp destination-port eq 53 # DNS
rule 20 permit tcp destination 10.0.10.20 0.0.0.0 destination-port eq 80 # Portal HTTP
rule 30 permit tcp destination 10.0.10.20 0.0.0.0 destination-port eq 443 # Portal HTTPS
rule 100 deny ip
# 应用预认证 ACL
interface Vlanif100
portal pre-authentication acl 3000 # 预认证 ACL
六、Portal 认证的高可用与优化
6.1 Portal 双机热备
Portal 双机部署:
┌──────────────┐
│ 浮动 IP │
│ 10.0.10.20 │
└──────┬───────┘
│
| ┌───┴────┐ ┌───┴────┐ ┌──┴───────┐ | ||||
| Portal主 10.0.10.21 | 10.0.10.22 | Portal备 | (NAS) | 接入设备 |
主备同步:会话信息实时同步 切换时间:< 3 秒 用户无感知
6.2 免认证策略
免认证策略优化:
白名单免认证:
├─ 内部服务器 IP(如邮件服务器、OA)
└─ 内部管理系统
短时间免认证(Cookie):
用户首次认证后下发 Cookie
有效期内再次连接免输入
典型有效期:8 小时 / 24 小时
MAC 地址绑定:
认证成功后记录 MAC
下次同一 MAC 自动通过
适用于员工设备和固定终端
七、总结
| 知识点 | 核心要点 |
|---|---|
| Portal 认证 | 通过 Web 页面引导用户认证 |
| 核心组件 | Portal 服务器 + 接入设备 + 认证服务器 |
| 重定向机制 | HTTP 302 重定向到 Portal 页面 |
| Portal 协议 | UDP 2000 端口,CHAP 挑战认证 |
| 认证方式 | 账号密码/短信/微信/二维码/MAC |
| MAC 优先 | 先尝试 MAC 认证,失败回退 Portal |
| 免认证策略 | Cookie、MAC 绑定、白名单 |
八、思考
- Portal 认证的核心工作流程是什么?用户访问 HTTP 网站如何被重定向到 Portal 页面?
- 为什么 Portal 认证无法拦截 HTTPS 流量?有哪些解决方案?
- MAC 认证和 Portal 认证分别适合什么场景?MAC 优先的好处是什么?
- 短信认证和微信认证在用户体验和安全性上各有什么优缺点?
- 企业中访客二维码审批认证的工作流程是怎样的?
下篇预告:第226篇《终端安全准入控制》——企业终端入网前的安全体检、合规检查和自动隔离修复机制。