◆孫曉林 張新剛
(1.南陽師范學(xué)院網(wǎng)絡(luò)管理中心 河南 473061;2.南陽師范學(xué)院計(jì)算機(jī)與信息技術(shù)學(xué)院 河南 473061)
基于Nginx的網(wǎng)站安全優(yōu)化方案
◆孫曉林1張新剛2
(1.南陽師范學(xué)院網(wǎng)絡(luò)管理中心 河南 473061;2.南陽師范學(xué)院計(jì)算機(jī)與信息技術(shù)學(xué)院 河南 473061)
數(shù)字化智慧校園的發(fā)展,高校的辦公、科研、管理都更加數(shù)字化、智能化,應(yīng)用系統(tǒng)和各類網(wǎng)站都不斷增加。然而,高校網(wǎng)站存在數(shù)量大、網(wǎng)站制作技術(shù)不統(tǒng)一等問題,引起管理不便,安全隱患也隨之而來。使用Nginx反向代理技術(shù),將網(wǎng)站服務(wù)器加以隱藏,使Internet用戶通過Nginx服務(wù)器訪問網(wǎng)站,從而增強(qiáng)了網(wǎng)站安全性。
Nginx;網(wǎng)站;安全;反向代理
隨著教育信息化的推進(jìn)和數(shù)字化智慧校園的發(fā)展,高校網(wǎng)站和應(yīng)用系統(tǒng)的數(shù)量都隨之增加,其中應(yīng)用系統(tǒng)是高校內(nèi)部教學(xué)、科研、管理的重要平臺(tái),網(wǎng)站是高校面向社會(huì)的窗口[1]。2017年6月1日《網(wǎng)絡(luò)安全法》的頒布實(shí)施,校園網(wǎng)的安全性顯得更加重要。高效網(wǎng)站存在數(shù)量多、制作技術(shù)不統(tǒng)一等問題,成為黑客關(guān)注的重點(diǎn),是網(wǎng)絡(luò)安全的重災(zāi)區(qū)[2]。由于 Nginx具有反向代理的特點(diǎn),可以使用戶通過Internet和Nginx服務(wù)器對(duì)網(wǎng)站進(jìn)行訪問,從而增強(qiáng)了高校網(wǎng)站的透明性和安全性。
Nginx起源于俄羅斯,可以提供web代理、反向代理和電子郵件服務(wù)[3]。由于 Nginx具有性能高、并發(fā)性強(qiáng)、穩(wěn)定性高、資源消耗低、易于配置等優(yōu)點(diǎn),在國內(nèi)外已經(jīng)得到廣泛的應(yīng)用。目前國內(nèi)的百度、騰訊、新浪等大型網(wǎng)站都使用Nginx作為服務(wù)器對(duì)外提供服務(wù)[4]。
Nginx的常用功能有:
(1)負(fù)載均衡:也就是把多臺(tái)服務(wù)器虛擬成一臺(tái)服務(wù)器對(duì)外提供服務(wù), 每一臺(tái)服務(wù)器獨(dú)立對(duì)客戶請(qǐng)求進(jìn)行回應(yīng)[5],從而使大量的并發(fā)訪問成為可能,提高用戶訪問速度。
(2)搭建流媒體平臺(tái):先使用Rtmp協(xié)議將視頻流推送到服務(wù)器,然后用戶進(jìn)行點(diǎn)播,實(shí)現(xiàn)多個(gè)頻道的實(shí)時(shí)直播。
(3)反向代理:就是將Internet用戶的訪問請(qǐng)求,轉(zhuǎn)發(fā)至防火墻后的服務(wù)器,再把內(nèi)網(wǎng)服務(wù)器的返回結(jié)果轉(zhuǎn)發(fā)給Internet的請(qǐng)求用戶[6]。對(duì)用戶來說,反向代理服務(wù)器是Internet用戶訪問內(nèi)網(wǎng)服務(wù)的入口,從而使內(nèi)網(wǎng)服務(wù)器的真實(shí)信息得到隱藏,加強(qiáng)了服務(wù)器及服務(wù)安全性。Nginx具有web緩存功能,當(dāng)用戶第一次訪問某個(gè)頁面時(shí)將相關(guān)的css、jpg等靜態(tài)文件進(jìn)行緩存,之后可以直接將緩存數(shù)據(jù)發(fā)送給用戶,從而降低數(shù)據(jù)庫負(fù)載,減少網(wǎng)絡(luò)延遲,提高用戶訪問的相應(yīng)速度,增強(qiáng)用戶體驗(yàn)感。Nginx還可以啟用高級(jí)URL策略和管理技術(shù),從而使處于不同web服務(wù)器的頁面同時(shí)存在于同一個(gè) URL下??傊聪虼韺?duì)外是透明的,Internet訪問者并不知道自己訪問的是一個(gè)代理[7]。
高校網(wǎng)站分三種:自行制作托管、自行制作獨(dú)立運(yùn)行、站點(diǎn)內(nèi)容管理系統(tǒng)統(tǒng)一制作托管。就安全性來說,站點(diǎn)內(nèi)容管理系統(tǒng)能夠?qū)崿F(xiàn)網(wǎng)站前后臺(tái)分離,安全性最高;其次是自行制作統(tǒng)一托管類網(wǎng)站,由于網(wǎng)站制作技術(shù)人員水平參差不齊,代碼中可能存在安全隱患;最不安全的是第二種。
對(duì)于自行制作托管網(wǎng)站,可以考慮歸類單獨(dú)放置管理,然后使用Nginx反向代理,既實(shí)現(xiàn)了同類網(wǎng)站統(tǒng)一域名訪問,又最大程度地保障其他網(wǎng)站的正常運(yùn)行。
另外,由于各部門工作的實(shí)際情況,財(cái)務(wù)和圖書館等部門的網(wǎng)站和相關(guān)系統(tǒng)需要單獨(dú)放置,便于管理。但因?yàn)榧夹g(shù)人員缺乏以及財(cái)力不足問題,安全防護(hù)措施不能防范到位,存在很大的安全風(fēng)險(xiǎn)。對(duì)于這種情況,使用Nginx進(jìn)行反向代理,隱藏真實(shí)服務(wù)器信息,一定程度上能夠保護(hù)服務(wù)器的安全。
Nginx對(duì)操作系統(tǒng)環(huán)境沒有特定要求,可以在 windows或Linux系統(tǒng)進(jìn)行部署。下面主要對(duì) Nginx配置文件進(jìn)行介紹,具體如下:
(1)反向代理核心配置代碼
其中,proxy_pass 后面是內(nèi)部服務(wù)器上網(wǎng)站的訪問地址URL。URL后面的“/”有重要作用,加上“/”,Internet用戶訪問地址只是“www3.nynu.edu.cn”的絕對(duì)根路徑;相反,如果沒有“/”,則用戶訪問的URL要加上location中的匹配路徑。
此外,上述設(shè)置可以讀取至根目錄,即使http://192.168.10.21下有多級(jí)虛擬目錄,也不必一一進(jìn)行配置,使用上述方法就可以實(shí)現(xiàn)所有子網(wǎng)站的訪問,如:http://www3.nynu.edu.cn/file/web1可以打開。
(2)多端口配置
(3)多域名配置
(4)安全設(shè)置
為了增強(qiáng)網(wǎng)站的安全性,Nginx的配置文件中增加以下設(shè)置。
禁止使用IP地址訪問:
server_name _; return 404;
禁止列出網(wǎng)站目錄:
autoindex off;限制某些類型文件的訪問權(quán)限:
限制可用的請(qǐng)求方法,只允許GET,HEAD和POST方法:
(5)緩存配置
為提高用戶訪問質(zhì)量,對(duì) Nginx緩存進(jìn)行配置,緩存所用的硬盤空間40G,正常訪問狀態(tài)下緩存時(shí)間是3天,緩存數(shù)據(jù)5天無訪問則刪除。具體代碼如下:
以上設(shè)置實(shí)現(xiàn)了Nginx反向代理功能,并進(jìn)行安全配置,進(jìn)一步加強(qiáng)了網(wǎng)站的安全性。部署完成之后,對(duì)使用Nginx代理的網(wǎng)站進(jìn)行測試,所有的安全設(shè)置都全部生效。由于緩存的設(shè)置,在高并發(fā)情況下,網(wǎng)站的訪問速度也明顯提升,增強(qiáng)了用戶訪問的舒適度。
通過Nginx反向代理服務(wù)器的配置,校內(nèi)網(wǎng)站通過Nginx進(jìn)行代理,網(wǎng)站所屬服務(wù)器信息得到很好地保護(hù),加強(qiáng)了網(wǎng)站的安全性;通過對(duì)Nginx反向代理中安全和緩存設(shè)置,我校的網(wǎng)站安全性和訪問速度得到很好地解決。由于技術(shù)在不斷進(jìn)步,要與時(shí)俱進(jìn),不斷學(xué)習(xí),加強(qiáng)創(chuàng)新,進(jìn)一步加強(qiáng)校園網(wǎng)的安全。
[1] 馮貴蘭,李正楠. Nginx反向代理在高校網(wǎng)站系統(tǒng)中的應(yīng)用研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2017.
[2] 劉振昌,陳詩明,焦寶臣等.高校網(wǎng)站安全管理模式的探索與實(shí)踐[J].華東師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2015.
[3] 高群凱.深入剖析 Nginx[M].人民郵電出版社,2013.
[4] 張宴.實(shí)戰(zhàn)Nginx:取代Apache的高性能Web服務(wù)器[M].電子工業(yè)出版社,2010.
[5] 任世宗,李潤知,張茜等.基于Nginx的可擴(kuò)展負(fù)載均衡Web站點(diǎn)部署[J].中國教育網(wǎng)絡(luò),2014.
[6] 車樹炎,黃銀瑞.反向代理技術(shù)在高校網(wǎng)站系統(tǒng)中的應(yīng)用研究[J].電腦編程技巧與維護(hù),2013.
[7] 雷明彬.反向代理技術(shù)在數(shù)字化校園中的應(yīng)用[J].電腦與電信,2009.
南陽師范學(xué)院青年項(xiàng)目(QN2015012);河南省科技攻關(guān)項(xiàng)目(172102310702);河南省教育廳科技研究重點(diǎn)項(xiàng)目(17A520049,17A630046)。