身分憑證
RADIUS 容許每位使用者在身分憑證原則檔案 default.auth 及 default.policy 中,定義身分憑證屬性。
身分憑證屬性是 RFC 中指定的有效 RADIUS 通訊協定屬性, 這些屬性是在 /etc/radius/dictionary 檔案中定義。 授權是選用的,它取決於硬體 NAS 或存取點的配置方式。如果要使用授權,您必須配置其屬性。只有在順利完成鑑別以後,才會進行授權。
原則是可配置的使用者屬性值組,可以控制使用者如何存取網路。原則可以定義為適用 RADIUS 伺服器的全域原則,或定義為使用者特定的原則。
提供了兩個授權配置檔:/etc/radius/authorization/default.auth 及 default.policy。default.policy 檔用來比對送入的 access request 封包。這個檔案包含的屬性值組一開始是空白的, 但必須根據需求來配置設定。鑑別之後,原則會決定將 access accept 或 access reject 封包傳回用戶端。
每個使用者還可以有 user_id.policy 檔。如果使用者有針對其 ID 而建立的唯一原則檔案,就會先檢查這個檔案的屬性。如果 user_id.policy 檔中的屬性值組未完全相符,就會檢查 default.policy 檔。如果 access request 封包中的屬性組與兩個檔案中的不相符,則傳送 access reject 封包。如果與其中一個檔案的相符,就會將 access accept 封包傳給用戶端。如此會有效建立兩個層次的原則。
檢查原則之後,會將 default.auth 檔用作屬性值組清單,傳回用戶端。default.auth 檔還包含一開始是空白 的屬性值組,但必須配置為想要的設定。您必須編輯 default.auth 檔,或使用 SMIT 來配置想要的授權屬性設定。每個含值的屬性都會在 access accept 封包中自動傳回 NAS。
您也可以定義使用者特定的傳回授權屬性,方法是依據副檔名為 .auth 的唯一使用者名稱 (例如 user_id.auth) 來建立檔案。這個自訂檔必須位在 /etc/radius/authorization 目錄中。您可以用 SMIT 畫面建立、編輯每個使用者檔案。
在 access-accept 封包中傳回每位使用者的授權屬性,以及所有在 default.auth 檔或 global.auth 檔中找到的預設授權屬性。
如果 default.auth 檔與 user_id.auth 檔 都有這些值,就會將預設值置換為使用者的值。這可以讓所有使用者都有部分的整體授權屬性 (服務或資源),同時每個使用者也能擁有更精細的授權層次。
從 AIX® 6.1 版(具有「6100-02 技術層次」)開始,RADIUS 支援 global.auth 授權檔。此檔案會取代並加強將使用者特定的授權屬性 (如 user_id.auth 檔中所定義) 與一組廣域授權屬性結合的原始意圖。
user_id.auth 檔案與 default.auth 檔案不同,後者會由使用者特定授權檔中找到的類似屬性所置換,而前者則會與它們結合,從而可以更有彈性地維護使用者授權。
如果 default.auth 檔與 user_id.auth 檔中都有這些屬性,則使用者的值會置換預設值。這種置換預設值可以讓所有使用者都有部分預設授權屬性 (服務或資源),同時每位使用者也能擁有更精細的授權層次。
global.auth 檔中的屬性也是如此,不同之處在於它們不會被 user_id.auth 屬性置換。相反地,會結合兩個檔案中的屬性。當您指定供應商特定屬性 (VSA) 時,這會有所助益。
授權處理程序如下所示:
- 常駐程式啟動時,/etc/radius/authorization/default.policy 檔、default.auth 檔及 default.auth 檔中的預設原則及授權清單都會讀取至記憶體中。
- 鑑別使用者 ID 及密碼。
- 檢查送入封包的屬性值組。
- 檢查自訂的 user_id.auth 檔。
- 如果均未相符,則檢查 default.policy 檔。
- 如果均未相符,則傳送 access reject 封包。
- 如果有使用者授權屬性,則套用。
- 讀取 /etc/radius/authorization/user_id.auth 檔及 default.auth 檔,並比較這兩個項目。
- 會先用使用者檔案中的項目,再使用預設項目。
- 將產生的屬性與 global.auth 檔中找到的屬性結合。
- 在 access accept 封包中傳回授權屬性。