我将FreeRADIUS配置为使用EAP-TLS进行基于证书的身份验证(自签名证书)。 身份验证工作正常,除了我想添加基于组的授权。
更具体地说,我需要使用 Class
属性在回复中发送回NAS。 然后,NAS将读取该属性并将其解释为组成员身份信息(例如 Class
= myclass
)。
一些背景信息:我将FreeRADIUS与strongSwan一起使用;
我正在寻找一种使FreeRADIUS能够识别组的简单方法。 我试图在rlm_files模块的配置文件( freeradius / 3.0 / mods_config / files / authorize
)的配置文件中设置 Class
属性,如下所示:
username
Reply-Message := "Hello, %{User-Name}",
Class := "myclass"
我离开了 第一行为空,因为不需要“检查项目” 。
EAP-TLS身份验证成功,但是, Class
属性未附加到答复中。
我什至不确定在完成EAP-TLS身份验证后FreeRADIUS是否会处理用户
(或 authorize
)文件。
是否有一种简单的方法可以基于用户名指定 Class
属性(假设有多个用户和几个组)?
FreeRADIUS может не обрабатывать пользовательский файл, так как он замыкает секцию авторизации для большинства EAP-пакетов.
В пост-автоматическом разделе необходимо вызывать файл пользователя с помощью files.authorized
, т. е.
Post-auth {
files.authorize
}
User-Name
можно настроить на что угодно, а авторизация все равно будет успешной, поэтому использовать его при принятии политических решений для EAP-TLS нецелесообразно.
IIRC атрибуты сертификата расшифровываются и помещаются в список &session-state:
.
В этом случае можно сделать
Post-auth {
update request {
&request: += &session-state:[*]
}
files.authorize
}
Что должно сделать все атрибуты доступными для сопоставления в пользовательском файле. Также должно быть выведено, какие атрибуты были доступны в отладочном выводе в конце обработки попытки аутентификации.
.