radius认证原理
在做学校访客认证系统时,当我们将radius服务器和ladp目录管理连接时,认证无法通过为了寻找问题所在,我们从radius认证的原理入手,理解认证过程,去发现问题,一下是阅读free-radius官方文档后做的笔记。
1 free-radius认证原理
1.1 处理认证字段
- 服务器拿到AC(即各类路由设备,radius的客户端。)发来的***请求***数据后询问认证模块:
“谁可以处理这类请求。”
- 如果有模块响应这类认证则对请求进行处理。
- 如没有模块响应则忽略这次请求。
1.2 认证一个用户
- 首先一次认证过程服务器会设置一个Auth-Type,如果没有进行设置就拒绝请求。
- 首先假设客户端发送了一个pap认证请求,则pap模块会设置Auth-Type为pap,然后在认证进程中服务器会再次调用pap模块。解析AC认证请求中的用户名密码。
- 当pap模块拿到了用户名和密码以后,radius询问谁可以对该用户进行验证。这时一些SQL,LADP等外部程序中若包含这一用户信息,则会将已知的***有效密码***加入认证请求中。
- 这时该报文就有了用户提供的密码和由本地文件提供的已知有效密码,pap认证就可以处理这一认证请求。
1.3 存在的问题
- 在认证时要注意radius对各类认证协议的密文加密方式的支持程度不同。具体可以参考协议清单。
- 关于pap认证,由于pap本身是一个明文认证所以在加密上需要调用其他模块的支持。
理解的认证原理之后,发现是由于配置了MSCHAP认证协议。导致没有办法和学校LADP的sha1加密的密文进行认证,因此我们需要改变认证协议为pap。