Freeradius 整合 LDAP over PAP認證協定
一般在企業內部,當有一定規模的時候,會建立帳號集中管理機制,較常見的會使用Microsoft Active Directory, LDAP(OpenLDAP, Sun Directory Server…)。
Freeradius將此類定義為Datastore
module,並且建議搭配使用CHAP
, MS-CHAP
, EAP
之類的加密認證機制,以提高安全性。
此篇則採用較容易實作的PAP
方式,也就是綁定使用者,並且使用User-Password
這個Attribute來傳輸認證。
由於是
PAP
,要注意密碼洩漏的安全性問題,畢竟是明碼傳輸。若需要使用
802.1x
機制,可以參考此篇 Freeradius 整合 Active Directory 認證(Multiple Domains模式)
基本環境
- CentOS 7.9
- Freeradius 3.0.21
mods-available/ldap
編輯ldap模組參數
1 | [root@localhost ~]# vim /etc/raddb/mods-available/ldap |
1 | ldap { |
mods-enabled/ldap
建立soft link將ldap module啟用
1 | [root@localhost ~]# cd /etc/raddb/mods-enabled |
policy.d/ldap
新增一個ldap檔案,將以下policy規則加入
1 | ldap.authorize { |
當Access-Request於authorize階段,檢查這個session是否帶了User-Password Attribute,並且未定義Auth-Type,當條件成立,更新Auth-Type的值為LDAP
site-available/default
將authorize section裡的-ldap改成ldap,並取消註解
1 | authorize { |
將authenticate section裡的Auth-Type LDAP取消註解
1 | authenticate { |
上述動作完成後就可以使用radtest來驗證。
1 | [root@localhost ~]# radtest <user> <userpassword> localhost 0 testing123 |