TACACS+ 是什麼?與 RADIUS 有何分別?
TACACS+ 與 RADIUS 同屬 AAA(認證、授權、審計)協議,都可為網絡提供集中式身份管理,但設計取向截然不同:TACACS+ 專長於設備管理層面的精細權限控制,RADIUS 則是網絡接入認證的主流。本頁講解兩者的來歷、技術分別與適用場景。
TACACS+ 的定義與來歷
TACACS(Terminal Access Controller Access-Control System)是一個處理遠端認證及網絡接入控制的協議家族,最初的 TACACS 協議可追溯至 1984 年,曾廣泛用於 ARPANET 等早期網絡。其後衍生出 XTACACS,及至最新、亦是現今實際使用的版本——TACACS+。TACACS+ 與舊版並不兼容,屬全新設計;其公開規範為 IETF 於 2020 年發布的 RFC 8907《The Terminal Access Controller Access-Control System Plus (TACACS+) Protocol》。
TACACS+ 的核心用途是網絡設備的管理層面 AAA:管理員登入交換機、路由器、防火牆時,設備把認證請求轉交 TACACS+ 伺服器集中處理,並可對管理員執行的每條指令逐一授權與記錄。
RADIUS 的定義與來歷
RADIUS(Remote Authentication Dial-In User Service,遠端認證撥入用戶服務)是提供集中式認證、授權與審計管理的網絡協議,供連接及使用網絡服務的用戶驗證身份。RADIUS 由 Livingston Enterprises 於 1991 年開發,原為接入伺服器的認證與計費協議,其後納入 IETF 標準體系,核心規範為 RFC 2865(2000 年)。
時至今日,RADIUS 是網絡接入認證的主流:企業無線網絡的 802.1X 認證、VPN 撥入、有線埠認證等場景,背後幾乎都是 RADIUS 伺服器。詳細可參考RADIUS 是什麼?及802.1X 是什麼?兩頁。
TACACS+ 與 RADIUS 技術比較
| 比較項目 | TACACS+ | RADIUS |
| 公開規範 | RFC 8907(2020 年) | RFC 2865(2000 年) |
| 傳輸協議 | TCP,連線可靠 | UDP,由應用層自行重傳 |
| 封包保護 | 對封包本體整體加密 | 傳統上只混淆密碼欄位,其他屬性明文 |
| AAA 結構 | 認證、授權、審計三者完全分離 | 認證與授權合併於同一交換過程 |
| 指令級授權 | 支援,可逐條指令批核 | 不支援指令級授權 |
| 主要定位 | 設備管理層面(管理員登入與操作) | 網絡接入層面(用戶/設備上網認證) |
| 典型場景 | 集中管理交換機、路由器登入權限與操作審計 | 802.1X 無線/有線認證、VPN 撥入 |
此比較屬協議層面的技術對比:兩者並非互相取代的關係,大型網絡往往同時部署——RADIUS 負責用戶接入,TACACS+ 負責管理員操作。
部署實戰:規劃與測試要點
實際部署 TACACS+ 或 RADIUS 前,建議先把「網絡接入」與「設備管理」兩類 AAA 需求分開盤點,再逐項核對設備支援的協議、可用的授權屬性與記帳能力,並將相關假設寫入設計文件,以下步驟可作參考:
- 分開列出需求:把 802.1X、Wi-Fi、VPN 等網絡接入身份需求,與交換機、路由器登入及操作記帳等設備管理需求分開列出,避免混淆兩套 AAA 架構的規劃。
- 核對設備與協議能力:確認網絡設備支援的 AAA 協議版本、可用的授權屬性,以及記帳(Accounting)功能是否符合要求,記帳規範可參考 RFC 2866。
- 設定最小權限與備援:按最小權限原則設定管理員權限等級,並部署備援 AAA 伺服器及本機緊急帳戶,避免伺服器單點故障導致無法登入設備。
- 全面測試各種情境:正式上線前,須測試認證成功、拒絕存取、伺服器故障回退(fallback)及帳戶撤銷等情境,確認每種情況下的行為符合預期。
故障排查方面,建議先確認物理鏈路與基礎網絡可達性,再逐層檢查 AAA 伺服器設定、連線狀態、日誌記錄及認證流量,並以小範圍變更逐步驗證修正,避免一次過改動過多設定而難以追蹤問題根源。