使用基于 Windows 的 RADIUS (NPS) 的 SuperMicro IPMI

使用基于 Windows 的 RADIUS (NPS) 的 SuperMicro IPMI

我正在努力使用带有 SuperMicro IPMI 接口的基于 Windows 的 RADIUS 设置(网络策略服务器)。

我发现我需要添加供应商特定属性H=4, I=4SuperMicro IPMI 手册中的附录 C),但我不确定配置 NPS 策略所需的一些设置:

在此处输入图片描述

我认为我遗漏了供应商代码或供应商分配的属性编号,它们都应该是数值。属性值本身是字符串H=4, I=4

答案1

我找到了这篇文章,希望了解如何在 NPS 中进行配置。我终于搞定了,这得感谢 SuperMicro 的支持:

服务类型:登录
供应商特定属性 > 添加
供应商代码:10876
是。符合 >
供应商分配的属性编号:1
属性格式:字符串
属性值:H=4,I=4

答案2

Justin Redenbach 的回答帮助我解决了这个问题。我们使用 FortiAuthenticator 作为 RADIUS 服务器。我为 IPMI 创建了一个新词典并将其作为文件导入:

VENDOR  IPMI    10876
BEGIN-VENDOR    IPMI
ATTRIBUTE   Permissions 1   string  BOTH
END-VENDOR  IPMI

然后我将用户配置为具有属性值H = 4,I = 4。

FortiAuthenticator 中的用户配置

有了这个配置,它就能很好地工作

理论上,也可以将属性值直接添加到字典中,但由于某种原因,它没有奏效。字典应该是这样的:

VENDOR  IPMI    10876
BEGIN-VENDOR    IPMI
ATTRIBUTE   Permissions 1   string  BOTH
VALUE   UserPermissions H=4, I=4    1
END-VENDOR  IPMI

我没有进一步调查这个问题,因为直接将值添加到用户对我来说是可行的

答案3

即使供应商 ID 为 0,我还是怀疑它是否能起作用,因为它会在字符串值前面粘贴 0x00000000...除非“它不符合”选项允许您为属性 26 指定原始值。

Supermicro 对其授权属性使用了非标准、不符合 rfc 的编码方案。

如果你看一下供应商特定的格式

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |  Length       |            Vendor-Id
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        Vendor-Id (cont)           |  String...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

属性开头应该有一个 32 位 PEN。但他们只是在那里插入了一个字符串值。

使此功能正常工作的唯一方法(如果“它不符合”选项没有帮助)是使用另一个 RADIUS 服务器作为网关,将 RFC 属性(如服务类型)转换为格式错误的 Supermicro 属性。

FreeRADIUS 和散热器可能可以配置为执行此操作。

FreeRADIUS >= 3.0.0 明确规定了如何处理格式错误的属性。当从外部服务器收到这些属性时,它们会被标记为未知八位字节类型,因此在代理时它们可以通过。

您还可以使用属性 O​​ID 语法在配置中创建它们(Attr-<TLV/OID string>)。

在这种情况下,您需要Attr-26原始供应商类型的 VSA。然后,您需要以下几个魔术字符串值之一:

  • 回调“H = 1,I = 1” -Attr-26 = 0x483D312C20493D31
  • 用户“H=2,I=2” -Attr-26 = 0x483D322C20493D32
  • 运算符“H=3,I=3”- Attr-26 = 0x483D332C20493D33
  • 管理员“H=4,I=4”-Attr-26 = 0x483D342C20493D34

相关内容