前言
上一篇跟各位講到把主機加入AD,那這次來把Freeradius
安裝並設定完成吧!
上一篇的連結在這邊,再次提醒本次是結合LDAP來使用的。
行くぞ!! (ゝ∀・)
設備安裝與設定
※本範例為CentOS7
安裝epel
1
yum install -y epel-release
安裝 Freeradis與相關套件
1
yum install -y freeradius freeradius-utils samba winbind freeradius-ldap
設置為開機啟動
1
systemctl enable radiusd.service
設定 Freeradius ldap module
vim /etc/reddb/mods-available/ldap
1 | ldap { |
- 設定連結
ln -s /etc/raddb/mods-available/ldap /etc/raddb/mods-enabled/
會長這樣
1 | ll /etc/raddb/mods-enabled/ldap |
- 修改client.conf
vim /etc/raddb/client.conf
1 | client firewall { |
- 設定成之PAM驗證 與 測試帳號
vim /etc/raddb/users
1 | DEFAULT Auth-Type := PAM |
- 修改freeredius啟動的使用者與群組
vim /etc/raddb/radiusd.conf
1 | user = root |
我自己有碰到修改失敗,所以還得去改
vim /etc/systemd/system/multi-user.target.wants/radiusd.service
- 為了可以在Fortigate上設置群組判別,需要傳遞Vendor Specific Attribute,因此在 raddb /policy.d資料夾中,建立以下內容作判斷
vim /etc/raddb/policy.d/company-group
1 | group_authorization { |
重啟Freeredius
1
systemctl restart rediusd.service
測試指令
1
radtest bob hello localhost 0 testing123
如果成功會有以下資訊
1
2
3
4
5
6
7
8
9
10Sent Access-Request Id 1 from 0.0.0.0:54855 to 127.0.0.1:1812 length 73
User-Name = "bob"
User-Password = "hello"
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
Message-Authenticator = 0x00
Cleartext-Password = "hello"
Received Access-Accept Id 1 from 127.0.0.1:1812 to 0.0.0.0:0 length 32
Reply-Message = "Hello, bob"
(0) -: Expected Access-Accept got Access-Reject最後一行出現 Access-Reject 正常,因為測試帳號並沒有存在AD上,所以會失敗,但有從本地收到 Reply-message
開啟windows NPS
此時要在去AD上開啟NPS (本次以Windows AD 作範例 )
伺服器管理員 > 工具 > 網路原則伺服器
RADIUS 用戶端及伺服器 > RADIUS用戶端 > 右鍵 > 新增
按照上列設定 ,謹記 密碼要與 /raddb/clients.conf 中的密碼一致
完成後可以測試 RADIUS與Windows AD的LDAP驗證是否正式完成
1
radtest 使用者帳號 '使用者密碼' 'AD的IP' 0 '共用密碼'
顯示下列資訊代表連結成功並且成功驗證帳號
1
2
3
4
5
6
7
8
9
10
11
12
13
14Sent Access-Request Id 181 from 0.0.0.0:59654 to 192.168.1.1:1812 length 77
User-Name = "XXXXXX"
User-Password = "XXXXXXXXX"
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
Message-Authenticator = 0x00
Cleartext-Password = "XXXXXXXXXXXXXX"
Received Access-Accept Id 181 from 192.168.xxx.xxx:1812 to 0.0.0.0:0 length 142
Fortinet-Group-Name = "SE_group"
Framed-Protocol = PPP
Service-Type = Framed-User
Class = 0x798605f40000013700010200c0a81fe800000000000000000000000001d957216ba33593000000000000031e
MS-Link-Utilization-Threshold = 50
MS-Link-Drop-Time-Limit = 120
Bounes
想知道ldap有沒有正常運行或是ldap-group會搜尋到甚麼,可以透過ldapsearch檢查
1 | yum install openldap-clients |
如果有查到使用者代表正常。
結尾
到這邊Freeradius的LDAP設定與介接就完成了~ ヾ(´∀ ˋ)ノ
原則上跟著做應該不太會出錯,真正難的點我個人碰到的事,怎麼確定Freeradius有正確連到AD,必且取得帳號、部門的驗證,這個部份我卡了快一周,基本上這邊過了,後面就雨過天晴了。
下一篇我們來設定 Google auth套用和自動註冊的網頁設定與實際操作吧!
では、お疲れ様でした~