• 用户认证技术


    用户和用户组管理

    • 组织结构为用户和用户组的所属层级关系
    • 用户组可以对一组具有相同权限的用户进行统一管理
    • 功能解释
      • 【限制在以下地址范围内登录】
        • 指的是账号只能在设置地址范围的终端上登录,其它账号也可以在这些地址上登录
      • 终端绑定(用户绑定)
        • 被绑定的地址只能在此账号登录,用户同时可以绑定多终端,可以用于免认证
    • 用户注销
      • 使用用户名+密码登录的用户,可以强制注销用户
        • 临时用户、Dkey用户、无需认证用户不能被强制注销
      • 可以选择在无流量时强制注销用户,对所有的用户生效
      • 可以选择每天强制注销,并且可以设置注销时间
      • 设置认证页面关闭时自动注销
      • 设置MAC地址变更时自动注销
    • Dkey用户相当于需要安全狗才能连接互联网
    • 无需认证的用户也是需要认证的,只是将IP地址与MAC地址绑定,用户不能更改IP地址等方式进行认证

    不需要认证技术

    • 认证方式
      • 不需要认证
        • AC也需要记录管理用户身份,但是用户不需要输入任何信息
        • 可以使用IP地址、MAC地址、计算机名等来跟踪用户身份
      • 密码认证
        • 本地密码认证:可以使用AC本地的用户名和密码认证
        • 第三方服务器密码认证:可以使用Radius服务器,来进行远程统一的集中认证
        • 短信认证:短信验证码认证
        • 微信认证:绑定微信账号认证
        • 二维码认证:扫码认证上网
      • Dkey认证
        • 类似网银的U盘,其中有证书信息,使用证书信息进行登录认证
      • 单点登录
        • 使用第三方服务器进行自动登录
        • 使AC和域控制器进行对接,登录到域后,即可以自动登录网络
      • 不允许认证(禁止上网)
    • AC可以通过抓取数据包,根据数据包的源IP地址、源MAC地址来获得上网用户的IP地址和MAC地址,通过NETBIOS协议获得用户的计算机名

    IP/MAC绑定认证技术

    • 将IP地址与MAC地址进行绑定,使得用户不能更改IP地址,即可进行身份验证
      • 但是数据包经过三层转发, 到达AC设备后,源MAC地址就会改变

    SNMP协议

    • 基于TCP/IP协议族的网络管理标准,可以在IP网络中管理网络节点
    • 工作方式
      • 管理员需要向设备获取数据,SNMP提供读操作
      • 管理员需要向设备执行设置操作,SNMP提供写操作
      • 设备在重要状况改变时,需要向管理员通报事件的发生,SNMP提供Trap操作
    • SNMP协议可以读取主机网关设备的ARP表项,这样就可以获取到主机的真实MAC地址
    • 管理信息MIB
      • 任何一个被管理的资源都表示成为一个对象
      • 每个OID(Object IDentification)都对应一个唯一的对象
      • MIB是被管理对象的合集,定义了被管理对象的一系列属性:对象的名称、对象的访问权限和对象的数据类型

    image.png

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

    image.png

    • 工作原理
      • 用户上网的数据经过三层交换机,会在三层交换机上形成ARP表
      • 上网数据到达AC时,AC检查数据包的源MAC地址,发现是三层交换机的MAC地址,于是AC通过SNMP协议主动读取三层交换机的ARP表项
        • 交换机上需要配置开启SNMP,并且允许AC访问SNMP服务
      • AC将读取到的ARP表项与AC中绑定的IP/MAC表项进行对比
        • 对比结果一致,则允许上网
        • 对比结果不一致,直接丢弃数据包,不允许上网
      • 当有多层三层交换机的情况下,每个交换机都需要开启SNMP协议,AC获取与PC直连的交换机的ARP表项,MAC地址排除列表中排除与AC直连的交换机接口的MAC地址
    • 如果使用的是30位掩码的网络环境中,此时只有两个IP可用,AC再需要通过SNMP获取MAC地址,只能通过管理口连接交换机获取

    密码认证技术

    • 需求场景
      • 当用户首次上网时,会要求用户提交用户名和密码信息,只有当用户提交的用户名和密码信息与本地或第三方服务器一致时,才可以上网
    • 工作原理
      • AC通过抓取客户端上网的GET请求包,通过请求包中的Host字段,获得客户端想要访问的服务器域名
      • AC伪装成Web服务器,向客户端发送302重定向消息,重定向到密码认证界面

    HTTP协议

    • 超文本传输协议(Hyper Text Transfer Protocol)
      • 包含超链接和各种多媒体元素标记的文本。最常见的超文本格式是HTML
      • URL(Uniform Resource Locator)即统一资源定位符,用来唯一标识万维网中的某一个文档
        • 由协议、主机、端口号(默认80)以及文件名组成
    • 工作原理
      • 用户点击http://www.qq.com/index/html后,浏览器分析超链接中的URL
      • 浏览器向DNS服务器请求解析 http://www.qq.com的IP地址
      • DNS将解析出来的IP地址(222.246.129.80)返回给浏览器
      • 浏览器与服务器建立TCP连接,默认是80端口
      • 浏览器请求文档:GET /index.html
      • 服务器给出响应,将文档index.html发送给浏览器
      • 释放TCP连接
      • 浏览器显示index.html中的内容

    image.png

    • HTTP请求方法
      • 方法是对所求请对象所进行的操作,即一些命令

    image.png

    • GET:一般是读取
    • POST:一般是提交数据给服务器
    • HTTP响应
      • 响应报文中的状态码:是响应报文状态行中包含的一个3位数字,指明特定的请求是否被满足,如果没有满足,具体原因是什么

    image.png

    • HTTP头部

    image.png

    • GET / HTTP/1.1字段:请求获取页面
    • Host字段:客户端请求访问的网站的URL地址
    • Connection字段:每请求一个页面会进行一次三次握手,获得页面或,就会断开TCP连接,此字段如果是keep-alive,则表明在一个限定的时间内,不会断开TCP连接,只有超时后,才会断开TCP连接
    • User-Agent字段:浏览器标识(包括操作系统标识、加密等级标识、浏览器语言)渲染引擎标识版本信息
    • Server字段:响应头包含处理请求的原始服务器的软件信息
    • Referer字段:浏览器向Web服务器表明自己是从哪个网页(URL)获得(点击)当前请求中的网址(URL)
    • Cookie字段:客户端访问服务器时,服务器会随机分配一个cookie用来标识主机身份。当客户端第二次再访问服务器时,服务器就可以直接通过cookie识别客户端身份
    • HTTP重定向的Location字段:Web服务器告诉浏览器,试图访问的对象已经被移到别的位置了,到该头部指定的位置去取、
    • 密码认证过程分析
      • 浏览器访问http://www.qq.com,PC先向DNS服务器进行域名解析请求,获取域名对应的IP地址
      • PC向解析出的IP地址发起TCP三次握手请求
      • PC向服务器发送GET请求,请求主页
      • AC拦截PC的GET请求,把自身伪装成服务器,使用服务器的IP地址进行回复重定向报文(HTTP 302 Moved Temporal),使PC重定向到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
        • 最后的http://www.qq.com表明认证成功后,跳转至之前访问的页面
      • PC会自动重定向访问AC的密码认证界面
    • 重定向
      • 虚拟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口重定向)

    外部认证技术

    • 也称为第三方认证。即用户名和密码信息保存在第三方服务器上,AC/SG需要将用户提交的用户名密码信息转交给第三方认证服务器校验,通过第三方服务器返回的认证成功与否的信息,决定是否通过过AC/SG的认证
    • AC/SG支持的第三方认证服务器
      • LDAP认证:Microsoft AD、Open LDAP、Sun LDAP、IBM LDAP、Lotus LDAP、Novell LDAP
      • Radius认证
      • POP3认证
    • 外部认证过程
      • PC向AC/SG提交用户名和密码信息
      • AC/SG判断为外部认证,并把用户名和密码信息发给外部认证服务器校验
      • 外部认证服务器校验后,向AC/SG发送认证失败或成功的消息
      • AC/SG根据外部认证服务器返回的消息,确定是否让该PC通过认证
      • PC通过认证后,即可访问互联网
    • 如果客户的域环境是独立域,添加外部认证服务器时,认证端口填写389
    • 如果是父子域,如父域sangfor.com,子域ac.sangfor.com,ssl.sangfor.com等,则外部认证服务器配置的是父域的地址,且端口需要填3268

    【AC 用户身份验证实验】


    以上内容均属原创,如有不详或错误,敬请指出。
    
    • 1
  • 相关阅读:
    Selenium+Python系列 - 开发环境搭建
    mysql高手进阶优化篇
    Python:实现factorial recursive阶乘递归算法(附完整源码)
    金仓数据库KStudio使用手册(3. 数据库管理)
    数据可视化在商业领域有哪些重要性?
    2.1、基于并行上下文注意网络的场景文本图像超分辨率(代码理解与实验进度+报告)
    livekit 简单上手教程
    致敬最美抗击疫情的逆行者 DIV布局大学生抗疫感动专题网页设计作业模板 疫情感动人物静态HTML网页模板下载
    【VUE3】setup语法糖使用记录
    unable to access xxxx: Failed to connect to xxxx
  • 原文地址:https://blog.csdn.net/qq_45668124/article/details/125461093