人人書

雜誌

保存到桌面 | 簡體人人書 | 手機版
傳記回憶文學理論偵探推理驚悚懸疑詩歌戲曲雜文隨筆小故事書評雜誌
人人書 > 雜誌 > 解決教育城域網的跨校認證問題

解決教育城域網的跨校認證問題

時間:2024-11-06 06:23:32

上海教育城域網跨校身份認證聯盟基于Shibboleth構建,已有超過40所的上海高校和區縣加入該聯盟。本文從Shibboleth開始介紹平台的工作原理和實現細節。

目前,上海教育城域網(以下簡稱SEMAN)的設備配置基本上由運維人員手工通過telnet或者ssh登錄設備操作,不方便、易出錯并且不夠安全。對于在城域網日常運維中會經常發現黑客行為,運維人員需要快速将黑客地址加入路由黑洞,以免造成進一步的危害。因此非常有必要探索一種更加方便、安全、靈活的配置方式。

配置平台利用SEMAN跨校認證身份聯盟驗證用戶身份,成功通過認證的用戶就可以登錄平台并配置屬于自己管理權限範圍内的地址。平台後台維護關于用戶使用權限的數據庫,保存特定用戶所能夠配置的目标地址列表等信息。用戶進入平台後輸入希望配置的地址信息,通過數據庫信息判斷該用戶是否有權限操作對應的地址。對于确認有操作權限的用戶,執行對應的配置,将此地址寫入目标的黑洞設備當中,同時通過BGP協議,将上述IP地址在SEMAN範圍内進行通告。配置平台基于HTML5實現,提供了WebGUI操作界面,運維人員可以方便的随時随地在PC或者各種移動終端上配置黑洞路由。同時,日志系統會記錄下此次運維人員的操作時間、内容等,方便後續的排錯、回溯。

SEMAN跨校身份認證聯盟基于Shibboleth構建,已有超過40所的上海高校和區縣加入該聯盟。本文從Shibboleth開始介紹平台的工作原理和實現細節。

Shibboleth簡介

Shibboleth是一個免費,開源的WebSSO(SingleSignOn,單點登錄)系統,具有豐富屬性的開放标準,支持安全訪問跨安全域的資源。有關用戶的信息是從身份提供者(IDP)發送到服務提供商(SP),對受保護的内容或應用信息進行保護。所謂的聯盟并不是一個純粹的技術建造,通常可以用來幫助提供一個可擴展的方式信任對方。Shibboleth主要由以下三部分組成。

1.IDP(IdentityProvider,身份提供者)身份提供端:主要作用是向資源提供者提供用戶的屬性,以便使資源服務器根據其屬性對其訪問操作進行授權和響應。

2.SP(ServiceProvider,資源提供者)資源服務提供端,主要作用是響應用戶的資源請求,并向該用戶所在的IDP查詢用戶的屬性,然後根據屬性作出允許或拒絕訪問資源的決策。

3.WAYF(WhereAreYouFrom,認證中心)。Shibboleth2.0之後更名為DS,即DiscoveryService,但是習慣上依然稱呼為WAYF。

Shibboleth主要應用在校園内Web資源共享以及校園間的應用系統的用戶身份聯合認證。

城域網配置平台基本工作原理

平台首先通過SEMAN跨校身份認證聯盟認證并确認身份,對于成功通過認證的用戶根據其身份信息在後台數據庫裡查找對應的具有配置權限的IP地址段,然後根據用戶配置目标檢查是否具有配置該設備的權限,如果有則正常配置,否則提示用戶輸入合法的配置目标。最後,在日志中記錄下用戶的所有操作。圖1為利用該平台配置黑洞路由的操作流程。

基于shibboleth的跨校認證接入方式有兩種:shibboleth原生接入和sp代理方式接入。原生接入需要安裝shibboleth-sp組件。本文實現的系統是以SP代理方式接入。通過WAYF提供的代理接口對接,雙方提前協商好秘鑰。用戶通過認證後攜帶base64編碼後的身份信息和認證信息返回具體配置界面。SEMAN跨校認證界面如圖2所示。圖2跨校認證界面

跨校認證成功返回配置頁面後,除了攜帶用戶名和域名等相關信息外,還包含校驗碼和時間戳。配置頁面用PHP實現,對秘鑰和時間戳計算校驗碼,判斷來源請求是否僞造。隻有滿足下述兩個條件的訪問請求才會被認定為合法請求:1.計算出校驗碼一緻;2.時間戳是當前時間提前五秒内。對于通過認證的合法用戶顯示配置界面,否則提示警告信息返回,并記錄在日志系統日志中以備後續管理。

合法用戶可以使用該系統提供的圖形化配置功能方便的配置管理對應的設備,配置黑洞路由的界面如圖3所示。

配置界面簡明扼要,輸入需要配置的地址段,點擊“添加/删除”按鈕就可以操作。在執行具體配置之前,根據前述跨校認證返回的用戶信息,查詢後台數據庫。根據從數據庫返回的該用戶具有操作權限的地址段,檢查其試圖配置的地址,如果有權限則執行對應的配置操作,沒有權限則返回失敗并提醒用戶重新輸入配置地址,同時将該行為保存在後台日志中。

用戶數據庫及系統日志

系統後台維護着一份sqlite數據庫,保存了所有用戶能夠配置的目标地址段等信息。由管理人員定期維護更新,所有使用該配置平台的用戶信息會手工加入該數據庫中。其基本信息包括:用戶名,域名,可操作性IP地址段,掩碼,有效時間。具體内容如下:

user1sjtu.edu.cn202.120.0.0182099-12-31

user2sjtu.edu.cn202.120.64.0172099-12-31

通過這些信息準确的定義具體用戶所能配置的地址段,保證系統的安全性。

由于輕量級的sqlite數據庫着重于輕便和訪問效率,在安全方面考慮比較少。為确保數據安全,采用128位IDEA加密算法對所有數據進行加密處理。數據加密後保存入數據庫,讀取之後解密再使用。

為确保操作的可追溯性,系統日志主要記錄兩類内容:

1.通過跨校認證進入配置頁面的用戶信息,具體内容包括:用戶名、域名、時間、是否僞造請求。對于僞造的請求還需要記錄下其源IP地址,以方便後續跟蹤追查。

2.合法用戶通過系統的操作行為,具體信息包括:用戶名、域名、時間、配置目标、配置動作、是否違規操作等。

配置具體設備

為完成具體設備配置,系統使用PERL的Net::Telnet]模塊,通過Telnet完成具體的配置過程。Telnet同其它的Perl模塊一樣,使用面向對象的語法,因此非常簡單易用。完成黑洞路由配置添加,用到的兩條具體命令如下:

confiprouteadd**.**.**.**/32

confbgpaddnetwork**.**.**.**/32

具體的命令格式根據不同的設備型号可能有所區别。删除時将"add"改為"del"即可。同時通過BGP協議,将上述IP地址在上海教育城域網範圍内進行通告,将安全問題及時阻斷,實現用戶側的一鍵斷網。

系統目前在上海教育城域網内試運行并根據實際反饋加以改進,得到了相關運維人員的肯定,很大程度上簡化了手工配置的工作量,減少了由于管理和誤操作産生的網絡故障。根據實際應用反饋的信息,目前還存在一定的優化空間:

首先,配置内容有待豐富。除黑洞路由外,可以逐步添加其他常見的配置功能,如端口,訪問列表配置等。

其次,完善後台數據庫維護機制,提供更加方便的操作接口。目前數據庫維護基本由開發人員手工操作,下一步需要提供操作接口由專門的運維人員維護。

最後,逐步解決可能出現的安全風險。

(責編:楊潔)

(作者單位為上海交通大學網絡信息中心)
   

熱門書籍

熱門文章