如何使用CHAP而不是PAP进行freeradius身份验证

时间:2016-05-22 17:13:05

标签: radius freeradius

我已经在服务器上安装了freeradius 3,我试图通过

测试chap
radtest -t chap ahmed test localhost 1812 testing123 

我收到了“访问 - 接受”。

但是当我尝试通过强制门户连接相同的凭据时,它通过PAP进行身份验证,导致保存在 radpostauth 表中的密码保存为明文,这意味着半径通过PAP进行身份验证

我还在身份验证部分的文件网站启用/默认中读到

  

此部分列出了可用于身份验证的模块。     请注意,它并不意味着“按顺序尝试每个模块”。它的意思是    来自'authorize'部分的模块添加了一个配置    属性'Auth-Type:= FOO'。那个认证类型就是    用于从下面的列表中选择适当的模块。

当我尝试添加

Auth-Type := CHAP

内部认证就像这样

authenticate 
{
     Auth-Type := CHAP
}

它给了我一个错误

/etc/raddb/sites-enabled/default[452]: Entry is not a reference to a module
/etc/raddb/sites-enabled/default[444]: Errors parsing authenticate section.

那么我应该告诉radius只用CHAP进行身份验证?

1 个答案:

答案 0 :(得分:1)

因为您已经发明了语法而不是按照文件中已有的示例。

您只需要列出:

authorize {
    chap
    ...
}

authenticate {
    chap
}

它会正常工作。

如果你想从sql表中提取记录

authorize {
    update control {
        Cleartext-Password := "%{sql:SELECT <query to get password>}"
    }
    chap
}