韓紅宇,樊蒙蒙
(河南工業(yè)大學 漯河工學院,河南 漯河 462000)
高校作為先進思想傳播和高精尖科技研發(fā)的前沿陣地,正不可避免地面臨著來自網(wǎng)絡空間的安全威脅。對此國家下發(fā)了一系列政策措施,要求各高校加強網(wǎng)絡空間防護能力。隨著高校師生日常工作和學習的信息化程度越來越高,網(wǎng)絡系統(tǒng)的訪問量與日俱增,加大了服務器的壓力。反向代理機制的引入能很好地解決內(nèi)部服務器的安全、負載均衡、IPv6地址轉(zhuǎn)換等問題。
高校校園網(wǎng)及其應用系統(tǒng)承擔著學校招生、科研、日常管理和宣傳等任務,網(wǎng)站及其應用系統(tǒng)繁多,管理難度較大。學生、科研、財務等信息安全等級要求很高,信息泄露造成的影響很大,需要針對各應用系統(tǒng)分別制訂安全策略,而各個部門安全防護技術(shù)能力參差不齊,甚至有很多安全死角,風險隱患較大。校園網(wǎng)絡所面臨的網(wǎng)絡攻擊隱患已經(jīng)引起了社會各界的高度重視。
目前高校網(wǎng)站在招生、就業(yè)等特殊時期的訪問量劇增,服務器負載過大,業(yè)務難以正常進行。全面升級到下一代互聯(lián)網(wǎng)教育系統(tǒng)現(xiàn)已成為國家戰(zhàn)略的一部分,而高校網(wǎng)站及其應用系統(tǒng)建設(shè)較早,基本上都是基于IPv4的技術(shù),全面更新至IPv6難度較大。因此,選擇一種適合于向IPv6網(wǎng)絡過渡的方案成為各高校亟待解決的問題[1]。
反向代理相對于正向代理而言,是指以服務器接受互聯(lián)網(wǎng)上的外部連接請求,然后將該請求轉(zhuǎn)發(fā)至網(wǎng)絡內(nèi)部的服務器;同時把服務器響應的結(jié)果返回給互聯(lián)網(wǎng)上請求連接的客戶端,所以代理服務器就表現(xiàn)為一個從外向內(nèi)的流程。
而平時所說的代理服務器為正向代理,僅用于代理Intranet(內(nèi)網(wǎng))到Internet(外網(wǎng))的連接請求??蛻舳吮仨氈付ù矸掌鳎⑾蛘虼矸掌靼l(fā)送HTTP/HTTPS請求。不支持從外部網(wǎng)絡到內(nèi)部網(wǎng)絡的連接請求,因為內(nèi)部網(wǎng)絡對外部網(wǎng)絡不可見。而反向代理服務器剛好相反,代理服務器代表外網(wǎng)上的客戶端訪問內(nèi)網(wǎng)上的服務器。這種情況下,Server對外表示為一個Web服務器,外網(wǎng)訪問者只需將其視為一個普通Web Server,略過流程的下一步且不用具體配置。不同的是,真實Web頁面的任何實際數(shù)據(jù)并不會存儲在反向代理服務器上。而內(nèi)網(wǎng)的真實服務器上則留存著一切的網(wǎng)頁內(nèi)容和網(wǎng)站程序信息,外網(wǎng)用戶并不知道真實服務器的存在。所以,一切對反代服務器的網(wǎng)絡攻擊都到此為止,真實的網(wǎng)站信息并未遭受破壞,由此加固了內(nèi)網(wǎng)網(wǎng)站服務器的整體安全性[2]。
反向代理可以用作服務器加速器,其技術(shù)原理是:在業(yè)務負載較大的網(wǎng)站服務器和外網(wǎng)之間架設(shè)高速高性能的Web緩存服務器,以降低真實服務器負載壓力。反向代理作為高速代理緩存,它為外網(wǎng)的訪問者提供服務,而指向一個或多個內(nèi)部的Web Server。反向代理提供代理外網(wǎng)到內(nèi)網(wǎng)訪問請求,大大提高了Server的被訪問速度。
外網(wǎng)的訪問者訪問網(wǎng)站時首先經(jīng)過反向代理服務器把從真實服務器上獲取的網(wǎng)頁內(nèi)容回饋給訪問者,并把取得的信息內(nèi)容另存一份到反向代理服務器,而下次如再次得到相同請求時,就會把服務器里的緩存網(wǎng)頁內(nèi)容直接響應給訪問者,這樣就降低了內(nèi)部網(wǎng)站服務器的工作壓力,提高了訪問響應速度。
內(nèi)網(wǎng)服務器的信息具有專網(wǎng)屬性,一般進行專網(wǎng)物理隔離或使用網(wǎng)閘進行邏輯隔離,保證敏感信息的訪問區(qū)域權(quán)限,如財務專網(wǎng)和一卡通專網(wǎng)等。服務器信息只能被專網(wǎng)內(nèi)部的用戶訪問和使用,而在一些特殊時期和場景下,這些服務又需要在專網(wǎng)以外使用,如在疫情期間我們需要在家中處理專網(wǎng)應用。常用的方法是使用VPN(Virtual Private Network)在公用網(wǎng)絡上搭建服務專用網(wǎng)絡,為了保證安全性,需要加密通訊。VPN網(wǎng)關(guān)通過對數(shù)據(jù)包的加密和數(shù)據(jù)包目標地址的轉(zhuǎn)換實現(xiàn)遠程訪問[3]。VPN的優(yōu)點是安全可靠,但在訪問量較大時VPN設(shè)備將成為一個瓶頸,如疫情期間大量學生需要訪問教學資源。此時,可以在出口設(shè)備和防火墻之間搭建一個反向代理當作應用系統(tǒng)的替身,當學生在校外請求訪問校內(nèi)資源時,將其請求送至反向代理服務器。
學生通過用戶端向?qū)W校網(wǎng)站發(fā)出訪問請求,該請求被發(fā)送至反向代理,再通過防火墻制訂的策略路徑將學生的請求發(fā)送至應用服務器;應用服務器通過此通道將響應結(jié)果發(fā)回反向代理;反向代理把獲取的內(nèi)容發(fā)送給學生,整個過程對學生而言是透明的。應用服務器如果返回了一個錯誤消息,反向代理將攔截消息頭中列出的所有URL(Uniform Re?source Locator,統(tǒng)一資源定位符),有效防止外網(wǎng)客戶端獲得內(nèi)網(wǎng)應用服務器URL重定向。這樣,通過反向代理系統(tǒng)發(fā)布資源,對外隱藏真實的IP地址,反向代理充當?shù)谝坏婪雷o,使系統(tǒng)更加安全穩(wěn)定。
我們可以通過多個反向代理來平衡各應用服務器之間的負載,充分發(fā)揮反向代理高速緩存的優(yōu)勢,搭建一個負載平衡服務器池。反向代理會把用戶請求的Web信息存到高速緩存。如果存在多個反向代理服務器,智能DNS配合行使“循環(huán)復用法”定位IP地址,自動選擇最優(yōu)路由。
反向代理還支持用戶單獨設(shè)置每個網(wǎng)站緩沖區(qū)數(shù)量和容量、存放位置、保留時間等緩存策略,設(shè)置訪問請求次數(shù)等清除緩存的觸發(fā)條件,并針對網(wǎng)站狀態(tài)碼設(shè)置緩存時間。
支持通過PageSpeed技術(shù)優(yōu)化網(wǎng)頁代碼,采用CoreFiters過濾器,通過啟用禁用壓縮空白過濾器、CSS優(yōu)化等方式減少單次傳輸流量,降低服務器壓力,提升瀏覽器渲染效率。
系統(tǒng)支持負載均衡調(diào)度方式,可基于會話和負載進行調(diào)度,能夠通過基于最少連接數(shù)或哈希IP算法的調(diào)度方式進行負載均衡,還能夠通過檢測最大失敗次數(shù)和超時時間判斷后端服務器的狀態(tài),從而進行負載均衡[4]。
目前國際上常見的反向代理系統(tǒng)有Varnish、Squid Cache、HAProxy、Nginx等。
Nginx是一個高性能的HTTP和反向代理Web服務器,由伊戈爾·賽索耶夫開發(fā),第一個公開版本發(fā)布于2004年10月4日。Nginx采用事件驅(qū)動的多進程架構(gòu)、異步網(wǎng)絡輸入輸出機制和極少的進程間切換設(shè)計,能夠同時支持百萬級別的網(wǎng)絡連接[5]。該系統(tǒng)在Linux系統(tǒng)下運行,配合apache服務器使用。系統(tǒng)開源完全免費,可以為單位節(jié)約成本;工作在七層,可以針對HTTP做分流策略;安裝、配置在幾個開源系統(tǒng)中相對簡單,可以通過日志解決多數(shù)問題。
目前國內(nèi)已經(jīng)有了很多成熟的反向代理系統(tǒng),有強大的服務技術(shù)支持。技術(shù)內(nèi)核其實是對Nginx等開源軟件的二次開發(fā),界面符合中國人的使用習慣。這里以“網(wǎng)瑞達反向代理系統(tǒng)”為例簡單介紹。
反向代理系統(tǒng)的核心功能有:Web類資源的統(tǒng)一發(fā)布與管理;用戶通過網(wǎng)頁免安裝、免插件直接訪問;匹配移動終端不同的操作系統(tǒng);支持用戶登錄后可視化自定義導航頁面。
當用戶訪問公共資源或內(nèi)部資源時,可以通過工作節(jié)點服務器代理并需要開啟認證訪問策略。只有通過認證許可的用戶,才能接入訪問內(nèi)部資源。
作為對外發(fā)布網(wǎng)站的業(yè)務系統(tǒng),其穩(wěn)定運行尤為重要。如無必要,系統(tǒng)不可關(guān)機。當出現(xiàn)電路檢修需要斷電的情況,需要關(guān)機重啟系統(tǒng)。系統(tǒng)重新啟動時需要關(guān)注系統(tǒng)的NTP是否正常、管理端與反代服務器聯(lián)通是否正常、各代理網(wǎng)站是否正常等,如有必要去后臺使用nginx-t命令檢查系統(tǒng)功能是否正常運行。
2018年8月21日,教育部辦公廳發(fā)布“關(guān)于貫徹落實《推進互聯(lián)網(wǎng)協(xié)議第六版(IPv6)規(guī)模部署行動計劃》的通知”,主要目標:到2020年底,教育系統(tǒng)的各類網(wǎng)絡、門戶網(wǎng)站和重要應用系統(tǒng)完成升級改造,支持IPv6訪問;基于IPv6的安全保障體系基本形成[6]。各高校積極推進主要應用系統(tǒng)和門戶網(wǎng)站的IPv6升級改造工作,大部分院校都完成了2020年階段性目標行動。但距離應用系統(tǒng)全面支持IPv6還有很大的差距,呈現(xiàn)“門戶先行、其他滯后”的狀態(tài),需要設(shè)計一個不改變原有網(wǎng)絡架構(gòu)、不淘汰原有IPv4應用系統(tǒng)、用戶“零感知”的轉(zhuǎn)換策略,將眾多業(yè)務系統(tǒng)從v4網(wǎng)絡轉(zhuǎn)換到v6網(wǎng)絡[7]。
使用反向代理技術(shù)可以在保持原有IPv4網(wǎng)絡拓撲結(jié)構(gòu)不變的前提下,在旁路部署一臺IPv6/IPv4轉(zhuǎn)換設(shè)備,只需在反向代理設(shè)備上配置IPv6地址,來自外部的IPv6流量訪問該地址,經(jīng)過反向代理設(shè)備轉(zhuǎn)換后,通過IPv4路由指向目的網(wǎng)站和應用系統(tǒng)服務器。節(jié)約成本、用戶“零感知”,是老系統(tǒng)升級換代前支持IPv6訪問的最優(yōu)方案[8]。
Nginx常用的應用有Web服務、負載均衡(反向代理Proxy)、Web Cache(緩存機制)等[9],能很好地滿足上文中提到的各項功能需求。下面重點討論通過反向代理實現(xiàn)IPv4網(wǎng)絡到IPv6網(wǎng)絡過渡方案的Nginx系統(tǒng)參考配置方法。
Nginx反向代理服務器除了通過高性能的HTTP代理功能,解決地址隱藏、負載均衡、安全統(tǒng)一配置外,用其來解決IPv4/IPv6互訪,在IPv4時代向純IPv6時代過渡初期是非常行之有效的解決方案。IPv4地址網(wǎng)絡向IPv6地址網(wǎng)絡過渡解決方案如圖1所示。
圖1 IPv4/IPv6過渡圖
在IPv4地址網(wǎng)絡和IPv6地址網(wǎng)絡邊界上部署Nginx反向代理服務器(Linux操作系統(tǒng)),為了確保IPv4/IPv6地址的網(wǎng)絡連通性,要求對外開放22(SSH協(xié)議)、80(WEB訪問)、443(主要用于HTTPS服務)等端口。
目前全國絕大部分高校都已開通基于教育科研網(wǎng)的IPv6網(wǎng)絡。只要根據(jù)分配的地址段正確配置,即可正常使用IPv6資源。
用戶通過IPv6域名或IPv6地址發(fā)出訪問請求,直接通過Nginx代理軟件轉(zhuǎn)發(fā)給proxy_pass參數(shù)指定的不支持IPv6地址的服務器,網(wǎng)站對Nginx發(fā)過來的HTTP請求做出回應,回應數(shù)據(jù)到達Nginx代理服務器后,經(jīng)過Nginx軟件轉(zhuǎn)換并進行IPv6請求回復就實現(xiàn)了代理功能,同時解決了IPv6網(wǎng)絡用戶訪問IPv4業(yè)務系統(tǒng)的需求,實現(xiàn)了兩者的無感鏈接[10]。
引入反向代理具有以下4個方面的優(yōu)點:
(1)解決了內(nèi)部應用服務器對外服務的需求,安全可靠,同時也能減少VPN的工作壓力[11];
(2)校內(nèi)對內(nèi)應用則分配私有地址,對外發(fā)布的網(wǎng)站只需通過共享一個ISP分配公網(wǎng)IP地址,運用虛擬主機的模式對外提供訪問業(yè)務,降低了校內(nèi)有限的IPv4公網(wǎng)地址資源[12];
(3)真實服務器地址對外不可見,而反向代理上并沒有真正的原始數(shù)據(jù),對內(nèi)部真實的應用服務器增加保護,保證了內(nèi)網(wǎng)的資源安全;
(4)反問代理具備高速緩存網(wǎng)頁信息的功能,若是緩存池中已存在客戶所需訪問的內(nèi)容,可直接在反向代理中獲取,極大程度減少了應用服務器的負載,降低網(wǎng)頁的加載速度。
目前反向代理系統(tǒng)已在漯河職業(yè)技術(shù)職業(yè)學院部署實施,校方通過反向代理技術(shù),實現(xiàn)了對外發(fā)布的網(wǎng)站統(tǒng)一管理,不受真實地址數(shù)量的限制(只使用一個外網(wǎng)IP地址),可自由發(fā)布網(wǎng)絡資源,滿足老師的資源發(fā)布需求。通過反向代理系統(tǒng)發(fā)布的資源,不對外暴露真實服務器IP地址,使系統(tǒng)更加安全?,F(xiàn)已統(tǒng)一發(fā)布管理學校二級網(wǎng)站49個,大大提高了信息系統(tǒng)的管理效率。用戶可以靈活地管理各類資源的訪問控制策略,可通過本系統(tǒng)來管理資源安全策略并進行相關(guān)的審計。此外,系統(tǒng)還支持實時監(jiān)控資源狀態(tài)并及時告警,發(fā)現(xiàn)異??稍谶h程一鍵斷網(wǎng)??苫谌咳罩具M行多維度的統(tǒng)計分析,同時支持IPV6發(fā)布,滿足了國家相關(guān)要求。
通過引入反向代理技術(shù),節(jié)省真實IPv4地址數(shù)量,發(fā)布網(wǎng)絡資源時更不受拘束,滿足學校各業(yè)務領(lǐng)域資源發(fā)布要求。與此同時,運用反向代理技術(shù)發(fā)布資源時,對外隱藏真實IPv4地址,使系統(tǒng)更加安全;還可通過反向代理實現(xiàn)負載均衡,提高訪問效率;支持一鍵斷網(wǎng);支持IPv6發(fā)布、5G技術(shù)應用,滿足下一代互聯(lián)網(wǎng)技術(shù)的要求。跟當下常見的API網(wǎng)關(guān)對比,該技術(shù)具有開源、跨平臺、易管理、高可靠性等優(yōu)點,非常適合在高校當前網(wǎng)絡環(huán)境下推廣。