使用CHAP / MS-CHAP进行Freeradius和外部脚本身份验证

时间:2015-04-20 03:49:08

标签: php authentication freeradius

我正在使用Freeradius通过外部脚本验证用户,如here所示,在传递用户名和密码对时返回Accept或Reject。

authorize{
    update control { 
        Auth-Type := `/usr/bin/php -f /etc/raddb/yourscript.php '%{User-Name}' '%{User-Password}' '%{Client-IP-Address}'`
    }

当客户端使用PAP时,这可以正常工作。密码以%{User-Password}发送。

但是,当使用CHAP或MS-CHAP时,它不起作用,因为%{User-Password}仍为空。

如何获取要发送到我脚本的明文密码?或者,有没有其他方法来支持CHAP / MS-CHAP?

1 个答案:

答案 0 :(得分:1)

%{CHAP-Password}字段包含密码和质询的哈希值,这是一个神奇的数字。

%{CHAP-Challenge}字段包含该会话中使用的质询。

虽然您无法以直接的实时方式从中获取纯文本密码,但如果您有明文密码,则可以使用md5使用CHAP-Challenge对其进行散列,如here所示。这应该等于您的CHAP密码值。