我正在开发一种需要与RADIUS服务器集成作为身份验证方法的产品。 配置 RADIUS 服务器(IP 地址、端口、共享密钥(时,我想做一个"测试"以检查配置是否有效 - 服务器可用,它确实是 RADIUS 服务器,共享密钥没问题。
我做了一些关于如何做到这一点的研究, 我的选择是:
- 将带有虚构用户名和密码的访问请求消息发送到 RADIUS 服务器
- 将状态服务器消息发送到 RADIUS 服务器
RFC 5997 引入了在 RADIUS 协议中使用状态服务器数据包。 此数据包扩展使客户端能够查询 RADIUS 服务器的状态。 状态服务器被标记为实验性和信息性 RFC,而不是标准跟踪 RFC
我的问题是:
- 哪些是最常用的\正在使用的RADIUS服务器供应商?MS NPS, FreeRADIUS, 其他?
- 这些供应商是否支持状态服务器请求 - 他们是否实现此数据包类型?
- 如果我将使用访问请求,我将在"回复消息"属性中收到带有失败消息的"访问拒绝"。我能理解拒绝该短信的原因吗?是否有任何错误代码\消息列表是标准的一部分?
多谢
约西·兹拉希亚
Ad 1(确切(甚至估计(数字很难获得,但您应该会遇到FreeRADIUS,Microsoft NPS,散热器,也许还有Cisco ACS/ISE。
广告2(自由半径,散热器支持它。Microsoft NPS 和 Cisco ACS/ISE 则不会。如果您的"测试"使用一次(在配置时(,我会将选项 1 与访问请求一起使用。如果您希望定期检查 RADIUS 服务器的可用性和配置,我建议同时实现这两个选项,并允许将检查配置为 RADIUS 配置的一部分:
IP: 1.2.3.4 端口:1812 共享密钥:U7tr453cur3 服务器检查: [x] 状态-服务器 [ ] 访问请求
广告 3( 从 RFC2865,第 5.18 节(回复消息(:
"[...]此属性指示可以向用户显示的文本。[...]在访问拒绝中使用时,它是失败消息。 它可能会指示一条对话框消息,以在尝试另一次访问请求之前提示用户。[...]文本字段是一个或多个八位字节,其内容取决于实现。 它旨在是人类可读的,并且不得影响协议的操作。 建议邮件包含 UTF-8 编码的 10646 [7] 个字符。
显然没有指定标准消息;但是,如果 IP、端口或共享密钥配置不正确,则根本不应该得到响应,因为 RFC 2865 指定:
"来自 RADIUS 服务器没有共享密钥的客户端的请求必须以静默方式丢弃。">