我将 FreeRADIUS 配置为使用 EAP-TLS 进行基于证书的身份验证(自签名证书)。身份验证工作正常,除了我想添加基于组的授权。
更具体地说,我需要Class
在回复中使用要发送回 NAS 的属性。该属性将被 NAS 读取并解释为组成员信息(例如Class
= myclass
)。
一些背景资料: 我将 FreeRADIUS 与 strongSwan 一起使用;这就是解释组成员信息的地方。
我正在寻找一种让 FreeRADIUS 了解这些组的简单方法。我尝试Class
在 rlm_files 模块 ( freeradius/3.0/mods_config/files/authorize
) 的配置文件中设置属性,如下所示:
username
Reply-Message := "Hello, %{User-Name}",
Class := "myclass"
我将第一行留空,因为不需要“检查项目”。
EAP-TLS 身份验证成功,但该Class
属性未附加到回复中。
我什至不确定 FreeRADIUS 是否在 EAP-TLS 身份验证完成后处理user
(或)文件。authorize
我对此表示怀疑。
有没有一种简单的方法来Class
根据用户名指定属性(假设有多个用户和几个组)?
FreeRADIUS 可能不会处理用户文件,因为它使大多数 EAP 数据包的授权部分短路。
您需要在 post-auth 部分中使用 调用 users 文件
files.authorize
,即User-Name
可以设置为任何值并且授权仍然会成功,因此在为 EAP-TLS 制定策略决策时使用它并不好。IIRC 证书属性被解码并放置在
&session-state:
列表中。在这种情况下你可以做
这应该使用户文件中的所有属性都可用于匹配。它还应该在处理身份验证尝试结束时打印出调试输出中可用的属性。