本文譯自 iSystemAdmin 的 《What is RADIUS Server and best free RADIUS Server for Linux》。
看到radius這個詞,我們都會想到圓心到圓周之間的長度(半徑)。然而在計算機領域,它代表一個為連線到網路的計算機集中提供認證、授權和計費(Authentication, Authorization, Accounting AAA)的網路協議。然而,事情不像你聽上去的那麼難。大多數時候,通訊不會用到所有AAA的功能,可能只會用到計費也可能只有認證。RADIUS會幫你完成所有這些事情,下面我們就開始介紹。
歷史
RADUIS是遠端使用者撥號認證系統(Remote Authentication Dial In User Service)。它由Livingston Enterprises公司在1991年首先開發。開發的初衷是滿足驗證和記賬需要的一個通訊協議,後來Internet工程任務組(IETF)將其定為標準。ISP(資訊服務提供商)和企業鑑於該協議有著廣泛的支援以及具備可以同時管理Internet、內部網路、無線網路和整合郵件服務的特性紛紛採用。這些網路可能需要與調變解調器、數字使用者環路(DSL)、無線接入點、VPN、網路埠,、web伺服器等等[2]配合使用。
什麼是RADIUS伺服器
通常RADIOUS伺服器作為UNIX守護程式或是微軟Windows的系統服務在後臺執行。RADIUS服務通常有3個稱作AAA的功能(這也就是為什麼RADIUS伺服器通常也被叫做AAA伺服器):
1. 認證:驗證使用者或裝置的身份與可使用的網路服務
2. 授權:依據認證結果開放網路服務給使用者或裝置,也可作為後續驗證的前提條件
3. 記賬:記錄使用者對各種網路服務的用量,並提供給計費系統
工作原理:
RADIUS是一個工作在應用層的客戶端/伺服器協議,採用UDP協議傳輸。在通訊行業,遠端訪問伺服器(Remote Access Server RAS)、虛擬專用網路(Virtual Private Network VPN)伺服器、基於埠驗證的網路交換機和網路接入伺服器(NAS)都是控制網路接入的閘道器,它們都有一個RADIUS客戶端模組可以和RADIUS伺服器通訊。起初,RADIUS協議採用1645和1646埠分別用作認證和記賬,RADIUS伺服器上執行的授權子程式不需要通訊埠。後來Internet號碼分配機構(Internet Assigned Numbers Authority IANA)為RADIUS協議分配了1812和1813埠,成為了現在RADIUS伺服器的預設埠。
RADIUS安全性:
從安全的角度講RADIUS並不是一個安全性很好的協議。在伺服器與網路裝置(RADIUS客戶端)之間,除了使用者或裝置的密碼其它都使用明文通訊。在RADIUS伺服器和客戶端之間使用共享金鑰會使得密碼變得難以辨認。但是這仍然不是保護使用者憑據的安全方法。所以,一般推薦在Radius伺服器和客戶端之間使用隧道技術(例如IPSec或VPN)提供保護。這個問題正在得到解決,其中RadSec聲稱已經解決了這個問題。
譯註:
隧道技術(Tunneling):網路隧道技術指的是利用一種網路協議來傳輸另一種網路協議,它主要利用網路隧道協議來實現這種功能。
RadSec:是一種基於TCP和TLS傳輸RADIUS資料的協議。
Linux RADIUS伺服器:
起初,RADIUS伺服器是為UNIX及其變種開發的。後來,也有一些Windows版本出現。由於Livingstone是RADIUS協議的主要開發者,他們開發了第一個Livingstone RADIUS伺服器,它是所有後來RADIUS伺服器的鼻祖。Cistron RADIUS伺服器是第二個RADIUS伺服器,直到現在仍然被許多RADIUS部署方案採用。原本cistron的設計是採用所有的文字檔案儲存RADIUS詞典和使用者資料庫。Cistron的兩個主要變種是XT-RADIUS和ICRADIUS。
XT-RADIUS增加了很多指令碼擴充套件cistron的功能。ICRADIUS直接使用MySQL作為資料詞典、NAS和使用者資料庫,這使得系統管理變得更加輕鬆。如今,XT-RADIUS和ICRADIUS幾乎和它們父輩cistron一樣幾乎銷聲匿跡。
Cistron的開發者Miquel van Smoorenburg後來決定編寫一個模組化程度更高且免費的RADIUS伺服器。他將其命名為FreeRADIUS,目前FreeRADIUS已經成為事實上的RADIUS 部署標準。
FreeRADIUS
FreeRADIUS是一個模組化、高效能的免費RADIUS套件,遵循GNU通用許可協議開發和釋出。FreeRADIUS套件包含了一個RADIUS伺服器,一個遵循BSD協議的RADIUS客戶端函式庫,一個PAM函式庫,一個Apache模組以及眾多的RADIUS相關工具和開發函式庫。
FreeRADIUS是目前最受歡迎的開源RADIUS伺服器並且在世界上被廣泛部署。它是許多商業RADIUS產品和服務的基礎,像是嵌入式系統,提供網路訪問控制的RADIUS工具以及WiMAX。它滿足了很多財富500強公司、電信公司以及Tier 1網路資訊服務提供商的AAA需求,
譯註:Tier 1網路:是指不向任何其它網路購買網際網路穿透(IP Transit)服務或付費連線的網路。
正如之前提到的,FreeRADIUS是模組化的,伺服器核心模組包支援LDAP、MySQL、PostgreSQL、 Oracle和許多其他資料庫。它支援所有流行的EAP驗證型別,包括PEAP(受保護的EAP)和EAP-TTLS(隧道TLS身份驗證協議)。它還包含了超過100家廠家的資料字典,確保了對NAS裝置的廣泛支援。
譯註:EAP(Extended Authentication Protocol 擴充套件協議認證):對ppp 協議中chap認證的擴充套件,比chap更有靈活性和更高的安全性,支援MD5、智慧卡、可讀卡等。
如果你需要安裝和使用RADIUS,可以直接選擇FreeRADIUS,下載連結是http://www.freeradius.org。希望不久之後我們的部落格可以涉及更多Linux FreeRADIUS安裝和配置的內容。
英文原文 iSystemAdmin 編譯:伯樂線上 – 唐尤華
【如需轉載,請標註並保留原文連結、譯文連結和譯者等資訊,謝謝合作!】