3.3 用户认证技术
3.3.1 用户和用户组管理
用户和用户组管理
组织结构
• 组织结构即为用户和用户组的所属层级关系。
• SANGFOR AC 提供树形的组织结构,通过树形用户结构管理,符合企业的人员结构划分, 同时又可以对相同的上网策略进行继承。一个用户有一个直属父组。
• 通过此章节学习,我们将了解用户和组的添加,编辑,移动和删除等操作。
【用户管理】-【组/用户】:可以查看、新增、删除用户/组信息

【限制在以下地址范围内登录】:指的是账号只能在设置地址范围的终端上登录,其它账号也可以在这 些地址上登录。

终端绑定(用户绑定):绑定时定义【绑定目的】和【绑定对象】及【绑定有效期】

手动添加用户
可以一次新建一个用户或组,也可以一次新建多个组,添加多个组时,名称用英文逗号隔开

批量导入用户
如果用户和组太多,可以将用户和组格式做成csv表格,一次性导入设备

认证策略自动添加用户
如果只添加用户,且认证方式为不需要认证,单点登录,也可以通过认证策略自动添加新用户

用户和用户组搜索
【高级搜索】:可以根据指定的查询条件来搜索特定的用户

用户如何注销
-
在【在线用户管理】中强制注销在线用户 (临时用户、Dkey用户、不需要认证的用户无法被强制注销)
-
在【认证高级选项】-【认证选项】中选择【自动注销无流量的用户】 (对所有用户生效)
-
在【认证高级选项】-【认证选项】中设置【每天强制注销所有在线用户】,并设置注销时间 (对所有用户生效)
-
设置认证页面关闭时自动注销
-
设置MAC变动时自动注销
3.3.2 不需要认证技术
案例背景:
要求实现:
1、IT部电脑IP不固定,认证不受限制
2、办公区用户不能修改IP地址上网
3、公共上网区则需要输入账号和密码才能上 网, 确保网络行为能跟踪到

认证框架

需求背景
需求一: IT部电脑IP不固定,认证不受限制

数据包特征信息
•设备根据数据包的源IP地址、计算机名、源MAC地址来标识用户。
• 优点:终端用户上网认证的过程是透明的,不会感知设备的存在。
• 一般适用于对认证要求不严格的场景

不需要认证配置思路
1、 首先为办公区的用户建一个用户组,在【用户认证与管理】-【用户管理】-【组/用户】中,点新增 ,选择【组】,定义组名:IT部
2、新增【认证策略】,选择认证方式为不需要认证,不绑定任何地址
3、【认证后处理】-【非本地/域用户使用该组上线】:IT部
不需要认证效果展示
IT部员工通过设备上网时,【在线用户管理】可以看到用户已在上线

3.3.3 IP/MAC绑定认证技术
需求背景:
需求二: 办公区用户不允许私自修改IP地址, 否则禁止上网

需求分析
问题一: 数据包经过二层交换机转发后,数据包的源MAC地址会不会变化?
问题二: 数据包经过三层交换机转发后,数据包的源MAC地址会不会变化?
问题三: 我们如何能获取到终端的真实IP/MAC表项呢
SNMP协议概述
SNMP是基于TCP/IP协议族的网络管理标准,是一种在IP网络中管理网络节点(如服务器、工作站、路 由器、交换机等)的标准协议。

MIB库
管理信息库MIB:任何一个被管理的资源都表 示成一个对象,称为被管理的对象。
每个OID(Object IDentification)都对应一 个唯一的对象

OID值

SNMP协议数据单元
SNMP规定了5种协议数据单元PDU(也就是SNMP报文),用来在管理进程和代理之间的交换。
get-request操作:从代理进程处提取一个或多个参数值。
get-next-request操作:从代理进程处提取紧跟当前参数值的下一个参数值。
set-request操作:设置代理进程的一个或多个参数值。
get-response操作:返回的一个或多个参数值。
trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生

SNMP协议数据包
通过Wirehsark捕获SNMP交互过程

工作原理

思考
多个三层交换机的情况下如何获取?

配置思路
1、 首先为办公区的用户建一个用户组,在【用户认证与管理】-【用户管理】-【组/用户】中,点 新增,选择【组】,定义组名:办公区
2、新增【认证策略】,选择认证方式为:不需要认证
3、【认证后处理】-【非本地/域用户使用该组上线】选择:办公区
4、勾选【自动录入绑定关系】-【自动录入IP和MAC的绑定关系】
三层网络环境下特别注意,需要开启以下功能:
5、配置【认证高级选项】-【跨三层取MAC】 (注意:要在三层设备上设置允许AC访问其SNMP服务器)
效果展示
(1)【系统管理】---【在线用户管理】可以看到用户认证上线的身份。

(2)【用户管理】---【IP/MAC绑定】可以查看到IP和MAC绑定成功。

思考总结
如果以设备网桥模式部署在30位掩码的网络环境中如何获取交换机的ARP表?
防火墙和交换机启30位掩码的地址,我们的AC网桥将不可用,需要和交换机通过snmp取mac需 要用管理口
为什么此时网桥不能用?
30位掩码下的整个网络环境,只有两个可用IP
AC是网桥模式部署,所以AC上下的设备都得分配IP,此时AC分配不到IP,处于无IP网桥模式,因 此要用管理口来另接交换机(此时交换机上也要进行配置网口与AC的管理口对接)
IP/MAC绑定失败?
1、查看是否在【跨三层取MAC】中没有排除三层设备的MAC地址;
2、在【IP/MAC绑定】中,查看PC 的IP或MAC是否已经绑定了其他MAC或者IP(同时查看三 层设备的MAC是否被PC绑定了)

扩展延伸
跨三层识别方法一
抓取arp包或dhcp包获取MAC
通过镜像交换机arp或dhcp数据到设备 空闲口(作为镜像口)获取用户mac地 址。
实现方法一:在核心交换机上增加一个 trunk口,允许所有vlan, 把这个trunk 口连到AC空闲网口上。 这样可以把所有 广播包复制到AC上,包括ARP包和 DHCP的包。
实现方法二:镜像DHCP服务器接口进 出流量

跨三层识别方法二
抓取arp包或dhcp包获取MAC
这个方案有什么缺陷吗?
1.网关设备都在汇聚交换机,汇聚交换机和上网行为管理不在同机房,两机房是光纤互联 无法使用这个方案实现。
2.或者多个核心交换机都需要进行跨三层识别,此方案也无法实现,因为目前设备镜像口 只能设置一个。
3.3.4 密码认证技术
需求背景
需求三: 公共上网区则需要输入账号和密码才 能上网,确保网络行为能跟踪到

需求背景
当用户首次上网时,会要求用户提交用户名密码信息,如果用户提交的用户名密码信息和本地(或 第三方服务器)一致,则给予认证通过。
一般适用于对认证要求严格,希望上网日志记录具体的帐号,或希望和客户现有的第三方服务器结 合认证的场景。

HTTP协议简介

HTTP协议简介
什么是超文本(HyperText)?
包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成
网状 (Web),因此又被称为网页(Web Page)。这些链接使用URL表示。最常见的超文本格式是超
文本标记语 言HTML。
什么是URL?
URL即统一资源定位符(Uniform Resource Locator),用来唯一地标识万维网中的某一个文
档。URL由 协议、主机和端口(默认为80)以及文件名三部分构成。如:

什么是超文本传输协议HTTP?
是一种按照URL指示,将超文本文档从一台主机(Web服务器)传输到另一台主机(浏览器)的应
用层协议, 以实现超链接的功能
HTTP工作原理
请求/响应交互模型
Internet Web服务器 www.qq.com 客户机(浏览器) Index.html IP:222.246.129.80 在用户点击URL为 http://www.qq.com/index.html的链接后, 浏览器和Web服务器执行以下动作:
1 浏览器分析超链接中的URL
2 浏览器向DNS请求解析 www.qq.com的IP地址
3 DNS将解析出的IP地址 222.246.129.80返回浏览器 HTTP over TCP
4 浏览器与服务器建立TCP连接(80端口)
5 浏览器请求文档:GET /index.html
6 服务器给出响应,将文档 index.html 发送给浏览器
7 释放TCP连接
8 浏览器显示index.html中的内容

访问网站分析
第一步:浏览器分析超链接中的URL
第二步:DNS请求
PC向DNS服务器222.246.129.80发出DNS QUERY请求,请求www.qq.com的A记录

第三步:DNS回复
DNS服务器222.246.129.80回复DNS response,解析出www.qq.com域名对应的三条A记录59.37.96.63 、14.17.42.40/14.17.32.211

DNS的A记录:将主机名解析成对应的IP
第四步:PC向解析出的www.qq.com服务器地址发起tcp三次握手

第五步:PC向www.qq.com 服务器发出GET请求,请求主页

第六步:www.qq.com 服务器回应HTTP/1.1 200 OK,返回主页数据包

第七步:完成数据交互过程,四次挥手断开连接
HTTP请求方法
请求报文中的方法
方法(Method)是对所请求对象所进行的操作,也就是一些命令。请求报文中的操作有:

POST请求方法
POST - 向指定的资源提交要被处理的数据

HTTP响应
响应报文中的状态码
状态码(Status-Code)是响应报文状态行中包含的一个3位数字,指明特定的请求是否被满足,如果没有 满足,原因是什么。状态码分为以下五类:

HTTP头部
首部字段或消息头

UA字段
User-Agent: 浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识版本信息

SERVER字段
Server:响应头包含处理请求的原始服务器的软件信息

Referer字段
Referer:浏览器向 WEB 服务器表明自己是从哪个 网页/URL 获得/点击 当前请求中的网址/URL

HTTP重定向
Location:WEB 服务器告诉浏览器,试图访问的对象已经被移到别的位置了,到该头部指定的位置去取:

密码认证实战分析
首先我们以访问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://w ww.qq.com%2f 其中10.1.3.4就是AC设备的LAN IP、网桥IP或者虚拟IP
第五步:PC自动重定向访问AC的认证界面,输入正确的账号密码,登录成功
密码认证实战分析

密码认证配置思路
1、 首先为办公区的用户建一个用户组,在【用户认证与管理】-【用户管理】-【组/用户】中,点新 增,选择【组】,定义组名:公共区
2、新增用户,设置本地密码
3、新增【认证策略】,选择认证方式为密码认证
4、【认证高级选项】-【其他选项】勾选【未认证或被冻结时允许访问DNS服务】
密码认证效果展示
1、用户去上网的时候,打开网站,重定向到认证界面

2、输入用户名和密码,用户验证完成之后,在在线用户管理里面可以看到这个用户已经成功上线

密码认证思考总结
如果"密码认证页面"无法正常弹出,应该如何排查?
先确认网络环境,手动打开是否可以打开
1、网桥部署虚拟地址是否跟内网冲突,PC浏览器是否做了上网代理
2、AC下接的设备是否有做限制
3、需要启用未通过认证的用户允许访问dns服务
4、访问的如果是https的网站需要启用HTTPS请求未通过认证时,重定向到认证页面(代理时除外)
5、根据关联的上网策略不能拒绝http应用和dns应用
6、防火墙规则不能拒绝80和53端口【系统管理】-【防火墙】-【LAN-WAN】
重定向
虚拟IP重定向:
内网PC认证前的HTTP上网数据经过AC时,AC拦截并记录下数据包的源,目的IP,数据包 的封装类型,以及数据包进入AC时的接口。
AC回弹portal的重定向认证页面时,会将记录下来的数据包的源,目的IP反转,再从数据包进入的接口直 接发出去,其中数据包中的数据字段会替换成AC虚拟IP的重定向URL地址。(AC只在网桥模式下有虚拟 IP重定向)
DMZ口重定向:
内网PC认证前的HTTP上网数据经过AC时,AC拦截数据包,AC通过查找本身DMZ口的 路由表,将portal的重定向认证页面从DMZ口发出,其中数据包中的数据字段会替换成AC的DMZ口IP的 重定向URL地址。(一般用在无可用网桥IP时选择从DMZ口重定向)

密码认证注意事项
1、如果在认证后处理,需要用户绑定了mac地址的时候,需要注意内网是否为三层环境,如果是,则需 要启用跨三层mac地址识别
2、如果内网是DHCP的场景,不要勾选绑定IP地址
3、如果用户打开HTTPS的网站也要能跳转到认证页面,需要在【认证选项】勾选以下选项:

3.3.5 外部认证技术
外部认证功能介绍
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通过认证后,就可直接访问公网了

外部认证条件
满足如下两个条件的用户才会匹配外部认证流程:
- 认证策略中,认证方式选择"密码认证,认证服务 器选择"第三方服务器

- 认证高级选项,未启用"DKEY"。

外部认证服务器配置
1、选择需要新增的外部认证服务器类型【LDAP, RADIUS, POP3服务器】
2、设置外部认证服务器的通信方式,IP,端口等



LDAP认证配置思路
1、新建外部认证服务器,设置AD域服务器信息。
2、新建认证策略,选择"密码认证"认证服务器选择上面创建好的服务器
LDAP认证配置步骤
第一步:新建外部认证服务器,设置AD域服务器相关信息

LDAP认证配置步骤
测试有效性---账户有效性:可以通过此功能测试域账号的有效性,如上既测试了域的管理员账号 administrator是否有权限读取域的组织结构,又测试了域的用户support1账号密码是否正确

LDAP认证配置步骤
测试有效性---修改密码:如果域上的账号是允许修改密码的,可以直接通过 测试有效性修改密码,修改域上的账号密码。

注意:
如果客户的域环境是独立域,添加外部认证服务器时,认证端口填写389; 如果是父子域,如父域sangfor.com,子域ac.sangfor.com,ssl.sangfor.com等,则外部认证服务器配置的是父域的地址,且 端口需要填3268
LDAP认证配置步骤
第二步:新建认证策略,选择"密码认证" 。

LDAP认证配置步骤
终端电脑输入域帐号通过AC认证,即可访问外网。
