How to achieve AAA Authentication through TACACS + server on the switch
TACACS+ 加密所有訊息,且驗證和授權可被切分開。使用者名稱和密碼可分別驗證,優於 RADIUS 安全性。適合需要高安全性的場合。
注意: 目前,交換器的 802.1X 驗證只支援搭配 radius server 使用。TACACS + server 的功能設定只包含驗證和授權,且付款功能不可被使用。
Part 1. 在 Linux 系統建立簡單的 TACACS + server
步驟 1. TACACS+ 安裝
TACACS+ 組合在 Ubuntu repositories 中可用,在 root mode 輸入下列指令以安裝
apt-get install tacacs+
步驟 2. TACACS+ 設定
安裝後,我們繼續根據需求設定 TACACS+ server。在預設安裝中,設定檔可在此找到 /etc/tacacs+/tac_plus.conf 透過您偏好的編輯器開啟檔案並進行以下變更。
vi /etc/tacacs+/tac_plus.conf
# 確認金鑰強度足夠
key = tplink2021
# 使用允許我們使用本地 Linux 使用者的本地 PAM
預設驗證 = file /etc/passwd
# 定義我們稍後新增使用者的群組
#在此範例中,我已定義 3 群組並給予他們分別的權限。Test1 為管理員權限、test2 和 test3 為使用者權限,但 test3 可根據設定額外密碼取得管理員權限。密碼為根據以下指令 tac_pwd 自動產生的。
group = test1 {
default service = permit
service = exec {
priv-lvl = 15
}
}
group = test2 {
default service = deny
service = exec {
priv-lvl = 1
}
}
group = test3 {
default service = permit
login = file/etc/passwd
enable = Gbptgx46GpgrA
service = exec {
priv-lvl = 2
}
}
# 定義我的使用者並將它們分配至上述群組
user = manager {
member = test1
}
user = user1 {
member = test2
}
user = user2 {
member = test3
}
Priv-lvl 在交換器上有 15 個等級和 4 個不同管理權限:
1~4:User 權限,只能觀看和設定,不可編輯或修改,且無法查看 L3 功能
5~9: Super user 權限,您可以觀看、編輯並修改某些功能,例如 VLAN、HTTPS config、Ping 等等
10~14: Operator 權限,在 super user 權限的基礎上,您也可以執行 lag、MAC 位址、存取管理、SSH config 和其他功能
15: Administrator 權限,您可以觀看、編輯並修改所有功能
# 儲存並離開 tac_plus.conf 的編輯檔,建立相關的使用者並在 Linux 系統上設定密碼。
adduser manager
adduser user1
adduser user2
步驟 3. TACACS+ start
# 開始監聽 port 49,說明啟動成功。
/etc/init.d/tacacs_plus start
注意: 每次修改設定檔後,都要重啟 TACACS+ server。
Part 2. 在交換器上設定
以下方圖案的拓樸為例,登入交換器的管理介面需要透過 TACACS + server 驗證以確認網路安全性。
步驟 1. 選擇選單 SECURITY > AAA > TACACS+ Config 並點擊 Add 載入下方頁面。設定 Server IP 為 192.168.0.100,Shared Key 為 tplink2021,Server Port 為 49。
步驟 2. 選擇選單 SECURITY > AAA > Method Config 並點擊 Authentication Login Method Config 欄位,將 Method List Name 設為 default 並將 Pri1 選為 tacacs。
步驟 3. 在相同頁面中,點擊 Authentication Enable Method Config。將 Method List Name 設為 default 並選擇 Pri1 為 tacacs,點擊 Create 設定方法列表 Enable 密碼驗證
情況 1. 所有登入交換器管理方式需要被 TACACS + server 驗證
選擇選單 SECURITY > AAA > Global Config 載入下方頁面。在 AAA Application Config section 中,選擇 telnet 的 Module Login Method 並啟用 Enable Method 為 telnet。
此時,交換器的設定已完成。Neither HTTP 和 TELNET 都不能透過用戶端使用預設的管理員帳號登入管理介面。
情況 2. 除了 Telnet,所有登入交換器管理頁面的方式需要被 TACACS + server 驗證。
選擇選單 SECURITY > AAA > Method Config 並點擊 Authentication Login Method Config 部分和 Authentication Enable Method Config 部分。將 Method List Name 設為 telnet,並在兩個部分中選擇 Pri1 作為本地。
選擇選單 SECURITY > AAA > Global Config 載入下方頁面。在 AAA Application Config 中,選擇 telnet 的 Module Login Method 並啟用 Enable Method 作為 telnet。
此時,您可以使用預設的管理員帳號透過 telnet 登入交換器。
情況 3. 當使用使用者授權登入時,在 TACACS + server 上設定額外的管理員密碼,並在下方介面輸入設定的密碼,即可從使用者權限升級為管理員權限。