我必须设置一个RADIUS服务器,以便使用pfSense的专用门户进行身份验证。不幸的是,RADIUS数据库中的所有密码都使用某种算法进行散列。我确实使用了MySQL数据库。
由于用户将他们的密码以明文形式提交给RADIUS-服务器,我想知道我是否能够在RADIUS-服务器上散列提交的密码,然后检查用户名和散列密码的存在。
如果这是可以避免的,我不想在客户端散列密码。pfSense的专用门户是目前唯一使用RADIUS-服务器的应用程序。但是如果我想扩展我的基础设施,我必须在每个客户端上实现哈希算法。
一般来说,是否有可能这样修改RADIUS服务器?也许通过修改内核?不幸的是,我没有在数据库中查找提交的数据。
有人给我小费吗?我要找的地方?
(我确实使用了UbuntuServer12.04 x86、freeradius、freeradius)
发布于 2014-05-10 20:01:22
或者,如果您想要使用外部PHP脚本,可以将以下内容放入“授权”中:
authorize {
update {
Tmp-String-0 := `/usr/bin/php5 -f /path/to/cpauth.php '%{User-Name}' '%{User-Password}'`
}
if (Tmp-String-0 == 'Accept') {
update control {
Auth-type := Accept
}
}
else {
reject
}
}然后回音‘接受’或‘拒绝’。
发布于 2014-05-10 13:11:46
配置rlm_sql模块的实例。
向authorize {}添加一个查询以检索哈希密码。
update control {
<password-attribute> := "%{sql:SELECT password FROM foo_table WHERE user=%{User-Name}}"
}密码-属性可以是明文密码MD5-密码SMD5 5-密码SHA 2-密码SHA-密码SSHA-口令LM-Pasword NT-密码.
然后调用pap模块。pap模块应该将Auth-Type设置为pap,并对用户密码值进行散列,以匹配用于密码属性值的方案并进行比较。
https://serverfault.com/questions/594280
复制相似问题