微软 Android 开源 apache wordpress mysql centos Python shell java Firefox Windows nginx 编程 程序员 google linux php 云计算 Ubuntu

最佳免費Linux RADIUS服務器推薦

看到 radius 這個詞,我們都會想到圓心到圓周之間的長度(半徑)。然而在計算機領域,它代表一個為連接到網絡的計算機集中提供認證、授權和計費(Authentication, Authorization,  Accounting  AAA)的網絡協議。然而,事情不像你聽上去的那麽難。大多數時候,通訊不會用到所有 AAA 的功能,可能只會用到計費也可能只有認證。RADIUS 會幫你完成所有這些事情,下面我們就開始介紹。

歷史

RADUIS 是遠程用戶撥號認證系統(Remote AuthenticationDial 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 安裝和配置的內容。

延伸阅读

    评论