0

我正在开发一种需要与 RADIUS 服务器集成作为身份验证方法的产品。在配置 RADIUS 服务器(IP 地址、端口、共享密钥)时,我想做一个“测试”以检查配置是否有效 - 服务器可用并且它确实是 RADIUS 服务器,共享密钥是可以的。

我对如何做到这一点进行了一些研究,我的选择是:

  1. 向 RADIUS 服务器发送带有虚构用户名和密码的访问请求消息
  2. 向 RADIUS 服务器发送 Status-Server 消息

RFC 5997 介绍了在 RADIUS 协议中使用状态服务器数据包。此数据包扩展使客户端能够查询 RADIUS 服务器的状态。状态服务器被标记为实验性和信息性 RFC,而不是标准跟踪 RFC

我的问题是:

  1. 哪些是最常见的\在使用的 RADIUS 服务器供应商?MS NPS、FreeRADIUS、其他?
  2. 这些供应商是否支持 Status-Server 请求 - 他们是否实现了这种数据包类型?
  3. 如果我将使用 Access-Request,我将在“Reply-Message”属性中收到带有失败消息的“Access-Reject”。我可以理解拒绝该短信的原因吗?是否有任何属于标准的错误代码\消息列表?

非常感谢,

约西·兹拉亚

4

1 回答 1

3

广告 1) 很难获得准确(甚至估计)的数字,但您应该会遇到 FreeRADIUS、Microsoft NPS、Radiator 和 Cisco ACS/ISE。

广告 2) FreeRADIUS, Radiator 支持它。Microsoft NPS 和 Cisco ACS/ISE 没有。如果您的“测试”被使用一次(在配置时),我将使用选项 1 和访问请求。如果您希望定期检查 RADIUS 服务器的可用性和配置,我建议同时实施这两个选项并允许将检查配置作为 RADIUS 配置的一部分:

    IP:1.2.3.4
    端口:1812
    共享密钥:U7tr453cur3
    服务器检查:[x] 状态服务器
                 [ ] 访问请求

广告 3)来自 RFC2865,第 5.18 节(回复消息)

“[...] 此属性指示可能向用户显示的文本。[...] 在 Access-Reject 中使用时,它是失败消息。它可能指示在另一个 Access 之前提示用户的对话框消息-请求尝试。[...] Text 字段是一个或多个八位字节,其内容取决于实现。它旨在供人类阅读,并且不得影响协议的操作。建议消息包含 UTF -8 编码 10646 [7] 个字符。”

显然没有指定标准消息;但是,如果 IP、端口或共享密钥配置不正确,您根本不应该得到响应,因为 RFC 2865 指定:

“来自客户端的请求,如果 RADIUS 服务器没有共享机密,则必须静默丢弃。”

于 2017-08-16T08:53:33.147 回答