用户认证技术

Posted 坏坏-5

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户认证技术相关的知识,希望对你有一定的参考价值。

用户和用户组管理

  • 组织结构为用户和用户组的所属层级关系
  • 用户组可以对一组具有相同权限的用户进行统一管理
  • 功能解释
    • 【限制在以下地址范围内登录】
      • 指的是账号只能在设置地址范围的终端上登录,其它账号也可以在这些地址上登录
    • 终端绑定(用户绑定)
      • 被绑定的地址只能在此账号登录,用户同时可以绑定多终端,可以用于免认证
  • 用户注销
    • 使用用户名+密码登录的用户,可以强制注销用户
      • 临时用户、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是被管理对象的合集,定义了被管理对象的一系列属性:对象的名称、对象的访问权限和对象的数据类型

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

  • 工作原理
    • 用户上网的数据经过三层交换机,会在三层交换机上形成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中的内容

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

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

  • HTTP头部

  • 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 用户身份验证实验】


以上内容均属原创,如有不详或错误,敬请指出。
本文作者: 坏坏 本文链接: http://t.csdn.cn/hRgYx 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请联系作者注明出处并附带本文链接!

以上是关于用户认证技术的主要内容,如果未能解决你的问题,请参考以下文章

Lighttpd配置用户认证

Kafka 认证一:PlainLoginModule 认证及 Java 连接测试

Kafka 认证一:PlainLoginModule 认证及 Java 连接测试

通过微信扫码登录剖析 oauth2 认证授权技术

通过微信扫码登录剖析 oauth2 认证授权技术

#私藏项目实操分享#权限设计系列「认证授权专题」微服务架构的登陆认证问题