Radius
如何使用 EAP-TLS 和基於組的授權配置 FreeRADIUS?
我將 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
,即Post-auth { files.authorize }
User-Name
可以設置為任何值並且授權仍然會成功,因此在為 EAP-TLS 制定策略決策時使用它並不好。IIRC 證書屬性被解碼並放置在
&session-state:
列表中。在這種情況下你可以做
Post-auth { update request { &request: += &session-state:[*] } files.authorize }
這應該使使用者文件中的所有屬性都可用於匹配。它還應該在處理身份驗證嘗試結束時列印出調試輸出中可用的屬性。