于 闖, 楊 姝
(1. 沈陽師范大學 數(shù)學與系統(tǒng)科學學院, 沈陽 110034; 2. 沈陽師范大學 教育技術學院, 沈陽 110034)
校園網(wǎng)是一種局域網(wǎng),是學校進行信息化建設的基礎設施。它承載著學校教學、科研、人事、學生、財務、一卡通等關鍵業(yè)務。因此,對校園網(wǎng)進行有效的管理和維護,是保障其安全穩(wěn)定運行的關鍵[1]。
由于對校園網(wǎng)管理有較高的安全性要求,所以通常采用內網(wǎng)模式進行管理與維護。但隨著計算機網(wǎng)絡技術的發(fā)展,網(wǎng)絡已經與我們的日常工作、學習與生活密不可分,對于網(wǎng)絡的穩(wěn)定性提出了更高要求。對于網(wǎng)絡管理者而言,需要隨時隨地、高效地進行網(wǎng)絡管理,如何進行遠程網(wǎng)絡管理已成為網(wǎng)絡管理工作中的一個突出問題[2]。隨著VPN和OpenVPN技術的產生,使得網(wǎng)絡管理員利用公共網(wǎng)絡對校園網(wǎng)進行管理與維護并滿足校園網(wǎng)管理的安全性要求成為可能。本文則利用OpenVPN技術,設計出解決方案并實現(xiàn)了對校園網(wǎng)的遠程管理與維護。
首先,研究了OpenVPN技術;然后對校園網(wǎng)的實際管理應用需求進行分析,在此基礎上,提出基于OpenVPN技術的校園網(wǎng)遠程管理與維護的設計方案;最后根據(jù)本文提出的設計方案,搭建校園網(wǎng)環(huán)境下的運行系統(tǒng),實現(xiàn)對校園網(wǎng)遠程管理和維護。通過對實際系統(tǒng)的測試和運行,可以得出,按照本文設計方案搭建的系統(tǒng),可以實現(xiàn)對校園網(wǎng)進行遠程管理和維護,并且系統(tǒng)操作靈活方便、運行穩(wěn)定、安全可靠,能夠滿足遠程管理與維護的實際工作需要。
VPN(Virtual Private Network,虛擬專用網(wǎng)絡)技術屬于遠程訪問技術,利用該技術可以實現(xiàn)公用網(wǎng)絡對專用網(wǎng)絡的訪問[3]。OpenVPN是一款實現(xiàn)VPN的點到點、點到多點以及網(wǎng)端到網(wǎng)端等多種應用模式的開源軟件。OpenVPN的核心技術包括虛擬網(wǎng)卡技術、數(shù)據(jù)壓縮技術和數(shù)據(jù)加密技術。
虛擬網(wǎng)卡技術是OpenVPN的核心技術之一,它利用網(wǎng)絡底層編輯技術,在客戶端與服務器端各虛擬出一塊網(wǎng)卡,形成2塊虛擬網(wǎng)卡之間的邏輯通道[4]。通過虛擬網(wǎng)卡進行數(shù)據(jù)發(fā)送與接收,實現(xiàn)VPN業(yè)務。虛擬網(wǎng)卡驅動包括網(wǎng)卡驅動和字符驅動,其中網(wǎng)卡驅動負責傳輸數(shù)據(jù),字符驅動負責與應用層數(shù)據(jù)進行通訊??蛻舳伺c服務器端數(shù)據(jù)傳輸與各層次邏輯關系示意圖如圖1所示。從圖中可以看出:OpenVPN提供了TUN和TAP 2種虛擬網(wǎng)卡類型,其中TUN用于虛擬三層網(wǎng)絡,TAP用于虛擬二層網(wǎng)絡[5];虛擬網(wǎng)卡間的邏輯通道將客戶端與服務器聯(lián)接起來,并在網(wǎng)絡傳輸層建立SSL/TLS聯(lián)接。
圖1 OpenVPN的數(shù)據(jù)傳輸與各層次邏輯關系Fig.1 OpenVPN data transmission and logical relationship at various levels
LZO是OpenVPN在數(shù)據(jù)傳輸過程中使用的數(shù)據(jù)壓縮算法。該算法能夠實現(xiàn)對數(shù)據(jù)進行無損壓縮、重復壓縮和原地解壓。LZO算法在保證壓縮率相對不錯的前提下,具有壓縮速度快的突出特點[6]。它要求壓縮與解壓所用塊的大小保持一致,利用塊壓縮方式,也就是說是對成塊的數(shù)據(jù)進行壓縮解壓處理,數(shù)據(jù)塊被壓縮成匹配數(shù)據(jù)和非匹配文字序列。對于長度較大的非匹配數(shù)據(jù)序列和匹配數(shù)據(jù)序列都有專門的處理方式,對于不同類型的數(shù)據(jù)能夠取得不錯的效果。LZO的突出特點使其甚至可以應用于嵌入式系統(tǒng),并取得滿意效果[7]。OpenVPN采用LZO算法對通訊數(shù)據(jù)先進行壓縮處理,然后再進行數(shù)據(jù)網(wǎng)絡傳輸,以此來提高數(shù)據(jù)傳輸效率。
SSL(Secure Sockets Layer,安全套接層)及其TLS(Transport Layer Security,傳輸層安全)是為網(wǎng)絡通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。OpenVPN使用SSL/TLS協(xié)議在傳輸層對通訊數(shù)據(jù)進行加密傳輸[8]。
SSL協(xié)議用于因特網(wǎng)中數(shù)據(jù)的加密傳輸。SSL協(xié)議從3.1版本開始,由因特網(wǎng)任務小組接管,并更名為TLS。使用SSL/TLS數(shù)據(jù)加密技術,可以防止通訊數(shù)據(jù)在傳輸過程中被截取并竊聽。但是,因受到美國對加密軟件產品出口的限制,SSL/TLS在實用過程中存在密碼算法弱強度的問題,不能滿足政府、軍用、金融等高安全領域的安全性要求,需要通過調用高安全級別的加密算法來增強其安全性[9]。在常規(guī)應用場合中,SSL/TLS一般都可以直接滿足設計需要。
SSL/TLS被廣泛地用于客戶端與服務器端的身份認證和加密數(shù)據(jù)傳輸。SSL/TLS協(xié)議位于TCP/IP協(xié)議與各種應用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。SSL/TLS協(xié)議可分為SSL/TLS記錄協(xié)議和SSL/TLS握手協(xié)議2層。SSL/TLS記錄協(xié)議建立在可靠的傳輸協(xié)議(如TCP)之上,為高層協(xié)議提供數(shù)據(jù)封裝、加密等支持。SSL/TLS握手協(xié)議用于通訊數(shù)據(jù)傳輸開始之前,通訊雙方完成身份認證、協(xié)商算法、交換密鑰等操作。
為了實現(xiàn)管理員在外網(wǎng)對校園網(wǎng)進行安全穩(wěn)定的遠程管理和維護,需要對原有校園網(wǎng)系統(tǒng)拓撲結構進行適當改進。圖2為原校園網(wǎng)管結構,圖3為實現(xiàn)外網(wǎng)遠程管理與維護設計方案的系統(tǒng)結構。可以看出,在校園網(wǎng)中增設了一臺OpenVPN服務器并進行相應的權限配置。在校園網(wǎng)絡核心與匯聚層交換機中配置OpenVPN服務器的訪問權限,對其訪問網(wǎng)管服務器進行授權,從而實現(xiàn)網(wǎng)絡管理功能。同時更新路由表,使得從網(wǎng)管服務器發(fā)往目標地址為OpenVPN客戶端的數(shù)據(jù)包轉發(fā)至OpenVPN服務器處理,數(shù)據(jù)包再由OpenVPN服務器轉發(fā)給OpenVPN客戶端[10]。另外,在校園網(wǎng)絡核心與匯聚層交換機中需設置訪問控制列表,對OpenVPN客戶端的權限進行授權與隔離處理,以保證安全性要求。
圖2 原校園網(wǎng)管結構圖Fig.2 Original campus network management structure
圖3 實現(xiàn)外網(wǎng)遠程管理與維護設計方案的系統(tǒng)結構圖Fig.3 System structure design for realizing remote network management and maintenance
相對于原網(wǎng)管結構,本設計方案實現(xiàn)了如下功能:1)管理員可以通過外網(wǎng)聯(lián)接到OpenVPN服務器,遠程獲取校園網(wǎng)確定的IP地址段;2)為保證網(wǎng)絡的安全,在網(wǎng)絡聯(lián)接與數(shù)據(jù)傳輸時,進行了數(shù)據(jù)加密處理;3)通過分配專用于遠程管理的校園IP地址段并與校內原管理IP地址段相隔離,保證安全。
利用公網(wǎng)對校園網(wǎng)進行遠程網(wǎng)絡管理與維護,首先要解決IP地址的獲取問題。若確需使用公網(wǎng)IP地址,則在出口防火墻、入侵檢測、WEB應用防護等系統(tǒng)中,均設置了較高級別的安全策略,防止來自公網(wǎng)的黑客攻擊。同時,在校園網(wǎng)核心層、匯聚層及接入層交換機設置網(wǎng)絡訪問控制列表,避免來自內網(wǎng)的惡意攻擊。所以網(wǎng)絡管理人員只能通過指定的具有管理權限的IP地址段或IP地址,才能對校園網(wǎng)進行正常的網(wǎng)絡維護與管理操作,而其他的不論是校園網(wǎng)還是公網(wǎng)的IP地址段都不具備網(wǎng)絡管理權限。然而,網(wǎng)絡管理人員處于學校外部的公網(wǎng)環(huán)境中時,所獲取的IP地址大都是使用DHCP(動態(tài)主機配置協(xié)議)所分配到的隨機IP地址,尤其,當網(wǎng)絡管理員在校外處在不同的城市和地區(qū)時,所能分配到的IP地址具有更大的不確定性[11]。
采用OpenVPN技術可以很好地解決遠程網(wǎng)絡管理過程中出現(xiàn)的獲取IP地址難題[12]。利用虛擬專用網(wǎng)絡可以使得處于公網(wǎng)的主機授權獲得校園內網(wǎng)的IP地址,這樣就好像從外網(wǎng)打通了一條虛擬的通往學校內部的邏輯通路,使得網(wǎng)絡管理人員能夠在公網(wǎng)環(huán)境下授權獲得內網(wǎng)IP地址,邏輯上處于內網(wǎng)之下。OpenVPN服務器分配給客戶端的IP地址是預先設計好的隸屬于指定的IP地址段,因而可實現(xiàn)管理IP地址或IP地址段的確定性,從而可實現(xiàn)明確的權限分配并實現(xiàn)安全的網(wǎng)絡維護與管理。
OpenVPN的身份驗證方法有證書驗證和用戶名密碼驗證等方法[13]。因網(wǎng)絡管理人員涉及人數(shù)較少且相對固定,因此可采用證書驗證方式。本系統(tǒng)設計時,給每一個網(wǎng)絡管理人員都生成一份驗證證書,用于在外網(wǎng)進行VPN聯(lián)接,且采用證書驗證方式時,網(wǎng)絡黑客等攻擊者難以獲取到證書文件,因而采用這種身份驗證方法,使得整個遠程網(wǎng)絡管理系統(tǒng)更加安全。
網(wǎng)絡管理人員日常的工作環(huán)境一般都是經過專門分配的、進行過安全授權的、具有較高網(wǎng)絡管理權限的特定環(huán)境,一般采用指定IP地址或地址段并結合管理員登錄身份驗證的方式。系統(tǒng)設計時要考慮到這一方面,一旦被非法用戶獲取到密鑰與訪問權限,其所能取得的網(wǎng)絡管理權限需要具有一定的隱秘性和局限性。
網(wǎng)絡管理人員通過OpenVPN聯(lián)接后,所獲取到的擁有校園網(wǎng)管理權限的IP地址段有2種規(guī)劃方式:
1) 獲得與校內網(wǎng)絡管理人員相同地址段的IP地址
采用這種方式的優(yōu)點是:無需網(wǎng)絡作后續(xù)配置與調整,無須進行管理權限分配;缺點是校內、校外管理IP地址段相同,難以進行區(qū)分,一旦被非法用戶獲取到OpenVPN的聯(lián)接權限,將會造成較大的安全隱患。
2) 獲得指定的與校內網(wǎng)絡管理人員不同的另外一段IP地址
采用這種方式可以克服校內、校外管理IP地址段相同,難以進行區(qū)分,一旦被非法用戶獲取到OpenVPN聯(lián)接權限,產生較大安全隱患的缺點。因對校外網(wǎng)絡管理員所分配的網(wǎng)段是單獨的網(wǎng)段,所以權限可靈活分配,同時因與原網(wǎng)段相隔離也能避免產生直接的安全威脅。但采用這種方式所需要進行的設置與管理工作相對較多,如:需網(wǎng)絡管理權限作后續(xù)配置與調整、需再次進行管理權限分配、需進行校園網(wǎng)路由配置等。
因而,為避免可能造成的直接性安全威脅,實現(xiàn)靈活的權限分配,整個系統(tǒng)設計采用第2種方式。
同時,在系統(tǒng)管理上采用密鑰文件定期更新的方式,來降低可能出現(xiàn)的密鑰泄露而帶來的安全風險。
圖4 4層防護Fig.4 Four-layer protection
另外,系統(tǒng)設計采用多級別安全措施來加強系統(tǒng)的安全性。整個系統(tǒng)共擁有4層網(wǎng)絡安全防護,具體包括:端口授權檢查、密鑰檢查、IP地址授權檢查和網(wǎng)管身份驗證,充分保障了系統(tǒng)安全。4層防護及驗證過程流程圖如圖4所示。在校園網(wǎng)出口處對OpenVPN的服務端口進行授權訪問,對其他具有潛在風險的服務端口進行屏蔽保護,具體功能由校園網(wǎng)絡防火墻設置實現(xiàn)。檢查密鑰是否合法通過OpenVPN自身的服務進程來完成。然后,通過校園網(wǎng)核心層交換機來實現(xiàn)對網(wǎng)管服務器區(qū)域開放IP地址授權。最后,由網(wǎng)管服務器管理軟件自身擁有的身份驗證組件實現(xiàn)了特定網(wǎng)絡管理權限的合法性驗證。
結合上述設計方案,基于OpenVPN技術搭建出了校園網(wǎng)環(huán)境下的實際運行系統(tǒng)。同時,為保證系統(tǒng)的安全性、穩(wěn)定性和功能性,在系統(tǒng)搭建完成后,使用端口掃描、網(wǎng)絡聯(lián)通性測試、功能性測試等方式對系統(tǒng)進行測試,測試結果良好,系統(tǒng)功能正常。
首先,在OpenVPN服務器中安裝具有速度快、穩(wěn)定性高和支持多種硬件平臺的操作系統(tǒng)FreeBSD,版本為11.1[14];然后,在已安裝好的FreeBSD操作系統(tǒng)中安裝版本為2.4.5的OpenVPN服務器端軟件、版本為2-2.10的數(shù)據(jù)壓縮算法LZO軟件、版本為3.0.1的證書生成軟件easy-rsa以及版本為4.2.1的gmake編譯工具。
1) 下載并安裝OpenVPN客戶端軟件openvpn-install-2.3.14-I001-i686.exe。
2) 配置客戶端配置文件,編輯C:Program Files (x86)OpenVPNconfig目錄下的client.ovpn客戶端配置文件,設定服務器IP地址與端口號、協(xié)議、證書文件名稱等相關參數(shù)。
3) 將OpenVPN服務器中使用工具生成的CA證書、客戶端證書等4個文件:ca.crt;client.crt;client.key;ta.key拷貝到配置文件所在目錄C:Program Files(x86)OpenVPNconfig中。
系統(tǒng)的主要性能指標包括鏈路質量、安全性及功能性等3個方面??梢苑謩e利用網(wǎng)絡聯(lián)通性測試指令、端口掃描工具和實際網(wǎng)絡管理操作等方式完成系統(tǒng)的測試。
3.3.1 鏈路質量測試
1) 運行OpenVPN客戶端軟件,并與服務器建立聯(lián)接。
2) 測試丟包率與響應延遲。
表1 丟包率與延遲測試Tab.1 Packet loss rate and delay test
通過ICMP協(xié)議的PING命令可以對丟包率及響應延遲進行直觀測試[15]。命令執(zhí)行時使用參數(shù)-t,每次測試時間為連續(xù)5分鐘,隨機測試3次,每次PING命令反復執(zhí)行次數(shù)約為300次。統(tǒng)計測試結果如表1所示??梢钥吹?丟包率與延遲2項指標均良好,可以滿足實際應用需要。
3.3.2 安全性測試
在外網(wǎng)使用端口掃描工具檢測OpenVPN服務器的服務端口授權開放情況,僅提供OpenVPN服務的端口處于激活狀態(tài),實現(xiàn)了整個系統(tǒng)的第1層防護[16]。端口授權,具體功能通過設置校園網(wǎng)絡防火墻來實現(xiàn);第2層防護:密鑰檢查由OpenVPN服務進程來完成,只有使用合法授權密鑰可以通過驗證并建立聯(lián)接,而非合法授權密鑰無法通過驗證并被拒絕聯(lián)接;第3層防護:IP地址授權通過校園網(wǎng)核心交換機來實現(xiàn),對網(wǎng)管服務器區(qū)域開放訪問權限,其他非授權區(qū)域不具備訪問權限;第4層防護:身份驗證是通過網(wǎng)管服務器管理軟件自身來實現(xiàn)身份合法性驗證的,只有通過身份驗證的用戶才能獲得網(wǎng)絡管理權限。
與OpenVPN服務器成功建立聯(lián)接后,查看本地IP地址等信息情況,具體通過ipconfig-all命令來查看。描述為TAP-Windows Adapter V9的本地聯(lián)接為OpenVPN虛擬網(wǎng)卡。查看其從服務器獲取到的IP地址,其所在的IP地址段為預先規(guī)劃好的172.16.160開頭的遠程網(wǎng)管專用IP地址段。在校園核心、匯聚層交換機中已對這一段IP地址的權限進行了配置,且與原網(wǎng)管IP地址段相隔離,實現(xiàn)了預想的安全性需要。
3.3.3 遠程網(wǎng)管功能測試
在外網(wǎng)環(huán)境下,首先,運行電腦中已安裝配置好的OpenVPN客戶端軟件。然后,選擇“Connect”一項進行聯(lián)接操作。聯(lián)接成功后會出現(xiàn)“client is now connected”的提示,這時就可以測試相應的校園網(wǎng)絡管理功能了。經過實際測試,網(wǎng)絡入侵防御系統(tǒng)、防火墻管理、網(wǎng)絡用戶管理系統(tǒng)、郵件管理系統(tǒng)、DNS管理、交換機管理等各項遠程管理與維護功能均能正常使用,僅存在由公網(wǎng)聯(lián)接至校內網(wǎng)絡的正常路由轉發(fā)延遲,其訪問效果有如身在學校的網(wǎng)絡管理環(huán)境下。系統(tǒng)搭建成功后連續(xù)正常運行幾個月,運行穩(wěn)定可靠,可完全滿足遠程網(wǎng)管的實際工作需要。
通過對校園網(wǎng)絡管理過程中,因網(wǎng)絡管理人員處于校外無法進行校園網(wǎng)絡管理的實際問題進行問題分析、理論研究、系統(tǒng)方案設計,基于OpenVPN技術搭建出解決此問題的實際應用系統(tǒng),最后投入校園網(wǎng)絡管理實際環(huán)境中運行和測試。系統(tǒng)運行穩(wěn)定、應用效果良好,證明了系統(tǒng)設計的可行性和實用性,并且本研究成果可以在各種類似的場合下進行推廣和使用,具有較高的實際應用價值。