歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Linux上構建一個RADIUS服務器詳解 (1)

Linux上構建一個RADIUS服務器詳解 (1)

日期:2017/2/27 14:24:23   编辑:更多Linux

Linux上構建一個RADIUS服務器詳解

作為一名網絡管理員,您需要為您所需管理的每個網絡設備存放用於管理的用戶信息。但是網絡設備通常只支持有限的用戶管理功能。學習如何使用Linux上的一個外部RADIUS服務器來驗證用戶,具體來說是通過一個LDAP服務器進行驗證,可以集中放置存儲在LDAP服務器上並且由RADIUS服務器進行驗證的用戶信息,從而既可以減少用戶管理上的管理開銷,又可以使遠程登錄過程更加安全。數據安全作為現代系統中網絡安全的一部分,與系統安全一樣的重要,所以保護數據--確保提供機密性、完整性和可用性--對管理員來說至關重要。在本文中,我將談到數據安全性的機密性方面:確保受保護的數據只能被授權用戶或系統訪問。您將學習如何在Linux系統上建立和配置一個Remote Authentication Dial-In User Service 服務器(RADIUS),以執行對用戶的驗證、授權和記帳(AAA)。各組成元素介紹首先讓我們談一談RADIUS協議、AAA組件以及它們如何工作,另外還有LDAP協議。Remote Authentication Dial-In User Service 協議是在IET的RFC 2865中定義的(請參閱參考資料獲得相關鏈接)。它允許網絡訪問服務器(NAS)執行對用戶的驗證、授權和記帳。RADIUS是基於UDP的一種客戶機/服務器協議。RADIUS客戶機是網絡訪問服務器,它通常是一個路由器、交換機或無線訪問點(訪問點是網絡上專門配置的節點;WAP是無線版本)。RADIUS服務器通常是在UNIX或windows 2000服務器上運行的一個監護程序。RADIUS和AAA如果NAS收到用戶連接請求,它會將它們傳遞到指定的RADIUS服務器,後者對用戶進行驗證,並將用戶的配置信息返回給NAS。然後,NAS接受或拒絕連接請求。功能完整的RADIUS服務器可以支持很多不同的用戶驗證機制,除了LDAP以外,還包括:PAP(PassWord Authentication Protocol,密碼驗證協議,與PPP一起使用,在此機制下,密碼以明文形式被發送到客戶機進行比較);CHAP(Challenge Handshake Authentication Protocol,挑戰握手驗證協議,比PAP更安全,它同時使用用戶名和密碼);本地UNIX/Linux系統密碼數據庫(/etc/passwd);其他本地數據庫。在RADIUS中,驗證和授權是組合在一起的。如果發現了用戶名,並且密碼正確,那麼RADIUS服務器將返回一個Access-Accept響應,其中包括一些參數(屬性-值對),以保證對該用戶的訪問。這些參數是在RADIUS中配置的,包括訪問類型、協議類型、用戶指定該用戶的IP地址以及一個訪問控制列表(ACL)或要在NAS上應用的靜態路由,另外還有其他一些值。RADIUS記帳特性(在RFC 2866中定義;請參閱參考資料獲得相關鏈接)允許在連接會話的開始和結束發送數據,表明在會話期間使用的可能用於安全或開單(billing)需要的大量資源--例如時間、包和字節。輕量級目錄訪問協議輕量級目錄訪問協議(Lightweight Directory Access Protocol,LDAP)是一種開放標准,它定義了用於訪問和更新類X.500 目錄中信息的一種方法。LDAP可用於將用戶信息保存在一個中央場所,從而不必將相同的信息存儲在每個系統上。它還可以用於以一種一致的、可控制的方式維護和訪問信息。LDAP在一個集中的目錄中管理用戶,從而簡化了用戶管理工作。除了存儲用戶信息外,在LDAP中定義用戶還可以使一些可選特性得到啟用,例如限制登錄的數量。在本文中,您將學習如何配置RADIUS服務器,以便基於LDAP驗證用戶--由於本文的重點在於RADIUS,我不會描述關於LDAP服務器的安裝和配置的細節。OpenLDAP是LDAP的一種開放源碼實現。在OpenLDAP.org上可以找到關於它的詳細信息(請參閱參考資料獲得相關鏈接)。場景想像以下場景:用戶在家裡可以通過撥號驗證訪問他公司的內部網。帶無線支持的筆記本電腦可以通過無線驗證連接到一個校園網。管理員使用他們的工作站通過管理用戶驗證以telnet或HTTP登錄到網絡設備。所有這些驗證任務都可以通過一個RADIUS服務器基於一個中央LDAP服務器來完成(見圖 1)。

圖1 通過RADIUS和LDAP進行驗證在本文中,我將重點描述對最後一種選項的實現,作為對該解決方案的一個介紹。首先安裝RADIUS服務器。安裝 RADIUSRADIUS服務器軟件可以從多個地方獲得。在本文中,我將使用FreeRADIUS(請參閱參考資料獲得相關鏈接),但Cisco Secure Access Control Server (ACS)是一種集中式用戶訪問控制框架,可用於跨UNIX和Windows上多個Cisco設備的用戶管理,並支持Cisco 特有的協議TACACS+(據說在支持TACACS+的設備上可擁有更多的特性)。FreeRADIUS是來自開放源碼社區的一種強大的Linux上的RADIUS服務器,可用於如今的分布式和異構計算環境。FreeRADIUS 1.0.2 支持LDAP、mysql、PostgreSQL和Oracle數據庫,並與諸如EAP和Cisco LEAP之類的網絡協議兼容。FreeRADIUS目前被部署在很多大型生產網絡系統中。下面的步驟演示如何在Red Hat Enterprise Linux Advanced Server 3.0上安裝和測試FreeRADIUS 1.0.2:清單1 安裝和測試FreeRADIUS

tar -zxvf freeradius-1.0.2.tar.gz - extract it with gunzip and tar ./configure make make install - run this command as root radiusd or - start RADIUS server radiusd -X - start RADIUS server in debug mode radtest test test localhost 0 testing123 - test RADIUS server 如果radtest收到一個響應,則表明FreeRADIUS服務器工作正常。同時我還推薦另一種免費工具,那就是NTRadPing,它可用於測試來自Windows客戶機的驗證和授權請求。它可以顯示從RADIUS服務器發回的詳細的響應,例如屬性值。現在讓我們來配置FreeRADIUS。




Copyright © Linux教程網 All Rights Reserved