本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別涉及一種透明反向代理模式下的IP地址還原方法。
背景技術(shù):
反向代理(Reverse Proxy)方式是指以代理服務(wù)器來(lái)接受internet上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給internet上請(qǐng)求連接的客戶(hù)端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)反向代理服務(wù)器。
Web應(yīng)用防護(hù)系統(tǒng)(Web Application Firewall,WAF)工作在應(yīng)用層,因此對(duì)WEB應(yīng)用防護(hù)具有先天的技術(shù)優(yōu)勢(shì)?;趯?duì)WEB應(yīng)用業(yè)務(wù)和邏輯的深刻理解,WAF對(duì)來(lái)自WEB應(yīng)用程序客戶(hù)端的各類(lèi)請(qǐng)求進(jìn)行內(nèi)容檢測(cè)和驗(yàn)證,確保其安全性與合法性,對(duì)非法的請(qǐng)求予以實(shí)時(shí)阻斷,從而對(duì)各類(lèi)網(wǎng)站站點(diǎn)進(jìn)行有效防護(hù)。
現(xiàn)有技術(shù)中,WAF防護(hù)是防護(hù)Web應(yīng)用程序存在安全隱患被黑客攻擊的主要方法之一,其中一種為基于反向代理模式的WAF防護(hù)系統(tǒng),WAF反向代理Web應(yīng)用,對(duì)訪問(wèn)的請(qǐng)求進(jìn)行過(guò)濾檢測(cè)。反向代理模塊是WAF防護(hù)系統(tǒng)中主要功能模塊,其代理轉(zhuǎn)發(fā)模式直接影響WAF的部署方式。
在傳統(tǒng)的WAF反向代理功能只是簡(jiǎn)單的通過(guò)改變?cè)L問(wèn)地址,以代理服務(wù)器方式來(lái)接受Internet上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的Web應(yīng)用,并將從Web應(yīng)用上得到的結(jié)果返回給Internet上請(qǐng)求連接的客戶(hù)端,此時(shí)WAF對(duì)外就表現(xiàn)為一個(gè)反向代理服務(wù)器。
圖1示出了現(xiàn)有技術(shù)的Web反向代理的原理。該方式存在以下缺點(diǎn):
1、Web應(yīng)用只能收到源地址為WAF的請(qǐng)求數(shù)據(jù);
2、部署到網(wǎng)絡(luò)內(nèi)需要給WAF分配一個(gè)代理地址,并且改變數(shù)據(jù)的流向;
3、WAF代理模式對(duì)網(wǎng)絡(luò)環(huán)境以及業(yè)務(wù)服務(wù)器不透明,WEB應(yīng)用無(wú)法看到訪問(wèn)者真實(shí)源地址的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的旨在至少解決所述技術(shù)缺陷之一。
為此,本發(fā)明的目的在于提出一種明反向代理模式下的IP地址還原方法,實(shí)現(xiàn)WAF代理模式對(duì)網(wǎng)絡(luò)環(huán)境以及業(yè)務(wù)服務(wù)器的透明,在網(wǎng)絡(luò)部署中無(wú)需配置代理地址,以連接跟蹤技術(shù)為基礎(chǔ),通過(guò)對(duì)源IP的跟蹤轉(zhuǎn)換,使得部署透明化。
為了實(shí)現(xiàn)上述目的,本發(fā)明的實(shí)施例提供一種透明反向代理模式下的IP地址還原方法,包括如下步驟:
步驟S1,部署Web應(yīng)用防護(hù)WAF防護(hù)系統(tǒng),包括:配置需要防護(hù)的服務(wù)器地址、端口和域名以及建立所述WAF防護(hù)系統(tǒng)與服務(wù)器和客戶(hù)端的連接關(guān)系;
步驟S2,當(dāng)所述WAF防護(hù)系統(tǒng)接收到來(lái)自所述客戶(hù)端的服務(wù)器訪問(wèn)請(qǐng)求時(shí),查詢(xún)已配置的需要防護(hù)的服務(wù)器地址,當(dāng)判斷所述服務(wù)器訪問(wèn)請(qǐng)求中的目的IP地址為需要防護(hù)的服務(wù)器地址時(shí),對(duì)所述目的IP地址進(jìn)行目的地址轉(zhuǎn)換,生成對(duì)應(yīng)的內(nèi)部使用地址;
步驟S3,所述WAF防護(hù)系統(tǒng)以所述內(nèi)部使用地址代理被請(qǐng)求的服務(wù)器接收來(lái)自所述客戶(hù)端的訪問(wèn)請(qǐng)求,并檢測(cè)所述訪問(wèn)請(qǐng)求中是否包括攻擊行為;
步驟S4,當(dāng)檢測(cè)所述訪問(wèn)請(qǐng)求中不包括攻擊行為時(shí),所述WAF防護(hù)系統(tǒng)將不包括攻擊行為的訪問(wèn)請(qǐng)求對(duì)應(yīng)的內(nèi)部使用地址還原為目的IP地址,并將所述訪問(wèn)請(qǐng)求轉(zhuǎn)發(fā)至所述目的IP地址對(duì)應(yīng)的服務(wù)器,以由所述服務(wù)器響應(yīng)所述客戶(hù)端的訪問(wèn)請(qǐng)求。
進(jìn)一步,在所述步驟S1中,建立所述WAF防護(hù)系統(tǒng)與服務(wù)器和客戶(hù)端的連接關(guān)系,包括:
建立所述WAF防護(hù)系統(tǒng)與NAT設(shè)備連接,由所述NAT設(shè)備通過(guò)互聯(lián)網(wǎng)連接至客戶(hù)端;
建立所述WAF防護(hù)系統(tǒng)與交換機(jī)連接,由所述交換機(jī)進(jìn)一步連接至服務(wù)器。
進(jìn)一步,在所述步驟S3中,所述攻擊行為至少包括以下一種:SQL注入式攻擊、跨站腳本攻擊、爬蟲(chóng)攻擊和信息泄露。
進(jìn)一步,當(dāng)檢測(cè)所述訪問(wèn)請(qǐng)求中包括攻擊行為時(shí),所述WAF防護(hù)系統(tǒng)根據(jù)預(yù)先配置的防護(hù)策略,向所述客戶(hù)端返回錯(cuò)誤頁(yè)面或者重定向指定的URL地址。
進(jìn)一步,在所述步驟S4中,當(dāng)檢測(cè)所述訪問(wèn)請(qǐng)求中不包括攻擊行為時(shí),所述WAF防護(hù)系統(tǒng)將對(duì)應(yīng)的內(nèi)部使用地址還原為服務(wù)器的目的IP地址,通過(guò)連接跟蹤在下行處將源地址轉(zhuǎn)換為客戶(hù)端的真實(shí)源地址,以實(shí)現(xiàn)所述客戶(hù)端對(duì)所述服務(wù)器透明。
本發(fā)明實(shí)施例還提供一種透明反向代理模式下的IP地址還原系統(tǒng),包括:Web應(yīng)用防護(hù)WAF防護(hù)系統(tǒng)、客戶(hù)端、NAT設(shè)備、交換機(jī)和服務(wù)器,其中,所述WAF防護(hù)系統(tǒng)配置有需要防護(hù)的服務(wù)器地址、端口和域名,用于接收來(lái)自所述客戶(hù)端的服務(wù)器訪問(wèn)請(qǐng)求時(shí),查詢(xún)已配置的需要防護(hù)的服務(wù)器地址,當(dāng)判斷所述服務(wù)器訪問(wèn)請(qǐng)求中的目的IP地址為需要防護(hù)的服務(wù)器地址時(shí),由所述NAT設(shè)備對(duì)所述目的IP地址進(jìn)行目的地址轉(zhuǎn)換,生成對(duì)應(yīng)的內(nèi)部使用地址,并以所述內(nèi)部使用地址代理被請(qǐng)求的服務(wù)器接收來(lái)自所述客戶(hù)端的訪問(wèn)請(qǐng)求,檢測(cè)所述訪問(wèn)請(qǐng)求中是否包括攻擊行為,所述WAF防護(hù)系統(tǒng)檢測(cè)所述訪問(wèn)請(qǐng)求中不包括攻擊行為時(shí),將不包括攻擊行為的訪問(wèn)請(qǐng)求對(duì)應(yīng)的內(nèi)部使用地址還原為目的IP地址,并通過(guò)所述交換機(jī)將所述訪問(wèn)請(qǐng)求轉(zhuǎn)發(fā)至所述目的IP地址對(duì)應(yīng)的服務(wù)器,所述服務(wù)器響應(yīng)所述客戶(hù)端的訪問(wèn)請(qǐng)求。
進(jìn)一步,所述WAF防護(hù)系統(tǒng)與所述NAT設(shè)備連接,由所述NAT設(shè)備通過(guò)互聯(lián)網(wǎng)連接至客戶(hù)端,所述WAF防護(hù)系統(tǒng)與所述交換機(jī)連接,由所述交換機(jī)進(jìn)一步連接至服務(wù)器。
進(jìn)一步,所述攻擊行為至少包括以下一種:SQL注入式攻擊、跨站腳本攻擊、爬蟲(chóng)攻擊和信息泄露。
進(jìn)一步,所述WAF防護(hù)系統(tǒng)在檢測(cè)所述訪問(wèn)請(qǐng)求中包括攻擊行為時(shí),根據(jù)預(yù)先配置的防護(hù)策略向所述客戶(hù)端返回錯(cuò)誤頁(yè)面或者重定向指定的URL地址。
進(jìn)一步,所述WAF防護(hù)系統(tǒng)在檢測(cè)所述訪問(wèn)請(qǐng)求中不包括攻擊行為時(shí),將對(duì)應(yīng)的內(nèi)部使用地址還原為服務(wù)器的目的IP地址,通過(guò)連接跟蹤在下行處將源地址轉(zhuǎn)換為客戶(hù)端的真實(shí)源地址,以實(shí)現(xiàn)所述客戶(hù)端對(duì)所述服務(wù)器透明。
根據(jù)本發(fā)明實(shí)施例的透明反向代理模式下的IP地址還原方法及系統(tǒng),實(shí)現(xiàn)WAF代理模式對(duì)網(wǎng)絡(luò)環(huán)境以及業(yè)務(wù)服務(wù)器的透明,在網(wǎng)絡(luò)部署中無(wú)需配置代理地址,以連接跟蹤技術(shù)為基礎(chǔ),通過(guò)對(duì)源IP的跟蹤轉(zhuǎn)換,使得部署透明化。并且,Web應(yīng)用可以直接接收到客戶(hù)端的真實(shí)源地址,繼承反向代理模式的較高防護(hù)能力,又提高了設(shè)備在網(wǎng)絡(luò)拓?fù)渲胁渴鸨憷约皩?duì)業(yè)務(wù)透明的優(yōu)點(diǎn),具有可靠性、適用性和安全性的特點(diǎn),簡(jiǎn)化了WAF反向代理模式的部署方式,無(wú)需改變用戶(hù)拓?fù)洹?/p>
本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
附圖說(shuō)明
本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1為現(xiàn)有技術(shù)的Web反向代理的原理的示意圖;
圖2為根據(jù)本發(fā)明實(shí)施例的透明反向代理模式下的IP地址還原方法的流程圖;
圖3為根據(jù)本發(fā)明實(shí)施例的透明反向代理模式下的IP地址還原系統(tǒng)的結(jié)構(gòu)圖;
圖4為根據(jù)本發(fā)明實(shí)施例的WAF防護(hù)系統(tǒng)的通信示意圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,實(shí)施例的示例在附圖中示出,其中自始至終相同或類(lèi)似的標(biāo)號(hào)表示相同或類(lèi)似的元件或具有相同或類(lèi)似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。
如圖2所示,本發(fā)明實(shí)施例的透明反向代理模式下的IP地址還原方法,包括如下步驟:
步驟S1,部署Web應(yīng)用防護(hù)WAF防護(hù)系統(tǒng),包括:配置需要防護(hù)的服務(wù)器地址、端口和域名以及建立WAF防護(hù)系統(tǒng)與服務(wù)器和客戶(hù)端的連接關(guān)系。需要說(shuō)明的是,對(duì)于WAF防護(hù)系統(tǒng),無(wú)需配置代理地址。
具體地,建立WAF防護(hù)系統(tǒng)與服務(wù)器和客戶(hù)端的連接關(guān)系,包括以下兩方面:
首先,建立WAF防護(hù)系統(tǒng)與NAT設(shè)備連接,由NAT設(shè)備通過(guò)互聯(lián)網(wǎng)連接至客戶(hù)端。然后,建立WAF防護(hù)系統(tǒng)與交換機(jī)連接,由交換機(jī)進(jìn)一步連接至服務(wù)器。其中,WAF防護(hù)系統(tǒng)上下行接口可接三層交換機(jī)、路由器和負(fù)載等網(wǎng)絡(luò)設(shè)備。
在本發(fā)明的一個(gè)實(shí)施例中,連接WAF防護(hù)系統(tǒng)的鏈路可以是普通鏈路或trunk鏈路。
步驟S2,當(dāng)WAF防護(hù)系統(tǒng)接收到來(lái)自客戶(hù)端的服務(wù)器訪問(wèn)請(qǐng)求時(shí),查詢(xún)已配置的需要防護(hù)的服務(wù)器地址,當(dāng)判斷服務(wù)器訪問(wèn)請(qǐng)求中的目的IP地址為需要防護(hù)的服務(wù)器地址時(shí),對(duì)目的IP地址進(jìn)行目的地址轉(zhuǎn)換,生成對(duì)應(yīng)的內(nèi)部使用地址。
步驟S3,WAF防護(hù)系統(tǒng)以?xún)?nèi)部使用地址代理被請(qǐng)求的服務(wù)器接收來(lái)自客戶(hù)端的訪問(wèn)請(qǐng)求,并檢測(cè)訪問(wèn)請(qǐng)求中是否包括攻擊行為。
參考圖4,源地址為192.168.5.10的客戶(hù)端(Client)請(qǐng)求訪問(wèn)目的IP地址為192.168.5.20的服務(wù)器(Server),數(shù)據(jù)流通過(guò)WAF防護(hù)系統(tǒng)上行接口時(shí),WAF防護(hù)系統(tǒng)根據(jù)預(yù)先配置需要防護(hù)的服務(wù)器,將需要防護(hù)的Server(192.168.5.20)數(shù)據(jù)流進(jìn)行目的地址轉(zhuǎn)換(DNAT),從而將服務(wù)器的目的IP地址轉(zhuǎn)換為一個(gè)僅供內(nèi)部使用地址,然后由WAF防護(hù)系統(tǒng)代理服務(wù)器Server(192.168.5.20)接收客戶(hù)端(192.168.5.10)發(fā)起的訪問(wèn)請(qǐng)求。
在本發(fā)明的一個(gè)實(shí)施例中,攻擊行為至少包括以下一種:SQL注入式攻擊、跨站腳本攻擊、爬蟲(chóng)攻擊和信息泄露等一系列安全隱患。
需要說(shuō)明的是,上述僅是出于對(duì)攻擊行為的示例,而不是為了限制本發(fā)明。本發(fā)明中檢測(cè)的攻擊行為不限于上述舉例,還包括其他攻擊行為模式,在此不再贅述。
步驟S4,當(dāng)檢測(cè)訪問(wèn)請(qǐng)求中不包括攻擊行為時(shí),WAF防護(hù)系統(tǒng)將不包括攻擊行為的訪問(wèn)請(qǐng)求對(duì)應(yīng)的內(nèi)部使用地址還原為目的IP地址,并將訪問(wèn)請(qǐng)求轉(zhuǎn)發(fā)至目的IP地址對(duì)應(yīng)的服務(wù)器,以由服務(wù)器響應(yīng)客戶(hù)端的訪問(wèn)請(qǐng)求。
具體地,參考圖4,當(dāng)檢測(cè)訪問(wèn)請(qǐng)求中不包括攻擊行為時(shí),WAF防護(hù)系統(tǒng)將對(duì)應(yīng)的內(nèi)部使用地址還原為服務(wù)器的目的IP地址(192.168.5.20),通過(guò)連接跟蹤在下行處將源地址轉(zhuǎn)換為客戶(hù)端的真實(shí)源地址(192.168.5.10),以實(shí)現(xiàn)客戶(hù)端對(duì)服務(wù)器透明。
進(jìn)一步,當(dāng)檢測(cè)訪問(wèn)請(qǐng)求中包括攻擊行為時(shí),WAF防護(hù)系統(tǒng)根據(jù)預(yù)先配置的防護(hù)策略,不會(huì)將含有攻擊行為的訪問(wèn)請(qǐng)求轉(zhuǎn)發(fā)給服務(wù)器Server(192.168.5.20),而是向客戶(hù)端返回錯(cuò)誤頁(yè)面或者重定向指定的URL地址。
如圖3所示,本發(fā)明實(shí)施例的透明反向代理模式下的IP地址還原系統(tǒng),包括:Web應(yīng)用防護(hù)WAF防護(hù)系統(tǒng)1、NAT設(shè)備2、客戶(hù)端3、交換機(jī)4和服務(wù)器5。其中,WAF防護(hù)系統(tǒng)1與NAT設(shè)備2連接,由NAT設(shè)備2通過(guò)互聯(lián)網(wǎng)連接至客戶(hù)端3,WAF防護(hù)系統(tǒng)1與交換機(jī)4連接,由交換機(jī)4進(jìn)一步連接至服務(wù)器5。在本發(fā)明的一個(gè)實(shí)施例中,連接WAF防護(hù)系統(tǒng)1的鏈路可以是普通鏈路或trunk鏈路。
具體地,WAF防護(hù)系統(tǒng)1配置有需要防護(hù)的服務(wù)器5地址、端口和域名。需要說(shuō)明的是,對(duì)于WAF防護(hù)系統(tǒng)1,無(wú)需配置代理地址。
WAF防護(hù)系統(tǒng)1用于接收來(lái)自客戶(hù)端3的服務(wù)器5訪問(wèn)請(qǐng)求時(shí),查詢(xún)已配置的需要防護(hù)的服務(wù)器5地址。當(dāng)判斷服務(wù)器5訪問(wèn)請(qǐng)求中的目的IP地址為需要防護(hù)的服務(wù)器5地址時(shí),由NAT設(shè)備2對(duì)目的IP地址進(jìn)行目的地址轉(zhuǎn)換,生成對(duì)應(yīng)的內(nèi)部使用地址。
WAF防護(hù)系統(tǒng)1以?xún)?nèi)部使用地址代理被請(qǐng)求的服務(wù)器5接收來(lái)自客戶(hù)端3的訪問(wèn)請(qǐng)求,檢測(cè)訪問(wèn)請(qǐng)求中是否包括攻擊行為。
在本發(fā)明的一個(gè)實(shí)施例中,攻擊行為至少包括以下一種:SQL注入式攻擊、跨站腳本攻擊、爬蟲(chóng)攻擊和信息泄露等一系列安全隱患。
需要說(shuō)明的是,上述僅是出于對(duì)攻擊行為的示例,而不是為了限制本發(fā)明。本發(fā)明中檢測(cè)的攻擊行為不限于上述舉例,還包括其他攻擊行為模式,在此不再贅述。
當(dāng)檢測(cè)訪問(wèn)請(qǐng)求中不包括攻擊行為時(shí),WAF防護(hù)系統(tǒng)1將不包括攻擊行為的訪問(wèn)請(qǐng)求對(duì)應(yīng)的內(nèi)部使用地址還原為目的IP地址,并通過(guò)交換機(jī)4將訪問(wèn)請(qǐng)求轉(zhuǎn)發(fā)至目的IP地址對(duì)應(yīng)的服務(wù)器5。并且,通過(guò)連接跟蹤在下行處將源地址轉(zhuǎn)換為客戶(hù)端3的真實(shí)源地址,以實(shí)現(xiàn)客戶(hù)端3對(duì)服務(wù)器5透明,由服務(wù)器5響應(yīng)客戶(hù)端3的訪問(wèn)請(qǐng)求。
當(dāng)WAF防護(hù)系統(tǒng)1在檢測(cè)訪問(wèn)請(qǐng)求中包括攻擊行為時(shí),根據(jù)預(yù)先配置的防護(hù)策略向客戶(hù)端3返回錯(cuò)誤頁(yè)面或者重定向指定的URL地址。
根據(jù)本發(fā)明實(shí)施例的透明反向代理模式下的IP地址還原方法及系統(tǒng),實(shí)現(xiàn)WAF代理模式對(duì)網(wǎng)絡(luò)環(huán)境以及業(yè)務(wù)服務(wù)器的透明,在網(wǎng)絡(luò)部署中無(wú)需配置代理地址,以連接跟蹤技術(shù)為基礎(chǔ),通過(guò)對(duì)源IP的跟蹤轉(zhuǎn)換,使得部署透明化。并且,Web應(yīng)用可以直接接收到客戶(hù)端的真實(shí)源地址,繼承反向代理模式的較高防護(hù)能力,又提高了設(shè)備在網(wǎng)絡(luò)拓?fù)渲胁渴鸨憷约皩?duì)業(yè)務(wù)透明的優(yōu)點(diǎn),具有可靠性、適用性和安全性的特點(diǎn),簡(jiǎn)化了WAF反向代理模式的部署方式,無(wú)需改變用戶(hù)拓?fù)洹?/p>
在本說(shuō)明書(shū)的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書(shū)中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。本發(fā)明的范圍由所附權(quán)利要求及其等同限定。