提示
X
本案例来自tskb,请前往tskb修改源内容:立即前往
'>

【SSL】Sradius结合数据库认证提示密码错误——未启用加密

|

问题描述

SSL设备与oracle数据库通过sradius结合进行认证, 测试登录却提示密码错误

处理过程

1、在Sradius服务器上查看认证日志,提示密码不匹配

2、通过Sradius认证对比密码的脚本来分析
①停止Sradius服务

②将附件中的对比密码的脚本mod_ado.dll复制到Sradius安装目录


③启动Sradius服务

④重新登录测试,并查看日志如下,新增了数据库里查询到的密码显示
如上图,服务器上的密码和用户提交的密码明显不一样,经确认服务器上的密码是MD5 32位大写加密的
而Sradius并没有开启加密功能

根因

数据库里存储的密码启用了MD5 32位大写加密,Sradius未开启加密功能导致密码不匹配从而认证不通过

解决方案

1、修改Sradius安装目录下配置文件sradius.ini,在里面修改 EnableTcc字段,默认是0改成
EnableTcc=1,打开MD5加密功能

2、配置MD5加密算法
修改Sradius安装目录的preauth.c文件,根据不同加密方式配置,此问题是md5 32位大写加密方式
preauth.c中默认是md5 16位加密,原始代码如下:
md5 32位大写加密代码如下
strupr(npass);是大写的意思,修改为strlwr(npass);则是小写
修改完后重启服务生效,点击停止然后启动

3、修改完成之后,认证成功
认证成功的日志如下:

建议与总结

Sradius支持的加密方式只有md5 16位/32位  大小写,其他加密算法不支持

Sradius认证对比密码脚本.rar

10.6 KB, 下载次数: 60

新手626351 发表于 2023-6-9 08:55
  
有助于工作学习!!!!!!

我要分享
文档编号: 54355
作者: sangfor_2188
更新时间: 2018-09-23 21:58
适用版本: