国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

中國科學(xué)技術(shù)大學(xué)Nginx 在校園網(wǎng)站集中服務(wù)的應(yīng)用

2019-04-18 09:34張煥杰陳蕾夏玉良
中國教育網(wǎng)絡(luò) 2019年3期
關(guān)鍵詞:代理服務(wù)器IP地址日志

文/張煥杰 陳蕾 夏玉良

無論是單純發(fā)布信息的網(wǎng)頁或是WWW頁面訪問的應(yīng)用,呈現(xiàn)給最終用戶的形式都是Web網(wǎng)站。用戶通過校園網(wǎng)或Internet網(wǎng)絡(luò)訪問這些網(wǎng)站時(shí),希望能提供IPv6/IPv4多協(xié)議支持,提供多家運(yùn)營商線路入口的就近訪問,提供HTTPS安全傳輸支持。網(wǎng)站運(yùn)維方為了安全的考慮,希望將訪問流量引導(dǎo)經(jīng)過Web應(yīng)用防火墻(WAF)設(shè)備過濾處理,提供對網(wǎng)站靈活可控的邊界防護(hù)手段,具備日志記錄功能以滿足法規(guī)要求。

Nginx是一個(gè)異步框架的Web服務(wù)器,也可用作反向代理、負(fù)載均衡和HTTP緩存服務(wù)器。中國人章亦春把LuaJIT VM(Lua語言是巴西教授發(fā)明的簡單腳本語言)嵌入 Nginx中,實(shí)現(xiàn)高性能服務(wù)端解決方案OpenResty。

Nginx使用高效率的操作系統(tǒng)內(nèi)核epoll接口處理TCP并發(fā)連接,因此可以輕松支持幾十萬甚至更多并發(fā)連接。

Nginx運(yùn)行在Unix類操作系統(tǒng)或Windows操作系統(tǒng),本文以最常見的Linux操作系統(tǒng)為運(yùn)行環(huán)境。

Nginx反向代理服務(wù)器

如圖1所示,設(shè)立一臺Nginx服務(wù)器,將網(wǎng)站的域名解析到該Nginx服務(wù)器。用戶訪問網(wǎng)站時(shí),Nginx服務(wù)器首先接收來自用戶的訪問請求,并將請求轉(zhuǎn)發(fā)到源網(wǎng)站,獲取到應(yīng)答后再轉(zhuǎn)發(fā)給用戶。這樣工作的Nginx服務(wù)器被稱為反向代理服務(wù)器。設(shè)立Nginx反向代理服務(wù)器,集中處理用戶對網(wǎng)站訪問服務(wù),在不修改源服務(wù)器的情況下,以幾乎零成本滿足引言中描述的最終用戶和網(wǎng)站運(yùn)維方的多種需求。

圖1 Nginx反向代理工作示意

多入口與IPv6/IPv4協(xié)議支持

Nginx反向代理服務(wù)器上設(shè)置多個(gè)運(yùn)營商網(wǎng)絡(luò)IP地址,并使用DNS的視圖功能,將不同運(yùn)營商的用戶對域名的查詢請求解析到恰當(dāng)?shù)腎P,這樣用戶的訪問就可以就近進(jìn)行。Nginx服務(wù)器要把從某個(gè)運(yùn)營商入口進(jìn)來的請求對應(yīng)的應(yīng)答數(shù)據(jù)包,還要從該出口返回,確保用戶訪問服務(wù)器的任何IP都能正常進(jìn)行。

Linux操作系統(tǒng)支持策略路由的設(shè)置。管理員使用ip rule命令讓不同IP發(fā)出的數(shù)據(jù)包查找不同的路由表,從而實(shí)現(xiàn)源地址策略路由。Nginx反向代理服務(wù)器中給出了設(shè)置策略路由的配置命令。設(shè)置完成后,使用https://www.17ce.com/可從國內(nèi)外若干網(wǎng)絡(luò)對網(wǎng)站的訪問可達(dá)性、傳輸延遲和速度進(jìn)行測試。

Linux操作系統(tǒng)與Nginx軟件提供完整的IPv6協(xié)議功能,簡單設(shè)置,不需要修改源站的設(shè)置,即可對外提供IPv6/IPv4協(xié)議服務(wù),是將現(xiàn)有網(wǎng)站升級支持IPv6協(xié)議最簡單和便捷的方式。

HTTPS協(xié)議支持

超文本傳輸安全協(xié)議HTTPS提供對網(wǎng)站服務(wù)器的身份認(rèn)證,保護(hù)交換數(shù)據(jù)的隱私與完整性。為了避免中間人的流量嗅探或流量劫持,越來越多的Web站點(diǎn)開始使用HTTPS協(xié)議。HTTP/2是一種二進(jìn)制協(xié)議,帶來推送、數(shù)據(jù)流復(fù)用和幀控制等功能,目前主要用于減少HTTPS協(xié)議握手時(shí)延遲對訪問體驗(yàn)的負(fù)面影響,已經(jīng)被主流的瀏覽器支持。

只要具有公認(rèn)的CA機(jī)構(gòu)發(fā)出的服務(wù)器證書,Nginx就可以方便地對外提供HTTPS協(xié)議訪問。為了簡化管理,我們僅僅在用戶和Nginx反向代理服務(wù)器間啟用HTTPS協(xié)議,在Nginx反向代理服務(wù)器與源服務(wù)器間仍使用HTTP協(xié)議。

Nginx反向代理服務(wù)器轉(zhuǎn)發(fā)請求時(shí),向源服務(wù)器發(fā)送Host、X-REAL-IP和X-Forwarded-Proto三個(gè)HTTP頭,內(nèi)容分別是請求的主機(jī)名、客戶端IP地址、客戶訪問時(shí)的協(xié)議(HTTP/HTTPS),以方便源服務(wù)器使用。

啟用HTTPS協(xié)議后,建議使用https://www.ssllabs.com評估HTTPS協(xié)議的安全性,必要時(shí)調(diào)整部分參數(shù),禁用不安全的加密算法,以達(dá)到更高的安全性。

提供HTTPS服務(wù)后,可以將用戶的HTTP訪問重定向到HTTPS訪問,并設(shè)置HSTS頭,強(qiáng)制將來一直使用HTTPS訪問,徹底杜絕中間人的流量嗅探或流量劫持。

WAF設(shè)備引流

只要讓Nginx反向代理服務(wù)器訪問源服務(wù)器的HTTP流量經(jīng)過Web應(yīng)用防火墻(WAF)設(shè)備,就完成了引流工作。WAF設(shè)備上看到請求均是由Nginx服務(wù)器發(fā)起,因此需要調(diào)整WAF設(shè)置,讓W(xué)AF設(shè)備從HTTP請求的X-REAL-IP頭獲取客戶端IP信息。

為減少攻擊者對Nginx的影響,可以收集并分析WAF日志,獲取到攻擊者的IP地址,直接使用Nginx服務(wù)器上的包過濾防火墻將這些IP地址封禁,徹底切斷攻擊者的通信。

邊界防護(hù)

校園內(nèi)網(wǎng)站數(shù)量龐大,不同的網(wǎng)站在不同的時(shí)期有不同的邊界防護(hù)需求。如在重要時(shí)期網(wǎng)絡(luò)保障階段,需要將可能存在潛在漏洞的信息化應(yīng)用網(wǎng)站限制在校內(nèi),并將部分必須校外訪問的網(wǎng)站增加一個(gè)認(rèn)證階段,避免這些網(wǎng)站直接暴露到校外的潛在安全風(fēng)險(xiǎn)。

使用反向代理對外服務(wù)的網(wǎng)站,源服務(wù)器不需要對外暴露,能讓反向代理服務(wù)器訪問即可,源服務(wù)器更加安全。

設(shè)置Nginx中的Acl訪問控制策略,僅允許自己校內(nèi)的IPv4/IPv6地址訪問,即可將網(wǎng)站限制在校內(nèi)訪問。

使用lua對反向代理做權(quán)限控制給出的方案,在Nginx反向代理服務(wù)器上運(yùn)行一段lua腳本程序,不需對源網(wǎng)站做任何修改,能對校外訪問網(wǎng)站增加一次認(rèn)證階段,實(shí)現(xiàn)靈活的邊界防護(hù)策略,并可隨時(shí)在Nginx代理服務(wù)器上切換。權(quán)限控制部分是運(yùn)行在Nginx內(nèi)的lua程序,開發(fā)簡單、執(zhí)行效率高、對性能影響小。權(quán)限控制部分通過檢查校外用戶請求中的nginx_auth_uid、nginx_auth_expire和nginx_auth_hash三個(gè)參數(shù),結(jié)合與認(rèn)證部分共享的密鑰,判斷訪問者是否已通過認(rèn)證,允許通過認(rèn)證的用戶訪問。如果是未通過認(rèn)證的用戶,重定向到獨(dú)立的認(rèn)證部分。認(rèn)證部分對接學(xué)校的統(tǒng)一身份認(rèn)證系統(tǒng),平時(shí)使用簡單的用戶名和密碼認(rèn)證,在重要時(shí)期網(wǎng)絡(luò)保障階段,可增加更加安全的雙因子認(rèn)證。通過認(rèn)證后會設(shè)置對應(yīng)的nginx_auth_uid、nginx_auth_expire和nginx_auth_hash三個(gè)cookie,后續(xù)的訪問會被權(quán)限控制部分允許。

日志記錄

Nginx反向代理可以集中記錄Web網(wǎng)站的訪問日志,不依賴源站點(diǎn)即可滿足法規(guī)對日志的記錄要求。

依據(jù)這些集中記錄的日志,可以統(tǒng)計(jì)網(wǎng)站的IPv4/IPv6/HTTPS/HTTP/2訪問情況,還可以分析異常掃描和攻擊,找出潛在的威脅。

性能優(yōu)化

默認(rèn)安裝的操作系統(tǒng)不能充分發(fā)揮Nginx的性能。step-by-step install Nginx反向代理服務(wù)器給出對操作系統(tǒng)的優(yōu)化建議。

conntrack優(yōu)化:對于Nginx服務(wù)器,因?yàn)橛写罅康亩踢B接,最好不啟用conntrack連接跟蹤功能。如果因設(shè)置需要啟用連接跟蹤功能,需要在加載nf_conntrack內(nèi)核模塊時(shí)增加一個(gè)較大的hashsize參數(shù),該參數(shù)*8即是內(nèi)核可以記錄的最多連接數(shù),建議hashsize設(shè)置為50000。啟用連接跟蹤功能時(shí),還應(yīng)調(diào)整連接跟蹤的超時(shí)時(shí)間,讓異常狀態(tài)的連接及早超時(shí)刪除,減少需要跟蹤的連接數(shù)量。

單進(jìn)程和系統(tǒng)打開的最多文件數(shù),建議增加到655360。

應(yīng)用案例

中國科學(xué)技術(shù)大學(xué)從2011年開始使用Nginx反向代理服務(wù)器。目前Nginx反向代理服務(wù)運(yùn)行在一個(gè)2G內(nèi)存/4個(gè)CPU的虛擬機(jī)中,集中對650個(gè)網(wǎng)站提供IPv4/IPv6、HTTPS服務(wù)。該虛擬機(jī)有中國教育和科研計(jì)算機(jī)網(wǎng)、中國科技網(wǎng)、中國電信、中國聯(lián)通和中國移動五個(gè)IPv4入口,并有CNGI-CERNET2 IPv6入口。DNS服務(wù)器上設(shè)置若干DNS view,將用戶的解析分配到對應(yīng)的IP地址,引導(dǎo)用戶的就近訪問。

中國科學(xué)技術(shù)大學(xué)使用Let’s Encrypt免費(fèi)提供的自動簽發(fā)服務(wù)器證書。由于Let’s Encrypt有每7天50個(gè)證書簽發(fā)速率限制,對于其中563個(gè)形如*.ustc.edu.cn域名,在DNS服務(wù)器上使用DNS驗(yàn)證方式申請*.ustc.edu.cn證書,利用git傳遞到Nginx反向代理服務(wù)器上;而其他87個(gè)獨(dú)立域名,則在Nginx反向代理服務(wù)器上使用HTTP驗(yàn)證方式分批申請證書。有了這些證書,Nginx中增加https配置,即可對外提供HTTPS及HTTP/2服務(wù)。Let’s Encrypt簽發(fā)的證書有效期為90天,服務(wù)器上每天凌晨運(yùn)行一個(gè)腳本,申請更新60天前簽發(fā)的證書,更新成功后重啟Nginx進(jìn)程以使用新證書,實(shí)現(xiàn)證書的自動更新。

對Nginx反向代理服務(wù)器上的日志文件統(tǒng)計(jì)可以掌握用戶的訪問情況。

圖2 學(xué)校主頁訪問統(tǒng)計(jì)

圖2是學(xué)校主頁http://www.ustc.edu.cn的訪問統(tǒng)計(jì),約80%使用HTTPS方式,約60%使用HTTP/2協(xié)議,約10%使用IPv6協(xié)議。網(wǎng)站的訪問統(tǒng)計(jì)對比可以說明高校用戶在IPv6協(xié)議使用率和新版本瀏覽器(更好支持HTTPS及HTTP/2)普及率方面比普通網(wǎng)民要高。

猜你喜歡
代理服務(wù)器IP地址日志
一名老黨員的工作日志
扶貧日志
鐵路遠(yuǎn)動系統(tǒng)幾種組網(wǎng)方式IP地址的申請和設(shè)置
地鐵信號系統(tǒng)中代理服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)
雅皮的心情日志
雅皮的心情日志
公安網(wǎng)絡(luò)中IP地址智能管理的研究與思考
防火墻技術(shù)與校園網(wǎng)絡(luò)安全的研究
《IP地址及其管理》教學(xué)設(shè)計(jì)
一種容侵系統(tǒng)的設(shè)計(jì)