web服务器防御方案设计基础知识(基于无线场景的内置portal服务器WEB认证方案)
在我们之前的认证中都是说基于MAC地址或者是基于客户端自带的802.1x客户端,但这些认证只适合于企业网,对于一些开放型的来说,就很不方便了,比如商场、娱乐场所等,对于这些场景的客户,他们希望只要通过一个简单的认证就可以了,这个时候portal认证就显得非常方便,它只需要用浏览器就可以完成认证,非常方便,还能实现认证成功后展示一些广告/弹窗之类的效果。
认证系统Portal认证系统,其主要包括四个基本要素:客户端、接入设备、Portal服务器与认证服务器。
- 客户端:安装有运行HTTP/HTTPS协议的浏览器的终端。
- 接入设备:交换机、路由器等接入设备的统称,主要有三方面的作用。
- 在认证之前,将认证网段内用户的所有HTTP/HTTPS请求都重定向到Portal服务器。
- 在认证过程中,与Portal服务器、认证服务器交互,完成对用户身份认证、授权与计费的功能。
- 在认证通过后,允许用户访问被管理员授权的网络资源。
- Portal服务器:接收客户端认证请求的服务器系统,提供免费门户服务和认证界面,与接入设备交互客户端的认证信息。
- 认证服务器:与接入设备进行交互,完成对用户的认证、授权与计费。
这里说下:通常在实际环境中,认证服务器portal服务器都是为一台,接入设备可以是路由器、交换机、AC、FAT AP、防火墙都支持。portal服务器分为外置与内置,外置是一立的portal服务器,功能很全面,支持很多扩展功能,而内置的就是在接入设备里面内置了一个简化的portal功能,能够提供一些portal认证的简单功能,内置适合小型网路部署,外置则中大型环境场景下使用。
Portal认证流程认证的第一件事情就是发起认证,有三种认证触发方式:
- 主动认证用户通过浏览器主动访问Portal认证网站时,即在浏览器中直接输入Portal服务器的网络地址,然后在显示的网面中输入用户名和密码进行认证,这种开始Portal认证过程的方式即为主动认证,即由用户自己主动访问Portal服务器发起的身份认证。
- 重定向认证用户输入的访问地址不是Portal认证网站地址时,将被强制访问Portal认证网站(通常称为重定向),从而开始Portal认证过程,这种方式称作重定向认证。
- 触发认证(需要终端的浏览器感知)
可以在感知用户接入后,自动弹出认证界面让客户输入认证信息。
Portal认证协议Portal认证协议:支持如下两种认证协议。
- Portal协议:描述了Portal服务器和接入设备之间的协议交互,可以用来传递用户名和密码等参数。其兼容中国移动Portal 2.0协议,支持该协议的基本功能。收到客户端的Portal认证请求后,Portal服务器通过Portal协议向接入设备发起Portal认证请求(携带用户名和密码)。
- HTTP/HTTPS协议:描述了客户端和接入设备之间的协议交互,可以用来传递用户名和密码等参数。
- 收到客户端的Portal认证请求后,Portal服务器通过HTTP/HTTPS协议通知客户端向接入设备发起Portal认证请求,然后客户端通过HTTP/HTTPS协议向接入设备发起Portal认证请求(携带用户名和密码)。
- 大部分的portal服务器都是以portal协议为主的形式,国外的厂商比如思科的ISE、Aruba的ClearPass这些认证服务区只支持HTTP/HTTPS协议,所以在对接的时候根据服务器支持的类型来选择。
- 在认证之前客户端与接入设备之间建立起预连接,即客户端用户在认证成功之前在接入设备上已建立用户在线表项,并且只有部分网络访问权限。
- 客户端发起HTTP连接请求。
- 接入设备收到HTTP连接请求报文时,如果是访问Portal服务器或免认证网络资源的HTTP报文,则接入设备允许其通过;如果是访问其它地址的HTTP报文,则接入设备将其URL地址重定向到Portal认证页面。
- 客户端根据获得的URL地址向Portal服务器发起HTTP连接请求。
- Portal服务器向客户端返回Portal认证页面。
- 用户在Portal认证页面输入用户名和密码后,客户端向Portal服务器发起Portal认证请求。
- (可选)Portal服务器收到Portal认证请求后,如果Portal服务器与接入设备之间采用CHAP认证,则Portal服务器向接入设备发起Portal挑战字请求报文(REQ_CHALLENGE);如果Portal服务器与接入设备之间采用PAP认证,则接入设备直接进行第9步。
- (可选)接入设备向Portal服务器回应Portal挑战字应答报文(ACK_CHALLENGE)。
- Portal服务器将用户输入的用户名和密码封装在Portal认证请求报文(REQ_AUTH)中,并发送给接入设备。
- 接入设备根据获取到的用户名和密码,向RADIUS服务器发送RADIUS认证请求(ACCESS-REQUEST)。
- RADIUS服务器对用户名和密码进行认证。如果认证成功,则RADIUS服务器向接入设备发送认证接受报文(ACCESS-ACCEPT);如果认证失败,则RADIUS服务器返回认证拒绝报文(ACCESS-REJECT)。由于RADIUS协议合并了认证和授权的过程,因此认证接受报文中也包含了用户的授权信息。
- 接入设备根据接收到的认证结果接入/拒绝用户。如果允许用户接入,则接入设备向RADIUS服务器发送计费开始请求报文(ACCOUNTING-REQUEST)。
- RADIUS服务器返回计费开始响应报文(ACCOUNTING-RESPONSE),并开始计费,将用户加入自身在线用户列表。
- 接入设备向Portal服务器返回Portal认证结果(ACK_AUTH),并将用户加入自身在线用户列表。
- Portal服务器向客户端发送认证结果报文,通知客户端认证成功,并将用户加入自身在线用户列表。
- Portal服务器向接入设备发送认证应答确认(AFF_ACK_AUTH)。
内置的portal功能相对来说比较单一,所以只适合小型的场所、旅馆、访客区域适用,这里还是一样用的FAT AP,跟AC的配置以及思路一模一样,所以没有采用AR AC的方式,我们来看看portal里面需要注意哪些。
部署前需要了解的一些知识点1、关于portal用户认证内置的场景下可以是本地,也可以是交给radius服务器,在本地的话我们需要在AC或者FAT AP上面创建用户名,类型为WEB的,而在radius上面则创建用户名信息即可,验证方式可以支持PAP与CHAP(这个是在AC或者FAT AP上面指定)
2、华为内置的portal只能是https方式,用到HTTPS就会用到证书SSL,设备默认内置了一个服务器证书,但是是自签名不可信任的,所以在第一次访问的时候会弹出不可信任,需要我们确认
正式部署1、创建一个portal服务器地址,这里直接使用接口地址。(在文档中可能会建议你使用loopback,但是会出现一些问题,在内置的portal下。)
[Huawei]interface vlan 1
[Huawei-Vlanif1]ip address 192.168.1.254 24
2、开启内置portal服务功能
[Huawei]portal local-server ip 192.168.1.254 //指定我们刚刚创建的
[Huawei]portal local-server https ssl-policy default_policy port 4434
PS:关于default_policy这个设备默认内置的SSL服务器策略,自带一个自签名证书,端口号默认不改为443,建议修改,否则HTTPS网管访问会受影响。
3、配置portal接入模板
[Huawei]portal-access-profile name portal
[Huawei-portal-access-profile-portal]portal local-server enable
定义一个portal接入模板,名字叫portal,并且开启了本地服务功能。
4、认证方式配置
由于我们采用的是本地认证,就不需要创建radius模板了
[Huawei]aaa
[Huawei-aaa]authentication-scheme portal
[Huawei-aaa-authen-portal]authentication-mode local
[Huawei-aaa]local-user test password cipher test.123
[Huawei-aaa]local-user test service-type web
5、认证模板
[Huawei]authentication-profile name portal
[Huawei-authentication-profile-portal]authentication-scheme portal
[Huawei-authentication-profile-portal]portal-access-profile portal
6、无线基本业务
[Huawei]wlan
[Huawei-wlan-view]ssid-profile name portal
[Huawei-wlan-ssid-prof-portal]ssid portal
[Huawei-wlan-view]security-profile name portal :这里创建一个模板就行了,默认为open方式
[Huawei-wlan-view]vap-profile name portal
[Huawei-wlan-vap-prof-portal]ssid-profile portal
[Huawei-wlan-vap-prof-portal]security-profile portal
[Huawei-wlan-vap-prof-portal]authentication-profile portal
[Huawei]interface Wlan-Radio 0/0/0
[Huawei-Wlan-Radio0/0/0]vap-profile portal wlan 2
[Huawei]interface Wlan-Radio 0/0/1
[Huawei-Wlan-Radio0/0/1]vap-profile portal wlan 2
正式测试(看会遇到哪些问题)测试的先用电脑端测试的,把本地网卡禁用了,连接的WIFI
连上后自动弹出了网页,这个时候会发现,我们随意点一个网站。
弹出认证界面了。
会出现一个界面,看着像没打开成功,实际是可以的,页面也弹到了success了。
可以看到Q、微信都登录成功了。
实用的查看命令
1、display portal:查看portal相关的全局参数
2、display portal local-server connect:查看当前哪些用户连接着
3、display access-user detail :查看用户的详细情况
实际中会遇到的几个问题
1、在官方文档中的案例,都会采用loopback口作为portal server的地址,但是这种部署,在实际中要考虑很多,而容易出现一些问题,所以这里讲解下,如果真的采用loopbanck口作为服务器地址,我们需要考虑什么样的问题。
在上面的部署中,我们用到的是192.168.1.254作为服务器地址,这样客户端获取的也是1.X的,整个过程没什么问题,如果我们在FAT AP上面起一个loopback,比如1.1.1.2,那么会遇到什么样的问题。
[Huawei]int lo 0
[Huawei-LoopBack0]ip address 1.1.1.2 24
[Huawei]undo portal local-server https
Error: Config failed, because online users exist.,这个需要先去掉才能改服务器地址,目前有用户存着,不让修改。
[Huawei]undo portal local-server https
Warning: Portal local server will be disabled, Continue?[Y/N]:y
[Huawei]portal local-server ip 1.1.1.2
[Huawei]portal local-server https ssl-policy default_policy port 4434
当改了服务器地址后,我们需要在去连接,弹出的地址变成了1.1.1.2了。
页面显示不存在,
客户地址是在192.168.1.X里面,我们试试ping 1.1.1.2
发现是不通的,不通的原因是,网关并不知道1.1.1.2在哪,没有路由,所以数据包不通,所以这个是很要加一个静态路由。
在网关上面写一个去往1.1.1.2的走192.168.1.254
这个时候就可以了
点击登录会出现这样一个界面,这个是在FAT AP中会遇到的一个小bug,所以大家在用FAT AP作为内置的portal服务器的时候,建议使用跟客户端同一个网段的地址作为服务器认证,否则会出问题,不单单是电脑端哦,手机端也是会同样的问题,页面可以弹出来,但是单击登录没用。
手机端会自动弹出来,但是如果使用其他网段的跟电脑端一样,点击登录会没反应。所以在内置portal的时候部署要注意
(1)、如果使用FAT AP作为portal服务器,那么一定要用跟客户端一样的网段作为服务器地址
(2)、如果使用AC作为portal服务器,那么可以是loopback口
(3)、如果使用loopback口一定要注意路由问题,否则到达不了认证页面。
2、在接入WIFI后,需要打开一个网站,然后跳转到认证界面,这个打开网站过程中会遇到一个问题,那就是DNS解析问题
(1)客户端打开网址,这个网址需要通过DNS来解析成地址
(2)DNS解析成实际的IP地址,客户端访问这个实际IP地址,被FAT AP(AC)拦截,替换成认证服务器的地址
(3)最终客户端打开的是认证界面
在上面介绍过认证流程,在认证之前,客户端所有流量都是不通的,包括DNS,但是在我们部署中,为什么能够正常解析呢?
在华为的V2R19版本中,有一个特性,就是DNS流量默认情况是放行,也就是只要是DNS流量,不需要认证。
那么在早期版本,没有这个功能怎么办呢?这里就要讲解一个新的知识点了。
免认证规则模板免认证规则模板在portal中使用最多,通常是用来放行在认证之前放行必要的流量,比如DNS、外置的情况下放行portal服务器地址,微信服务器地址等,使得在认证的时候能够正常的跳转。
[Huawei]free-rule-template name default_free_rule :这里注意下,在FAT中只能使用系统内置的模板,不能自定义,而AC中可以自定义。
[Huawei-free-rule-default_free_rule]free-rule 1 destination ip 223.5.5.5 mask 255.255.255.255
[Huawei-free-rule-default_free_rule]free-rule 2 destination ip 192.168.1.5 mask 255.255.255.255
我们定义2个规则,去往223.5.5.5跟192.168.1.5(都是DNS)的流量放行,注意free-rule必须跟ID。
[AC6005]acl number 6000
[AC6005-acl-ucl-6000]rule permit ip destination 223.5.5.5 0
[AC6005-acl-ucl-6000]rule permit ip destination 192.168.1.5 0
[AC6005]free-rule-template name test
[AC6005-free-rule-test]free-rule acl 6000
我们可以看到在AC里面除了规则的形式,还能基于我们属性的ACL,注意ACL的ID是6000开头
[Huawei]authentication-profile name portal
[Huawei-authentication-profile-portal]free-rule-template default_free_rule
最终调用,我们配置完后直接在认证模板里面调用这个规则即可。
3、关于页面自定义,可以看到整个页面太单调,我们希望改成自己的一些信息,这个是可以改的,但是如果使用高级的需要会HTML语言,简单的建议大家可以WEB修改。
点击配置-----安全管理----AAA----portal页面定制
当鼠标放在这个位置是可以添加图片的,放下面也可以
点击这里可以编辑声明,而且PC端跟手机端是分开编辑的。
手机端可以单独编辑。
如果公司里面有HMTL比较精通的人,不管是FAT AP、或者是AC的升级包里面都有一个portal的定制包,我们可以解压里面添加各种信息,来美化整个界面。
可以编辑修改的。
AC里面,位置也是在配置-----安全管理----AAA----内置portal服务器里面,一样可以修改LOGO、广告、免责声明,AC的界面跟流畅度比FAT AP还是好很多的。
4、如果有外置服务器,想用外置服务器的话,可以跟配置802.1x一样,定义一个Radius模板即可,服务器那边采用PAP、CHAP的方式即可
[Huawei]radius-server template dot1x
[Huawei-radius-dot1x]radius-server authentication 192.168.1.252 1812
[Huawei-radius-dot1x]undo radius-server user-name domain-included
[Huawei-radius-dot1x]radius-server shared-key cipher ccieh3c.com
服务器允许PAP CHAP即可
整体流程1、定义服务器地址,如果FAT AP的话建议使用管理地址(跟业务在一个网段),如果是AC AP架构,可以使用其他地址,注意路由情况即可(也就是客户端到认证服务器地址要通)
2、开启内置portal服务器功能,端口号可以用非标准的,系统内置了一个SSL-policy策略,我们可以直接调用。
3、portal接入模板,接入模板主要是定义portal采用本地认证还是外部认证
4、认证方式:如果我们采用本地认证,认证模式为local即可,并且创建用户名密码,如果为外部,则是为radius,用户名信息则在radius上面创建
5、免接入认证模板,需要放行DNS流量,这样能够让域名能够正常解析,让PC流量转发出去,否则PC卡在解析阶段界面根本无法跳转,虽热在新版本里面默认是放行了DNS流量,但是还是养成一个好习惯来配置模板。
6、配置认证模板,把之前配置的接入模板、认证方式、免接入认证模板等参数汇总为一体
介绍《带你学习华为企业无线网络应用》是博主原创的针对常见华为厂商无线AC AP组网系列应用部署为主的系列课程,结合实际环境出发,加上了博主部署经验以及会遇到哪些问题等进行综合,做到学以致用,给各位看官朋友一个不一样的学习体验。
如果大家有任何疑问或者文中有错误跟疏忽的地方,欢迎大家留言指出,博主看到后会第一时间修改,谢谢大家的支持,更多技术文章尽在网络之路Blog,版权归网络之路Blog所有,原创不易,侵权必究,觉得有帮助的,关注转发一波谢谢。
上一篇回顾
22、基于无线场景的企业认证802.1x授权方案(3)授权篇
下一篇学习
24、基于无线场景的内置portal匿名登录与接入码功能
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com