跟现场确认,现场认证的账号是从通用LDAP服务器同步过来的,配置的是PEAP-GTC认证。让现场反馈认证时的UAM调试日志和抓包;首先分析UAM调试日志如下:

%% 2017-12-05 16:04:30.091 ; [LDBG] ; [11196] ; LAN ; 2017011@****.cn ; 1 ; 1593b1277566447c9b5a93c04581609c ; Received message from 10.252.11.84:

CODE = 1.///认证请求报文

ID = 168.

ATTRIBUTES:

User-Name(1) = "2017011@****.cn".

Service-Type(6) = 2.

Framed-Protocol(7) = 1.

NAS-Identifier(32) = "AC".

NAS-Port(5) = 33.

NAS-Port-Type(61) = 19.

NAS-Port-Id(87) = "VLANID=33;".

Calling-Station-Id(31) = "80-19-34-27-F8-1C".

Called-Station-Id(30) = "AC-74-09-67-**-**:eduroam".

Acct-Session-Id(44) = "00000004201712051603160000009016100482".

HW_NEW_USER_ATTRIBUTE_NAME(133) = "".

EAP-Message(79) = "02020019013230313730313140666a74636d2e6564752e636e".///01表示上传用户名

服务器随后根据服务器侧配置的接入策略名查询,发现该用户需要进行PEAP认证,并回应终端认证challenge。

%% 2017-12-05 16:04:30.092 ; [LDBG] ; [11164] ; EAP ; EapProc.handlr: outer fndEapType[2017011@fjtcm.edu.cn,80:19:34:27:F8:1C,eduroam], eaptype:25, adaptmode:3.///25表示PEAP;

随后终端发起PEAP证书认证,并开始创建TLS隧道

%% 2017-12-05 16:04:30.097 ; [LDBG] ; [11196] ; LAN ; 2017011@****.cn ; 1 ; 94ebab3c17f14fb985df5662eabc9689 ; 917817df]......= ; Received message from 10.252.11.84:

CODE = 1.

ID = 169.

ATTRIBUTES:

User-Name(1) = "2017011@****.cn".

Service-Type(6) = 2.

Framed-Protocol(7) = 1.

NAS-Identifier(32) = "AC".

NAS-IP-Address(4) = 184290132.

NAS-Port(5) = 33.

NAS-Port-Type(61) = 19.

NAS-Port-Id(87) = "VLANID=33;".

Calling-Station-Id(31) = "80-19-34-27-F8-1C".

Called-Station-Id(30) = "AC-74-09-67-**-**:eduroam".

Acct-Session-Id(44) = "00000004201712051603160000009016100482".

HW_NEW_USER_ATTRIBUTE_NAME(133) = "".

EAP-Message(79) = "0203006d198000000063160301005e0100005a03015a26530e88ffb6082c3a7b198d6713a8838cf5c9f4fb24607bd5a57b37d0286e000018c014c0130035002fc///19表示PEAP认证

经过一系列报文交互,两端成功建立隧道。

%% 2017-12-05 16:04:30.161 ; [LDBG] ; [11180] ; EAP ; EapTlsAuth.procEapTls: end with OK - Received tunneled data after successful handshake.

两端隧道建立完成后接下来需要在隧道内协商第二阶段的认证类型,服务器侧根据配置查询到用户需要进行GTC认证,具体如下

%% 2017-12-05 16:04:30.161 ; [LDBG] ; [11180] ; EAP ; EapProc.handlr: inner fndEapType[2017011@****.cn,80:19:34:27:F8:1C,eduroam,tunnel:1], eaptype:25-[6].///6表示第二阶段采用GTC认证;

随后开始GTC的认证过程

%% 2017-12-05 16:04:30.161 ; [LDBG] ; [11180] ; EAP ; gtc.StartEap: Begin.

%% 2017-12-05 16:04:30.161 ; [LDBG] ; [11180] ; EAP ; gtc.StartEap: EAP-type [25-1].

%% 2017-12-05 16:04:30.161 ; [LDBG] ; [11180] ; EAP ; EapAuth.creatChalenge: Begin.

但是在随后的协商过程中,EIA将用户的认证类型由6切换成26,26表示走MSchapv2认证。原因是终端在认证过程中不同意服务器侧指定的GTC认证,于是返回了NAK(3),并指定了新的认证类型MSchapv2(26),具体如下面的日志。

%% 2017-12-05 16:04:30.165 ; [LDBG] ; [11160] ; EAP ; EapProc.handlr: eap-type 3, vendor-id 25506, login-name .///3表示不同意走GTC认证,随后选择了MSchapv2认证

%% 2017-12-05 16:04:30.165 ; [LDBG] ; [11160] ; EAP ; EapProc.handlr: no username in radius.

%% 2017-12-05 16:04:30.165 ; [LDBG] ; [11160] ; EAP ; EapProc.typeSelect: Begin.

%% 2017-12-05 16:04:30.165 ; [LDBG] ; [11160] ; EAP ; EapProc.typeSelect: EAP type shifted from 6 to 26.///26表示MSchapv2认证。

EIA将认证类型由6切换成26的原因是PC自带客户端不支持GTC认证,而服务器侧配置的EAP自协商又是启用状态,导致两端最后协商出来的类型是MSchapv2.

MSchapv2认证的情况下,EIA侧发现用户密码错误,随后拒绝用户认证,并提示密码错误。

%% 2017-12-05 16:04:30.180 ; [HINT] ; [11176] ; EAP ; MsChapV2.doMSChap: not getting through.

%% 2017-12-05 16:04:30.180 ; [ERR] ; [11176] ; EAP ; mschapv2.authn: MS-CHAP2-Response is incorrect, maybe due to wrong password.

终端切换到MSchapv2认证以后,由于此时密码加密不再可逆,此时就需要EIA可以从open ldap侧同步到明文密码,然后按照MSchapv2的加密方式加密后比对密文,但是现场通过抓包发现EIA成从open ldap服务器同步到的密码是经过SSHA加密的,此时EIA从终端和openldap服务器侧分别取到了两种经过不同加密方式加密的密文,自然无法比对密码,导致用户认证失败。手机端用该账号之所以可以上线是因为手机支持GTC认证,而GTC加密属于可逆加密,对于这种可逆加密的情况,EIA是可以成功比对密码的。同理本地账号可以通过认证也是因为EIA可以取到本地账号的明文密码。

最终可以得出结论:

PC端认证失败的原因是因为PC端不支持GTC认证且EIA无法从openldap获取明文密码;

LDAP服务器不支持chap认证,终端使用EIA进行PEAP-GTC认证失败的原因分析相关推荐

  1. 服务器装系统引导进去系统usb失灵,重装win7后usb全部失灵原因分析以及解决方法(完美解决)...

    [文章导读]最近有很多网友问,为什么我电脑重装win7后usb键盘鼠标都失灵不能用了?大家都知道,win10系统虽然发布了几年,但是由于Win7的习惯留住了不少Win7忠实用户,因此Win7系统的使用 ...

  2. 部署在SAP ABAP服务器上的SAP UI5应用,从bsp redirect(重定向)到ui5_ui5的原因分析

    Created by Jerry Wang on Aug 04, 2014 在浏览器中访问https:///sap/bc/bsp/sap/mymap/webcontent/index.html?sap ...

  3. mongodb服务器重启失败的原因分析

    一.可能是因为机器重启后,导致/var/run 下面的mongodb目录被删除了. 要重新新建这个目录 cd /var/run mkdir mongodb 然后授权成mongod用户 chown mo ...

  4. 无线ldap认证服务器,结合LDAP服务器进行portal认证配置案例

    查看LDAP服务器 首先登录LDAP服务器,可以看到h3c.com下有一个组织单元"工程部",其下有两个用户"gongcheng01"和"gongch ...

  5. ldap统一用户认证php,针对LDAP服务器进行身份认证

    Symfony提供了不同的方法来配合LDAP服务器使用. Security组件提供: ldap user provider,使用的是 form_login_ldap authentication pr ...

  6. 无线控制需要服务器,H3C无线控制器与LDAP服务器配合进行远程Portal认证可以做么?...

    您好,请知: 可以的,以下是配置举例,请参考: 如图1所示组网,AP和Client通过DHCP服务器获取IP地址,要求:配置AC对无线用户进行本地Portal认证,并采用LDAP服务器对用户进行远程A ...

  7. 虚拟ldap服务器,ldap服务器 客户端配置

    ldap服务器 客户端配置 内容精选 换一换 云桌面支持通过瘦终端(TC).软终端(中标麒麟.UOS.Windows 7和Windows 10操作系统)以及浏览器方式接入,多种登录方式可让您灵活存取文 ...

  8. 搭建LDAP服务器详细流程

    LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务.目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索 ...

  9. 使用PHP连接LDAP服务器

    本文将演示如何使用PHP连接一个LDAP服务器.具体的例子是连接到一个公共的LDAP服务器并且进行搜索.这个例子模拟的是Netscape Communicator 4.*,通过自己的地址本连接到LDA ...

最新文章

  1. 俄罗斯、乌克兰程序员薪资大曝光!年薪普遍 15w+,女程序员比男程序员收入高?...
  2. 机器学习嵌入式实现_机器学习中的嵌入
  3. 站在巨人肩上的.NET Core 2.1
  4. Spark 报错 : Error: bad symbolic reference. A signature in SparkContext.class refers to term conf
  5. [转载] 希腊字母读音表
  6. json c语言 数组转字符串数组中,json和字符串/数组/集合的互相转换の神操作总结...
  7. 基于matlab的2ask频带传输系统仿真与性能分析,基于MATLAB的2ASK频带传输系统仿真与性能分析汇总...
  8. elk错误:Too Many Requests
  9. ARM Linux启动分析----head-armv.S内幕
  10. java编程基本基本框架_盘点Java编程中常用的框架
  11. 虚拟现实未来前景无限
  12. Python模拟登陆强智教务以及使用(持续更新中)
  13. 电脑误删分区如何恢复?图文详解
  14. TP-link二级路由器配置
  15. 产品读书《数字化生存》
  16. PS按照图片大小调整画布大小
  17. Hadoop之HDFS01【介绍】,字节跳动解决方案架构师
  18. selenium:定位一闪而过的弹窗
  19. 我爸的电脑中了勒索病毒……
  20. 数据库的增删查改(全部重点知识一篇整合,包括数据库查询的进阶内容)

热门文章

  1. 关于文本编辑器的一点思考
  2. PingCAP 完成 D 轮 2.7 亿美元融资,创造全球数据库历史新的里程碑
  3. 怎么才能做好一套软件系统
  4. Interop type 'Microsoft.Office.Interop.Word.ApplicationClass' cannot be embedded. Use the applicable
  5. 买房子了~128.41平方哦`
  6. IB学生必看书单Purple Hibiscus
  7. 软考java题目_软件工程软考题目总结
  8. 算法与数据结构+LeetCode题解-Js版
  9. vue3.0父传子,父传孙,子传孙,孙传父,孙传子的传值
  10. 实现苹果和虫子(c语言)