定义

portal认证通常也称为web认证,一般将portal认证网站称为门户网站。用户上网时,必须在门户网站进行认证,如果未认证成功,仅可以访问特定的网络资源,认证成功后,才可以访问其他网络资源。

免安装:portal认证不需要安装专门软件

便于运营:可以在portal页面上进行业务拓展,如广告推送、企业宣传等

应用广泛:运营商、连锁快餐、酒店、学校

部署位置灵活:可以在接入层或关键数据的入口作访问控制

用户管理灵活:可基于用户名与vlan/ip/mac地址的组合对用户进行认证

架构

包括客户端、接入设备、portal服务器和认证服务器。

客户端:安装有运行http/https协议的浏览器的主机

接入设备:交换机、路由器等接入设备的统称,主要有三个方面的作用。

认证前:将认证网段内用户的所有http/https请求都重定向到portal服务器

认证中:与portal服务器、认证服务器交互,完成对用户身份认证、授权与计费的功能

认证后:允许用户访问被管理员授权的网络资源。

portal服务器:接收客户端认证请求的服务器系统,提供免费门户服务和认证界面,与接入设备交互客户端的认证信息。

外置Portal服务器:支持外置独立服务器的扩展功能,例如支持MAC优先的Portal认证。

内置Portal服务器:内嵌于接入设备内,实现简单的Portal服务器功能,不能完全替代独立的Portal服务器。

优点:不需要部署额外的Portal服务器,故增强了Portal认证的通用性。

缺点:受限于接入设备存储空间、功能和性能,仅能给用户提供通过Web方式上线、下线的基本功能,不支持外置独立服务器的任何扩展功能,例如不支持MAC优先的Portal认证。

场景:适用于功能简单、接入人数少的场景,例如小型餐馆提供的连接Internet服务。

认证服务器:与接入设备进行交互,完成对用户的认证、授权与计费。

portal协议

portal协议分为portal接入协议和portal认证协议

portal接入协议

基于http/https协议,描述了客户端和portal服务器之间的协议交互。

客户端通过HTTP/HTTPS协议依次向portal服务器发起连接请求和portal认证请求。

portal认证协议

支持如下两种认证协议

portal协议:描述了portal服务器和接入设备之间的协议交互,可以用来传递用户名和密码等参数。其兼容中国移动portal 2.0协议,支持该协议的基本功能。

收到客户端的portal认证请求后,portal服务器通过portal协议向接入设备发起portal认证请求(携带用户名和密码)。

http/https协议:描述了客户端和接入设备之间的协议交互,可以用来传递用户名和密码等参数。收到客户端的portal认证请求后,portal服务器通过HTTP/HTTPS协议通知客户端向接入设备发起portal认证请求,然后客户端通过HTTP/HTTPS协议向接入设备发起portal认证请求(携带用户名和密码)

portal认证方式

按照网络中实施portal认证的网络层次来分,portal认证方式分为两种:二层认证方式和三层认证方式。

二层认证

当客户端与接入设备之间为二层网络时,即客户端与接入设备直连(或之间只有二层设备存在),接入设备可以学习到客户端的mac地址,则接入设备可以利用IP地址和mac地址来识别用户,此时可以配置portal认证为二层认证方式。

二层认证流程简单,安全性高,但是由于限制了用户只能与接入设备处于同一网段,所以组网灵活性不高

三层认证

当客户端与接入设备之间包含三层网络时,即客户端与接入设备之间存在三层转发设备,接入设备不能获取到认证客户端的MAC地址,只能以IP地址作为用户的唯一标识,此时需要将Portal认证配置为三层认证方式。

三层认证组网灵活,容易实现远程控制,但由于只能以IP地址作为用户的唯一标识,所以安全性不高。

portal认证流程

认证的第一件事情就是发起认证,有两种认证触发方式:

主动认证

用户通过浏览器主动访问Portal认证网站时,即在浏览器中直接输入Portal服务器的网络地址,然后在显示的网页中输入用户名和密码进行认证,这种开始Portal认证过程的方式即为主动认证,即由用户自己主动访问Portal服务器发起的身份认证。

重定向认证

用户输入的访问地址不是Portal认证网站地址时,将被强制访问Portal认证网站(通常称为重定向),从而开始Portal认证过程,这种方式称作重定向认证。

基于portal协议的portal认证流程

在二层认证方式下,用户上线时的报文交互流程。在三层方式没有建立预连接过程。

1、在认证之前客户端与接入设备之间建立起预连接,即客户端用户在认证成功之前在接入设备上已建立用户在线表项,并且只有部分网络访问权限。

2、客户端发起HTTP连接请求。

3、接入设备收到HTTP连接请求报文时,如果是访问portal服务器或免认证网络资源的http报文,则接入设备允许其通过;如果是访问其他地址的http报文,则接入设备将其url地址重定向到portal认证页面。

4、客户端根据获得的url地址向portal服务器发起http连接请求。

5、portal服务器向客户端返回portal认证页面

6、用户在portal认证页面输入用户名和密码后,客户端向portal服务器发起portal认证请求

7、portal服务器收到portal认证请求后,如果portal服务器与接入设备之间采用chap认证,则portal服务器向接入设备发起portal挑战字请求报文(req-challenge);如果portal服务器与接入设备之间采用pap认证,则接入设备直接进行第9步。

8、接入设备向portal服务器回应portal挑战字应答报文(ack-challenge)

9、portal服务器将用户输入的用户名和密码封装在portal认证请求报文(req-auth)中,并发送给接入设备

10、接入设备根据获取到的用户名和密码,向radius服务器发送radius认证请求(access-request)

11、radius服务器对用户名和密码进行认证。如果认证成功,则radius服务器向接入设备发送认证接受报文(access-accept),如果认证失败,则radius服务器返回认证拒绝报文(access-reject),由于radius协议合并了认证和授权的过程,因此认证接受报文中也包含了用户的授权信息。

12、接入设备根据接收到的认证结果接入/拒绝用户,如果允许用户接入,则接入设备向radius服务器发送计费开始请求报文(accounting-request)

13、radius服务器返回计费开始相应报文(accounting-resquest),并开始计费,将用户加入自身在线用户列表。

14、接入设备向portal服务器返回portal认证结果(ack-auth),并将用户加入自身在线用户列表

15、portal服务器向客户端发送认证结果报文,通知客户端认证成功,并将用户加入自身在线用户列表

16、portal服务器向接入设备发送认证应答确认(aff-ack-auth)

基于HTTP/HTTPS协议的portal认证流程

二层认证方式如下,三层没有预连接过程。

在认证之前客户端与接入设备之间建立起预连接,即客户端用户在认证成功之前在接入设备上已建立用户在线表项,并且只有部分网络访问权限。

  1. 客户端发起HTTP连接请求。
  2. 接入设备收到HTTP连接请求时,如果是访问Portal服务器或免认证网络资源的HTTP报文,则接入设备允许其通过;如果是访问其它地址的HTTP报文,则接入设备将其URL地址重定向到Portal认证页面。
  3. 客户端根据获得的URL地址向Portal服务器发起HTTP连接请求。
  4. Portal服务器向客户端返回Portal认证页面。
  5. 用户在Portal认证页面输入用户名和密码后,客户端向Portal服务器发起Portal认证请求。
  6. Portal服务器通知客户端向接入设备发起Portal认证请求。
  7. 客户端向接入设备发起Portal认证请求(HTTP POST/GET)。
  8. 接入设备根据获取到的用户名和密码,向RADIUS服务器发送RADIUS认证请求(ACCESS-REQUEST)。
  9. RADIUS服务器对用户名和密码进行认证。如果认证成功,则RADIUS服务器向接入设备发送认证接受报文(ACCESS-ACCEPT);如果认证失败,则RADIUS服务器返回认证拒绝报文(ACCESS-REJECT)。由于RADIUS协议合并了认证和授权的过程,因此认证接受报文中也包含了用户的授权信息。
  10. 接入设备根据接收到的认证结果接入/拒绝用户。如果允许用户接入,则接入设备向RADIUS服务器发送计费开始请求报文(ACCOUNTING-REQUEST)。
  11. RADIUS服务器返回计费开始响应报文(ACCOUNTING-RESPONSE),并开始计费,将用户加入自身在线用户列表。
  12. 接入设备向客户端返回Portal认证结果,并将用户加入自身在线用户列表。

portal认证授权

认证:用于确认尝试接入网络的用户身份是否合法

授权:用于指定身份合法的用户所能拥有的网络访问权限,即用户在认证后能够干嘛

授权最常用的是acl和ucl。

acl

用户认证成功后,认证服务器将指定acl授权给用户,则设备会根据该acl对用户报文进行控制

如果用户报文匹配到该acl中动作为permit的规则,则允许其通过

如果用户报文匹配到该acl中动作为deny的规则,则将其丢弃

radius服务器授权acl有两种方法:

授权静态acl:radius服务器通过radius标准属性filter-id将acl id授权给用户。为使授权的acl生效,需要

UCL

用户控制列表UCL组(User Control List)是网络成员的集合。UCL组里面的成员,可以是PC、手机等网络终端设备。借助UCL组,管理员可以将具有相同网络访问策略的一类用户划分为同一个组,然后为其部署一组网络访问策略,满足该类别所有用户的网络访问需求。相对于为每个用户部署网络访问策略,基于UCL组的网络控制方案能够极大的减少管理员的工作量。RADIUS服务器授权UCL组有两种方式:

  • 授权UCL组名称:RADIUS服务器通过RADIUS标准属性Filter-Id将UCL组名称授权给指定用户。
  • 授权UCL组ID:RADIUS服务器通过华为RADIUS扩展属性HW-UCL-Group将UCL组ID授权给指定用户。无论是哪一种授权UCL组方式,都必须提前在设备上配置相应的UCL组及UCL组的网络访问策略。

用户组

用户组指具有相同角色、相同权限等属性的一组用户(终端)的集合。每个用户组可以关联不同的ACL、CAR、报文优先级,因而通过用户组授权,可以实现对每类用户进行基于ACL的访问控制、基于VLAN的访问控制、流量控制以及优先级控制,管理更灵活。

比如,由于ACL资源有限,当每用户需要的授权ACL较多时,上线授权的用户数无法达到规格,但实际用户数很大,用户权限的分类比较少的,此时可以使用用户组,每一组用户复用ACL,以利用有限的ACL支持较大规格的用户进行ACL授权。 用户组可以在RADIUS服务器上配置,也可以在设备端配置(需在AAA域下应用)。如果用户希望使用RADIUS服务器下发的用户组授权,需要保证RADIUS服务器上下发的用户组在设备上已经配置(不需在AAA域下应用)。

RADIUS服务器下发用户组授权的方式和下发ACL ID的方式一样,都是用11号标准属性Filter-Id来携带,属性值填充用户组名称。11号属性将优先被当成ACL编号处理。当设备上不存在该ACL编号的时候,则当成用户组处理,如果设备上也不存在该用户组时,则授权失败。

RADIUS服务器下发的用户组授权优先级高于设备端配置的用户组授权,当服务器下发的用户组授权失败后,用户会采用设备端配置的用户组授权。

free-rule

用户认证成功之前,为满足用户基本的网络访问需求,需要用户认证成功前就能获取部分网络访问权限。可在free-rule模板中配置free-rule规则,满足用户的认证成功前的网络访问需求。

用户的free-rule可以通过普通的free-rule定义,也可以通过ACL定义。普通的free-rule由IP地址、MAC地址、接口、VLAN等参数确定;通过ACL定义的free-rule由ACL规则确定。两种方式定义的free-rule都能够指定用户无需认证就可以访问的目的IP地址。除此之外,ACL定义的free-rule还能够指定用户认证成功前就可以访问的目的域名。

基于域名定义用户的free-rule有时要比基于IP地址简单方便。例如,某些认证用户由于没有认证账号,必须首先在运营商提供的官方网站上注册申请会员账号;或者通过微博、微信等第三方账号进行登录。这就要求用户认证通过前,能够访问特定的网站。由于用户记忆网站的域名要比记忆其IP地址容易的多,所以,此时可以通过ACL定义的free-rule,指定用户认证成功前即可访问以上网站域名。

Portal认证逻辑流程

在用户进行Portal认证的过程中,接入设备的处理逻辑如图所示,此处以RADIUS认证方式为例进行说明。

  1. 用户访问网络时,如果配置了预连接授权,则用户获取相应权限,用户访问权限之外的资源时,触发用户重定向到Portal认证网站;如果未配置预连接授权,则触发用户重定向到Portal认证网站。
  2. 用户访问Portal认证网站,如果Portal服务器正常,则接入设备与RADIUS服务器进行Portal认证。如果Portal服务器Down,则检查Portal服务器Down时的网络访问权限,按是否配置相应权限处理,当配置了Portal服务器状由Down转变为Up时对用户进行重认证,按照重认证的触发机制对相应状态用户进行重认证。
  3. Portal认证时,如果RADIUS服务器状态正常,则用户认证成功授与完整权限,如果用户认证失败,则依次检查认证失败授权和预连接授权,并获取相应权限。如果RADIUS服务器Down,则依次检查认证服务器Down时的网络访问权限、用户在认证失败时的网络访问权限、用户在预连接阶段的网络访问权限,按是否配置相应权限处理。

portal准入控制配置案例

实验拓扑

配置思路

1、底层配置

2、交换机portal认证配置

3、ac配置

3.1、增加设备

3.2、创建portal账号

3.3、增加认证规则

3.4、增加授权结果

3.5、增加授权规则

4、验证结果

具体配置

1、防火墙基础配置

#接口配置
sys fw1
int g0/0/0
ip add 192.168.0.10 24
int g0/0/1
ip add 10.1.1.10 24
int g0/0/3
ip add 192.168.1.10 24
int g0/0/2
ip add 202.100.1.10 24
#配置安全区域
fire zone trust
add int g0/0/1
fire zone dmz
add int g0/0/3
fire zone untrust
add int g0/0/2
quit
ip route-static 0.0.0.0 0 202.100.1.254
ip route-static 10.1.2.0 24 10.1.1.254user-interface con 0
id 0

2、路由器配置

sys ISP
undo int vlanif1acl 2000
rule permitint g0/0/0
undo portswitch
nat outbound 2000
ip add dhcp-allocint g0/0/1
undo portswitch
ip add 202.100.1.254 24
quitip route-static 10.1.0.0 16  202.100.1.10user-interface con 0
id 0

3、接入交换机配置MAC认证

3.1、创建并配置radius服务器模板

#配置radius
radius-server template RADIUS-POLICYradius-server shared-key cipher Huawei@123radius-server authentication 192.168.1.100 1812radius-server accounting 192.168.1.100 1813quit
radius-server auththorization 192.168.1.100 shared-key cipher Huawei@123

3.2、创建并配置AAA认证、计费方案

aaa
authentication-scheme AUTH
authentication-mode radius
accounting-scheme ACCOUNT
accounting-mode radius
accounting realtime 3

3.3、配置认证域,并在其上绑定aaa认证、计费方案、radius服务器模板

aaa
domain default
authentication-scheme AUTH
accounting-scheme ACCOUNT
radius-server RADIUS-POLICY

3.4、配置联动portal服务器

web-auth-server PORTAL #配置网页认证服务器server-ip 192.168.1.100port 50200  #注:默认使用的是50100,也可以使用50200shared-key simple Huawei@123url http://192.168.1.100:8080/portal  #推送重定向认证界面   server-source ip-address 10.1.1.254  #注:V200R020及以上版本必须配置
web-auth-server server-source all-interface    #注:可以使用全局     web-auth-server listening-port 2000  #默认监听2000  #统一模式
portal-access-profile name PORTAL-ACC-PROFILE#配置portal接入模板web-auth-server PORTAL direct#调用网页认证服务器authentication-profile name AUTH-PROFILE#配置认证模板portal-access-profile PORTAL-ACC-PROFILE#调用portal接入模板#调用接口
interface GigabitEthernet0/0/9authentication-profile AUTH-PROFILE 

4、ac配置

4.1、增加接入设备

资源---设备--设备管理---所有设备----添加

在启用radius的基础上启用portal

4.2、增加终端用户

新增设备组--接入设备,并将刚刚增加的设备接入设备移动到接入设备组

资源---用户管理--增加用户组

在创建的用户组下面增加用户

4.3、配置认证规则

创建认证规则

选择接入业务

关联用户组

关联接入设备组

关联认证协议

注意和dot1x的区别是需要关联用户组

4.4、配置动态acl

4.5、配置授权结果

新增授权结果

选择接入业务,配图出错

关联动态acl

4.6、配置授权规则

新增授权规则

关联接入设备组

关联用户组

关联授权结果

5、验证结果

0、在终端pc上访问公网www.baidu.com自动跳转到portal认证页面

登录前无法访问其他网络。连自己的网关都无法访问,但是可以访问ac服务器。

1、在sw上检查在线用户

[sw1]dis access-user------------------------------------------------------------------------------------------------------UserID  Username               IP address                               MAC            Status------------------------------------------------------------------------------------------------------20      portaluser1            10.1.2.1                                 0050-569e-ce30 Success         ------------------------------------------------------------------------------------------------------Total: 1, printed: 1

2、检查在线用户详细信息

[sw1]dis access-user user-id 20Basic:User ID                         : 20User name                       : portaluser1Domain-name                     : default                         User MAC                        : 0050-569e-ce30User IP address                 : 10.1.2.1User vpn-instance               : -User IPv6 address               : -User access Interface           : GigabitEthernet0/0/9User vlan event                 : Success        QinQVlan/UserVlan               : 0/11User vlan source                : user request                  User access time                : 2021/02/10 12:26:41User accounting session ID      : sw100009000000011b0****0000014Option82 information            : -User access type                : WEBTerminal Device Type            : Data Terminal  Web-server IP address           : 192.168.1.100Dynamic ACL desc(Effective)     :No. 0: acl 10000 dest-ip 202.100.1.0 dest-ipmask 24 permitService Scheme Priority         : 0AAA:User authentication type        : WEB authenticationCurrent authentication method   : RADIUSCurrent authorization method    : -     Current accounting method       : RADIUS

3、ac检查日志

6、访客管理特性配置

6.1、配置访客账号策略

策略--访客管理---访客账号策略

6.2、配置认证规则

注意用户组配置为guest组

6.3、配置授权规则

注意用户组配置为guest组

6.4、测试注册

portal准入控制故障处理

检查交换机配置

[sw1]dis web-auth-server configuration Listening port           : 2000Portal                   : version 1, version 2Include reply message    : enabled Server-Source            : all-interface ------------------------------------------------------------------------------------------------Web-auth-server Name : RADIUS-POLICY IP-address           : 192.168.1.100Shared-key           : ****** Source-IP            : - Port / PortFlag      : 50200 / NO Server-Source        : - URL                  : http://192.168.1.100:8080/portal URL Template         :  URL Template ParaName:  URL Template IVName  :  URL Template Key     :  Redirection          : Enable Sync                 : Disable Sync Seconds         : 0 Sync Max-times       : 0 Detect               : Disable Detect Seconds       : 60 Detect Max-times     : 3 Detect Critical-num  : 0                Detect Action        :                  Detect Type          : portal           VPN Instance         :                  Bound Portal profile :                  Protocol             : portal Http Get-method      : disable Password Encrypt     : none Cmd ParseKey         : cmd Username ParseKey    : username Password ParseKey    : password MAC Address ParseKey : macaddress IP Address ParseKey  : ipaddress Initial URL ParseKey : initurl Login Cmd            : login Logout Cmd           : logout Login Success Reply Type       : redirect initial URL Redirect URL     :  Message          :  Login Fail Reply Type       : redirect login URL Redirect URL     :  Message          :  Logout Success Reply Type       : message Redirect URL     :  Message          : LogoutSuccess! Logout Fail Reply Type       : message          Redirect URL     :                  Message          : LogoutFail!

HCIE-Security Day48:AC准入控制Portal相关推荐

  1. HCIE-Security Day46:AC准入控制Dot1x

    简介 802.1X协议是一种基于端口的网络接入控制协议(Port based networkaccess control protocol)."基于端口的网络接入控制"是指在局域网 ...

  2. HCIE-Security Day47:AC准入控制MAC

    MAC认证是一种基于接口和终端MAC地址对用户的访问权限进行控制的认证方法. 特点 免安装:用户终端不需要安装任何客户端软件. 免输入:认证过程中,不需要手动输入用户名和口令. 哑终端友好:能够对不具 ...

  3. HCIE-Security Day44:AC产品概述、功能、架构组成、AC准入主要技术、RADIUS协议

    什么是AC Agile Controller:敏健控制器.基于用户与应用的网络资源自动化控制系统,作为园区网络的集中化控制核心,全局控制园区网络的用户.业务与安全等策略. Agile Controll ...

  4. 局域网流量控制_基于软件定义的网络准入控制体系

    引 用 本 文 邓永晖,周佳,鹿文杨.基于软件定义的网络准入控制体系[J].通信技术,2020,53(04):970-975.DENG Yong-hui,ZHOU Jia,LU Wen-yang. N ...

  5. 计算机终端网络准入控制要求,计算机网络终端准入控制技术资料.pdf

    201 计算机系统应用 1年第20卷第l期http://www.c-S·a.org.cn 计算机网络终端准入控制技术① 周超,周城,丁晨路 (重庆通信学院研究生管理大队,重庆400035) 摘要:终端 ...

  6. 准入控制(NAC)技术调研

    1. NAC分类 根据美国著名调研机构Gartner研究,他们把所有的NAC厂家.技术统一做了归类与分析,提出了三个NAC技术框架的理论: 1.基于端点系统的架构–Software-base NAC; ...

  7. 安全认证、准入控制、RBAC

    文章目录 准入机制 一.Authentication:认证 1.https的认证 需要认证的节点 总结 二.鉴权(Authorization) API Server目前支持以下几种授权策略: RBAC ...

  8. kubectl认证 授权 准入控制

    kubernetes 认证及serviceaccount(服务账号) kubernetes中apiservice是唯一访问的入口 认证->授权->准入控制 认证方式:token     s ...

  9. [4G/5G/6G专题基础-154]: 5G无线准入控制RAC(Radio Admission Control)+ 其他准入控制

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

最新文章

  1. Ab Initio软件
  2. 1.13 编程基础之综合应用_14求满足条件的3位数 python
  3. jquery/原生js/css3 实现瀑布流以及下拉底部加载
  4. html5视频播放器使用,视频站启用html5播放器
  5. leetcode python3 简单题141. Linked List Cycle
  6. nagios无法安装check_mysql插件的问题
  7. php中execute函数,PHP:调用布尔值上的成员函数execute()
  8. IDC机房建设的关键技术有哪些?
  9. 接口测试一般怎么测?接口测试的流程和步骤~
  10. mysql如何导出数据脚本_MySQL 导出数据
  11. 电脑上虚拟打印机如何将word转jpg
  12. 敏捷测试的关键成功要素
  13. 根据经纬度实现附近的人
  14. 【POJ】1003_Hangover宿醉
  15. centos 测试get请求_centos网速测试
  16. BootStrap左侧菜单栏
  17. 我讨厌单元测试:滕振宇谈如何进行单元测试
  18. Kettle【实践 01】Linux环境下使用Azkaban定时调用Kettle的KJB或KTR脚本实现自动化数据处理(完整流程实例分享:包含sql+ktr+shell+flow相关文件云资源)
  19. Ubuntu搜狗拼音输入法安装教程(常识)
  20. 资产管理3大重要性,你还不知道吗?

热门文章

  1. 如何安装kaggle API下载数据 及报错OSError: Could not find kaggle.json. Make sure it‘s located in /home/user/解决办法
  2. android版本怎么升级9.0,为什么安卓系统都升级到9.0了,而国内大部分都是Android7呢?...
  3. Type interface com.haroro.dao.UserDao is not known to the MapperRegistry——MyBatis问题
  4. linux中zcvf,xvf的区别
  5. web课程设计网页规划与设计:中国风茶文化网站设计(6个页面) HTML+CSS+JavaScript
  6. 照片格式怎么转换?这里有个好方法分享
  7. 量子计算机详细讲解,全球最强量子计算机,到底强在哪儿?附参数详解
  8. html加js实现滚动图片,js实现图片无缝滚动
  9. 云产品泛滥!小生来理一理各种云产品的区别~
  10. 基于Python的通用、可扩展的图卷积神经网络