李永銳
摘 要 隨著國家互聯(lián)網(wǎng)+戰(zhàn)略的不斷推進(jìn),聯(lián)網(wǎng)應(yīng)用的普及程度不斷提高,人們對互聯(lián)網(wǎng)的依賴也不斷加大,隨之而來網(wǎng)絡(luò)安全問題也日益凸顯,本文對如何提高互聯(lián)網(wǎng)應(yīng)用安全提出了自己的看法。
【關(guān)鍵詞】反向代理 安全 跨站腳本 SQL注入 拒絕服務(wù)攻擊
1 概述
近年來重大網(wǎng)絡(luò)安全事故層出不窮,如2016年全國關(guān)注的徐玉玉電信詐騙案就是由于山東高考報(bào)名系統(tǒng)漏洞導(dǎo)致考生信息泄露而引發(fā)的。這些網(wǎng)絡(luò)安全問題大都是針對Web應(yīng)用系統(tǒng)進(jìn)行攻擊,Web應(yīng)用的安全漏洞導(dǎo)致了大量用戶個人信息的泄露與財(cái)產(chǎn)損失。作為傳統(tǒng)行業(yè)的郵政企業(yè)也積極進(jìn)行轉(zhuǎn)型發(fā)展擁抱互聯(lián)網(wǎng)時代,通過互聯(lián)網(wǎng)為廣大群眾提供各種業(yè)務(wù)服務(wù),通過互聯(lián)網(wǎng)進(jìn)行企業(yè)宣傳與內(nèi)部管理,以廣東郵政來說全省就有200多個應(yīng)用部署在互聯(lián)網(wǎng)上,一旦發(fā)生安全事故對郵政企業(yè)及郵政客戶都會造成重大影響,加強(qiáng)互聯(lián)網(wǎng)應(yīng)用的安全管理刻不容緩。
2 互聯(lián)網(wǎng)Web應(yīng)用安全風(fēng)險分析
根據(jù)Open Web Application Security Project(OWASP)組織的報(bào)告,Web應(yīng)用程序的常見安全風(fēng)險包括:
2.1 拒絕服務(wù)攻擊(DDOS)
拒絕服務(wù)攻擊是指導(dǎo)致合法用戶不能正常使用網(wǎng)絡(luò)服務(wù),使信息或信息系統(tǒng)的被利用價值和服務(wù)能力下降或喪失的攻擊手段。拒絕服務(wù)攻擊最基本的攻擊手段就是制造大量正常的請求來占用過多的服務(wù)資源,從而使廣大合法用戶無法得到服務(wù);
2.2 注入(Injection)
是指攻擊者通過輸入惡意數(shù)據(jù),從而達(dá)到在Web服務(wù)器環(huán)境下運(yùn)行任意指令的目的,如SQL注入、SHELL注入。
2.3 跨站腳本(XSS)
當(dāng)應(yīng)用程序收到含有不可信的數(shù)據(jù),在沒有進(jìn)行適當(dāng)?shù)尿?yàn)證和轉(zhuǎn)義的情況下,將它發(fā)送給瀏覽器,導(dǎo)致產(chǎn)生跨站腳本攻擊(XSS)。XSS允許攻擊者在受害者的瀏覽器上執(zhí)行腳本,從而劫持用戶會話將用戶轉(zhuǎn)向至惡意網(wǎng)站。
2.4 跨站請求偽造 (CSRF)
跨站請求偽造攻擊通過誘使用戶的瀏覽器將偽造的HTTP請求,包括該用戶的會話cookie和其他認(rèn)證信息,發(fā)送到一個存在漏洞的Web應(yīng)用程序,而應(yīng)用程序按照用戶合法請求的模式處理這些請求導(dǎo)致?lián)p失。
3 反向代理技術(shù)
反向代理 (Reverse Proxy) 是指以代理服務(wù)器來接受另一個網(wǎng)絡(luò)的訪問請求,然后將請求中轉(zhuǎn)給自身所處網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給訪問的客戶端,這時代理服務(wù)器對外就表現(xiàn)為一個服務(wù)器。
反向代理通俗來說就是 Web 服務(wù)器加速,它是一種通過在繁忙的 Web 服務(wù)器和外部網(wǎng)絡(luò)之間增加一個高速的 Web 緩沖服務(wù)器來降低實(shí)際的 Web 服務(wù)器的負(fù)載的一種技術(shù)。反向代理是針對 Web 服務(wù)器供加速功能,作為代理緩存,它并不是針對瀏覽器用戶,而針對一臺或多臺特定的 Web 服務(wù)器,它可以代理外部網(wǎng)絡(luò)對內(nèi)部網(wǎng)絡(luò)的訪問請求。被代理的服務(wù)器對外部網(wǎng)絡(luò)來說是不可見的,也無法直接訪問,反向代理為內(nèi)部的Web服務(wù)器提供了一個緩沖隔離的空間,避免了內(nèi)部重要的Web服務(wù)器直接暴露在外部網(wǎng)絡(luò)環(huán)境中,減少了這些服務(wù)器被攻擊的機(jī)率。
此外反向代理服務(wù)器還具有內(nèi)容過濾的功能可以對經(jīng)過代理服務(wù)器的Web內(nèi)容進(jìn)行修改,在網(wǎng)頁中增加或刪除指定的內(nèi)容,還可以分析網(wǎng)頁內(nèi)容,根據(jù)網(wǎng)頁內(nèi)容執(zhí)行指定的操作。
4 反向代理的配置
Nginx是一個俄羅斯開發(fā)的高性能HTTP和反向代理服務(wù)器,在互連網(wǎng)公司得到了廣泛應(yīng)用,Nginx是插件體系結(jié)構(gòu)的,通過插件模塊實(shí)現(xiàn)功能擴(kuò)展并且支持LUA腳本編程。廣東郵政采用Nginx作為互聯(lián)網(wǎng)應(yīng)用的反向代理,通過解析訪問二級域名將訪問請求分發(fā)到內(nèi)網(wǎng)的各個應(yīng)用服務(wù)器上。
Nginx安裝完畢后,通過修改nginx.conf 配置文件來控制Nginx的行為。針對常見的互聯(lián)網(wǎng)安全威脅,Nginx的配置如下
4.1 限制外部請求訪問頻率及連接數(shù)限制
limit_req_zone $clientRealIp zone=req_one:30m rate=2r/s;
limit_conn_zone $clientRealIp zone=req_addr:10m;
limit_req_status 503;
這里的配置說明代理服務(wù)器將根據(jù)客戶端的IP地址進(jìn)行連接數(shù)及訪問頻率的限制,limit_req_zone參數(shù)用于限制訪問頻率,每個IP地址每秒只能訪問2次,limit_conn_zone定義了一個連接地址地址池用于每個服務(wù)的連接數(shù)限制。
4.2 配置代理轉(zhuǎn)發(fā)
server_name a.gdpost.com.cn;
location / { proxy_pass http://192.168.248.31:8080/;
limit_req zone=one burst=50 nodelay; limit_conn req_addr 2; }
server_name b.gdpost.com.cn;
location / { proxy_pass http://192.168.248.45:8090/;
limit_req zone=one burst=50 nodelay; limit_conn req_addr 5; }
上面的配置表示配置對域名a.gdpost.com.cn的訪問請求跳轉(zhuǎn)到內(nèi)網(wǎng)192.168.248.31服務(wù)器,每個客戶端IP地址同時連接數(shù)為2;對配置域名b.gdpost.com.cn的訪問請求跳轉(zhuǎn)到內(nèi)網(wǎng)192.168.248.45服務(wù)器,每個客戶端IP地址同時連接數(shù)為5。
4.3 配置防止跨站腳本參數(shù)
add_header X-XSS-Protection "1; mode=block";
set $block_common_status 0;
if ($query_string ~ "(<|%3C).*script.*(>|%3E)")
{ set $block_common_status 1; }
if($query_string~*".*('|--|iframe|script|alert|Webscan|style|confirm|innerhtml|innertext|class).*")
{ set $block_common_status 1; }
if ($query_string ~ "base64_(en|de)code\(.*\)")
{ set $block_common_status 1; }
if ($block_common_status = 1)
{ return 403; }
這段配置首先向?yàn)g覽器發(fā)送 X-XSS-Protection頭信息,目前新版本的瀏覽都能識別該HTTP頭信息對可能存在跨站腳本的JS方法進(jìn)行阻止;另外配置中利用正則表達(dá)式對客戶端瀏覽器發(fā)送的數(shù)據(jù)進(jìn)行檢測,如果里面包含有XSS腳本的關(guān)鍵字則阻止該次訪問不會把請求轉(zhuǎn)發(fā)給實(shí)際的服務(wù)器,從而達(dá)到防止XSS攻擊的目的。
5 結(jié)語
本文結(jié)合作者在工作中的實(shí)踐探討了提升互聯(lián)網(wǎng)應(yīng)用的一些方法和手段,但是互聯(lián)網(wǎng)應(yīng)用的安全是個綜合體系,需要網(wǎng)絡(luò)硬件、系統(tǒng)軟件、應(yīng)用軟件、管理制度等多方配合,共同協(xié)作,而且互聯(lián)網(wǎng)應(yīng)用的安全形勢也是在不斷變化發(fā)展的,新的攻擊手段不斷出現(xiàn),針對這些新的安全威脅我們也要不斷調(diào)整應(yīng)用的防護(hù)措施,確保應(yīng)用的安全。
參考文獻(xiàn)
[1]李媛,張曉梅,胡冰.Web應(yīng)用的安全風(fēng)險及應(yīng)對措施[J].保密科學(xué)技術(shù),2010(02).
[2]車樹炎,黃銀瑞.反向代理技術(shù)在高校網(wǎng)站系統(tǒng)中的應(yīng)用研究[J].電腦編程技巧與維護(hù),2013(02).