FortiGate &微信认证方案-v1.0
一、 简介本文档介绍如何结合OpenPortal-Wlanportal在无线网络中使用多种认证方式,包括一键认证,微信认证,短信认证,用户密码认证,公众号认证以及访客认证。用户管理员也可以按照需求仅开放一种或几种认证方式进行认证。
二、 网络拓扑图及实现原理
工作流程:
0. 手机用户连上Wifi,访问Internet,FortiGate弹出外部认证页面提示进行认证选择,使用External Web portal 方式将终端IP,mac地址,生成Magic id送往Portal服务器。
Web传参具体格式如下: ACIP地址,magic id,用户mac,apmac,ap ip,用户ip,以及设备类型
http://19.1.1.1:1000/fgtauth&magic=07070d95f01438e5&usermac=60:f8:1d:8d:39:89&apmac=08:5b:0e:eb:b9:80&apip=124.236.19.92&userip=19.1.1.3&device_type=iphone
1. 用户选择认证方式进行认证;
2. Wlanportal根据用户选择认证类型进行不同的认证流程,认证成功后生成Rsso-acct信息发送给AC;
3. FortiGate接收到Wlanportal 发来的RadiusAccounting消息,用户即完成认证。
4. 当FortiGate意外重启,Rsso认证信息丢失时或RSSO认证超时,Wlanportal可以使用restful api定期查询FortiGate用户列表进行更新同步,保证与FortiGate用户列表一致。
三、 基础配置1. 防火墙配置1) 防火墙SSID配置,启用外部portal,用户组configwireless-controller vap
edit "web-portal"
set vdom "root"
set ssid "web-portal"
set security captive-portal
set selected-usergroups"Guest-group" ##用户组用于用户密码认证
set security-exempt-list"web-portal-exempt-list"
set intra-vap-privacy enable
set local-switching disable
next
end
2) 防火墙策略配置
启用对captive.apple.com以及wlanportal的认证免屏蔽,免屏蔽需要在命令行中配置。
configfirewall policy
edit 11
set srcintf "web-portal"
set dstintf "wan1"
set srcaddr "all"
set dstaddr"captive.apple.com" "wlan-portal"
set action accept
set schedule "always"
set service "ALL"
set captive-portal-exempt enable
set nat enable
next
end
对于其他网址使用第二条认证策略
configfirewall policy
edit 2
set uuid22477606-c66c-51e5-1663-3456376c4a23
set srcintf "web-portal"
set dstintf "wan1"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set nat enable
next
end
3) 防火墙RSSO配置启用RSSO
config user radius
edit "RSSO_agent"
set rsso enable
set rsso-radius-response enable
set rsso-validate-request-secret enable
set rsso-secret wlanportal #与Wlanportal交互的通讯口令
setrsso-endpoint-attribute User-Name
next
end
RSSO用户组配置
config user group
edit "wifi_guest"
set group-type rsso
set sso-attribute-value"wlanportal"
next
end
4) Wlanportal设置
BAS ip地址为AC 无线隧道接口IP地址
RSSO IP 为AC接收RSSOaccounting地址
RSSO Class 为RSSO携带属性值,RSSO Secret为与AC通讯口令,均需要与AC配置一致
FortiURL为FortiGate 80端口访问地址,以及用户名口令,用于Restful API同步认证用户信息
以下就各个认证类型的流程做简要说明
四、 认证类型1. 一键认证1) 一键认证适用于有线及无线客户端的认证,一键认证不需要用户提供任何信息,上网账号由Wlanportal直接生成并传递给FortiGate;
2) 选择一键认证
3) 直接认证成功
4) 在Wlanportal的管理界面我们可以看到该用户的认证状态
5) 同时在防火墙上同样可以看到该用户是由RSSO方式认证,并使用了Web传参时使用的magic id作为用户名
2. 微信认证
3. 短信认证
用户密码认证
公众号认证