通常的代理服務(wù)器,只用于代理內(nèi)部網(wǎng)絡(luò)對Internet的連接請求,客戶機必須指定代理服務(wù)器,并將本來要直接發(fā)送到Web服務(wù)器上的http請求發(fā)送到代理服務(wù)器中。由于外部網(wǎng)絡(luò)上的主機并不會配置并使用這個代理服務(wù)器,普通代理服務(wù)器也被設(shè)計為在Internet上搜尋多個不確定的服務(wù)器,而不是針對Internet上多個客戶機的請求訪問某一個固定的服務(wù)器,因此普通的Web代理服務(wù)器不支持外部對內(nèi)部網(wǎng)絡(luò)的訪問請求。當(dāng)一個代理服務(wù)器能夠代理外部網(wǎng)絡(luò)上的主機,訪問內(nèi)部網(wǎng)絡(luò)時,這種代理服務(wù)的方式稱為反向代理服務(wù)。此時代理服務(wù)器對外就表現(xiàn)為一個Web服務(wù)器,外部網(wǎng)絡(luò)就可以簡單把它當(dāng)作一個標(biāo)準(zhǔn)的Web服務(wù)器而不需要特定的配置。不同之處在于,這個服務(wù)器沒有保存任何網(wǎng)頁的真實數(shù)據(jù),所有的靜態(tài)網(wǎng)頁或者CGI程序,都保存在內(nèi)部的Web服務(wù)器上。因此對反向代理服務(wù)器的攻擊并不會使得網(wǎng)頁信息遭到破壞,這樣就增強了Web服務(wù)器的安全性。
反向代理方式和包過濾方式或普通代理方式并無沖突,因此可以在防火墻設(shè)備中同時使用這兩種方式,其中反向代理用于外部網(wǎng)絡(luò)訪問內(nèi)部網(wǎng)絡(luò)時使用,正向代理或包過濾方式用于拒絕其他外部訪問方式并提供內(nèi)部網(wǎng)絡(luò)對外部網(wǎng)絡(luò)的訪問能力。因此可以結(jié)合這些方式提供最佳的安全訪問方式。
綜合反向代理功能和普通拒絕外部訪問的普通防火墻軟件相結(jié)合,就能構(gòu)成一個既具有保護內(nèi)部網(wǎng)絡(luò)、又能對外提供Web信息發(fā)布的能力的防火墻系統(tǒng)。由于反向代理能力需要軟件實現(xiàn),因此不能使用現(xiàn)有的防火墻系統(tǒng),需要使用相關(guān)軟件進行開發(fā)改進。Unix顯然是首選平臺,我們基于FreeBSD系統(tǒng),提出一種基于ipfw、natd與squid的防火墻設(shè)置方式。其中ipfw可以基于ip地址、端口、協(xié)議等對ip包進行過濾,natd提供網(wǎng)絡(luò)地址轉(zhuǎn)換功能,這樣就隱藏了內(nèi)部網(wǎng)絡(luò)的拓撲等信息,ipfw和natd結(jié)合就構(gòu)成了強大的包過濾網(wǎng)關(guān)。而squid是Internet上最流行的Web代理服務(wù)器之一,雖然它提供的是普通的正向代理能力,但其為開放源代碼軟件,并且具有強大的可配置性,因此很容易可以將其更改為反向代理服務(wù)器。
這種方式對內(nèi)部網(wǎng)絡(luò)的保護能力,要小于雙層防火墻軟件,等于普通的單層防火墻軟件,然而其對Web服務(wù)器的保護卻大于雙層防火墻系統(tǒng)中對位于對;饏^(qū)內(nèi)的Web服務(wù)器的保護。然而其本身為單層系統(tǒng),因此比雙層系統(tǒng)配置起來更方便,是一種簡單有效的方案。其中反向代理功能能夠提供豐富的連接記錄,可以用來提供預(yù)防和捕獲攻擊的能力,而包過濾和網(wǎng)絡(luò)地址翻譯可以讓內(nèi)部網(wǎng)絡(luò)的主機可以使用多種協(xié)議訪問外部網(wǎng)絡(luò),不需要考慮防火墻對應(yīng)用協(xié)議的支持問題。這種方式適用于大多數(shù)Intranet系統(tǒng)。
出處:
責(zé)任編輯:ImHow
上一頁 使用反向代理技術(shù)保護Web服務(wù)器 下一頁 討論
|