上网行为管理:用户认证技术
用户和用户组管理
【用户管理】-【组/用户】:可以查看、新增、删除用户/组信息
【限制在以下地址范围内登录】:指的是账号只能在设置地址范围的终端上登录,其它账号也可以在这些地址上登录。
终端绑定(用户绑定):绑定时定义【绑定目的】和【绑定对象】及【绑定有效期】
用户注销
-
在【在线用户管理】中强制注销在线用户
(临时用户、Dkey用户、不需要认证的用户无法被强制注销)
-
在【认证高级选项】-【认证选项】中选择【自动注销无流量的用户】
(对所有用户生效)
-
在【认证高级选项】-【认证选项】中设置【每天强制注销所有在线用户】,并设置注销时间
(对所有用户生效)
-
设置认证页面关闭时自动注销
-
设置MAC变动时自动注销
案例
要求实现:
1、IT部电脑IP不固定,认证不受限制
2、办公区用户不能修改IP地址上网
3、公共上网区则需要输入账号和密码才能上 网,确保网络行为能跟踪到
![image-20240810184657686](C:\Users\Goniy\AppData\Roaming\Typora\typora-user-images\image-20240810184657686.png
认证框架
不需要认证案例
需求一:
IT部电脑IP不固定,认证不受限制
数据包特征
设备根据数据包的源IP地址、计算机名、源MAC地址来标识用户。
优点:终端用户上网认证的过程是透明的,不会感知设备的存在。
一般适用于对认证要求不严格的场景
配置思路
1、 首先为办公区的用户建一个用户组,在【用户认证与管理】-【用户管理】-【组/用户】中,点新增,选择【组】,定义组名:IT部
2、新增【认证策略】,选择认证方式为不需要认证,不绑定任何地址
3、【认证后处理】-【非本地/域用户使用该组上线】:IT部
效果
IT部员工通过设备上网时,【在线用户管理】可以看到用户已在上线
IP/MAC绑定认证
需求二:
办公区用户不允许私自修改IP地址,否则禁止上网
需求分析
问题一:
数据包经过二层交换机转发后,数据包的源MAC地址会不会变化?
数据包经过三层交换机转发后,数据包的源MAC地址会不会变化?
经过路由器时:
源目ip不改变,目的IP地址不变,源mac为当前路由器的接口mac,目的mac为下一跳接口的目的mac。
理解:在数据进行传输时,数据链路层的MAC地址改变,网络层的原IP地址和目的IP地址不变。MAC地址是为了进行数据传输,IP地址是为了确认目的主机。如果IP地址改变则目的主机改变无法进行正常通信。如果MAC地址不改变无法进行正常的分组转发算法。数据无法流通。
经过二层交换机时:
当数据经过二层交换机时,在整个链路的数据传输过程当中,源IP、目的IP、源MAC、目的MAC地址都不改变。
理解:二层交换机没有mac地址,交换时,不改变帧的源地址和目的地址,直接根据查找表的目的地址及端口将帧发送即可。
- 交换机基于数据帧的MAC地址转发数据帧,路由器基于数据包的IP地址转发数据包
- 数据包在传输过程不变,过网络设备数据帧要用新的物理层地址重新封装
- MAC地址决定了数据帧下一跳哪个设备接收,而IP地址决定了数据包的起点和终点
问题二:
我们如何能获取到终端的真实IP/MAC表项呢?
获取ARP表,通过SNMP协议获取真实ARP表格
SNMP协议
SNMP是基于TCP/IP协议族的网络管理标准,是一种在IP网络中管理网络节点(如服务器、工作站、路由器、交换机等)的标准协议。
SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了“读”操作;管理员需要向设备执行设置操作,所以SNMP提供了“写”操作;设备需要在重要状况改变的时候,向管理员通报事件的发生,所以SNMP提供了“Trap”操作。
在具体实现上,SNMP为管理员提供了一个网管平台(NMS),又称为管理站,负责网管命令的发出、数据存储、及数据分析。被监管的设备上运行一个SNMP代理(Agent)),代理实现设备与管理站的SNMP通信。
SNMP能够使网络管理员提高网络管理效能,及时发现并解决网络问题以及规划网络的增长。网络管理员还可以通过SNMP接收网络节点的通知消息以及告警事件报告等来获知网络出现的问题。
SNMP协议数据单元
SNMP规定了5种协议数据单元PDU(也就是SNMP报文),用来在管理进程和代理之间的交换。
get-request操作:从代理进程处提取一个或多个参数值。
get-next-request操作:从代理进程处提取紧跟当前参数值的下一个参数值。
set-request操作:设置代理进程的一个或多个参数值。
get-response操作:返回的一个或多个参数值。
trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生。
MIB库
管理信息库MIB:任何一个被管理的资源都表示成一个对象,称为被管理的对象。
每个OID(Object IDentification)都对应一个唯一的对象
MIB是被管理对象的集合。它定义了被管理对象的一系列属性:对象的名称、对象的访问权限和对象的数据类型等。
工作原理
1、用户上网的数据经过三层交换机会在交换机上形成ARP表
2、上网的数据经过AC时,AC看到数据包的源MAC地址都是三层交换机的MAC,于是AC会主动通过SNMP协议去读取三层交换机的ARP表(要在三层交换机上先设置允许AC访问其SNMP服务)
3、AC会将读取到的ARP条目和AC设备里面绑定的IP/MAC条目进行对比
4、如果比对结果一致,则允许上网,否则丢弃数据包禁止上网
配置思路
1、 首先为办公区的用户建一个用户组,在【用户认证与管理】-【用户管理】-【组/用户】中,点新增,选择【组】,定义组名:办公区
2、新增【认证策略】,选择认证方式为:不需要认证
3、【认证后处理】-【非本地/域用户使用该组上线】选择:办公区
4、勾选【自动录入绑定关系】-【自动录入IP和MAC的绑定关系】
三层网络环境下特别注意,需要开启以下功能:
5、配置【认证高级选项】-【跨三层取MAC】
(注意:要在三层设备上设置允许AC访问其SNMP服务器)
效果
(1)【系统管理】—【在线用户管理】可以看到用户认证上线的身份。
(2)【用户管理】—【IP/MAC绑定】可以查看到IP和MAC绑定成功。
密码认证
需求三:
公共上网区则需要输入账号和密码才能上网,确保网络行为能跟踪到
当用户首次上网时,会要求用户提交用户名密码信息,如果用户提交的用户名密码信息和本地(或第三方服务器)一致,则给予认证通过。
一般适用于对认证要求严格,希望上网日志记录具体的帐号,或希望和客户现有的第三方服务器结合认证的场景。
需求分析
首先我们以访问www.qq.com为例,回顾一下密码认证的数据流过程
第一步:PC先进行www.qq.com DNS解析域名过程
第二步:PC向解析出的www.qq.com服务器地址发起tcp三次握手
第三步:PC向www.qq.com 服务器发出GET请求,请求主页
第四步:AC拦截PC的GET请求,并把AC自己伪装成服务器(用腾讯服务器的IP给PC发包),给PC回复HTTP 302 Moved Temporarily ,要求PC重定向请求以下URL
http://10.1.3.4:80/ac_portal/proxy.html?template=default&tabs=pwd&vlanid=0&url=http://www.qq.com%2f
其中10.1.3.4就是AC设备的LAN IP、网桥IP或者虚拟IP
第五步:PC自动重定向访问AC的认证界面,输入正确的账号密码,登录成功
配置思路
1、 首先为办公区的用户建一个用户组,在【用户认证与管理】-【用户管理】-【组/用户】中,点新增,选择【组】,定义组名:公共区
2、新增用户,设置本地密码
3、新增【认证策略】,选择认证方式为密码认证
4、【认证高级选项】-【其他选项】勾选【未认证或被冻结时允许访问DNS服务】
效果
1、用户去上网的时候,打开网站,重定向到认证界面
2、输入用户名和密码,用户验证完成之后,在在线用户管理里面可以看到这个用户已经成功上线
注意事项
1、如果在认证后处理,需要用户绑定了mac地址的时候,需要注意内网是否为三层环境,如果是,则需要启用跨三层mac地址识别
2、如果内网是DHCP的场景,不要勾选绑定IP地址
打开HTTPS的网站也要
3、如果用户能跳转到认证页面,需要在【认证选项】勾选以下选项:
外部认证
功能介绍
SANGFOR AC/SG的外部认证,也称为第三方认证。用户的账号密码信息保存在第三方服务器上,AC/SG将用户提交的用户名密码信息转给第三方认证服务器校验,通过第三方服务器返回的认证成功与否的信息,决定是否通过AC/SG的认证,这个过程称为AC/SG的外部认证。
认证过程
1、 PC向AC/SG提交用户名密码信息
2、 AC/SG判断为外部认证,并把用户名密码信息发给外部认证服务器校验
3、 外部认证服务器校验后,向AC/SG发送认证失败或成功的消息
4、 AC/SG根据外部认证服务器返回的消息,确定是否让该PC通过认证。
5、 PC通过认证后,就可直接访问公网了
认证条件
1.认证策略中,认证方式选择“密码认证,认证服务器选择“第三方服务器”
- 认证高级选项,未启用“DKEY”。
配置
1、选择需要新增的外部认证服务器类型【LDAP, RADIUS, POP3服务器】
2、设置外部认证服务器的通信方式,IP,端口等
案例
某公司内网有一台AD域服务器,域名为mengxuan.com,服务器IP地址为172.16.100.203。
要求内网用户上网时使用域帐号和密码来通过AC设备的认证才可以上网。
配置思路
1、新建外部认证服务器,设置AD域服务器信息。
测试有效性—账户有效性:可以通过此功能测试域账号的有效性,如上既测试了域的管理员账号administrator是否有权限读取域的组织结构,又测试了域的用户support1账号密码是否正确。
2、新建认证策略,选择“密码认证”认证服务器选择上面创建好的服务器。
终端电脑输入域帐号通过AC认证,即可访问外网。