如果您的內容伺服器上有必須妥善保護的機密資訊,如信用卡號資料庫等,您可以在防火牆外設置代理伺服器做為內容伺服器的替代伺服器。當外部用戶端嘗試存取內容伺服器時,就會被改送至代理伺服器,而內容伺服器上真正的內容則會安全地保留在防火牆內。代理伺服器位於防火牆之外,而用戶端會將其視為內容伺服器。
當用戶端對網站提出請求時,該請求會被送至代理伺服器。接著代理伺服器會經由防火牆的特定通道,將用戶端的請求傳送至內容伺服器。內容伺服器會經由通道將結果送回代理伺服器。代理伺服器會將所擷取的資訊傳送至用戶端,就像代理伺服器是實際的內容伺服器一般,如圖 14–1 所示。若內容伺服器傳回錯誤訊息,則代理伺服器可截取訊息,並在將訊息傳送至用戶端之前,變更標頭所列的任何 URL。此運作方式可防止外部用戶端取得連結至內部內容伺服器的重新導向 URL。
代理伺服器以這種方式,在安全的資料庫和可能的惡意攻擊之間多加一道屏障。即使攻擊成功 (雖然不太可能),攻擊者所能擷取的內容也很可能僅限於單一作業事件的資訊,不太可能取得整個資料庫的存取權。未經授權的使用者無法進入實際的內容伺服器,因為防火牆通道僅允許代理伺服器存取實際的內容伺服器。
您可以對防火牆路由器進行配置,允許特定連接埠上的特定伺服器 (在此例中是指其指定連接埠上的代理伺服器) 取得通過防火牆的存取權,但不允許其他機器出入防火牆。
當代理伺服器和其他機器之間有一或多個連線採用安全通訊端層 (SSL) 協定來加密資料時,就能確保安全的反向代理。
安全的反向代理有多種用途:
為防火牆外的代理伺服器與防火牆內的安全內容伺服器之間,提供加密的連線
讓用戶端以安全的方式連線至代理伺服器,增強資訊 (如信用卡號) 傳輸的安全性
安全的反向代理會因資料加密時需要經常性耗用時間,而使每個安全連線的速度減緩。不過,因 SSL 提供快取機制,連線的雙方可重複使用先前所協議的安全性參數,而大幅縮短後續連線的經常性耗用時間。
用戶端與代理伺服器之間的安全連線。如果代理伺服器和內容伺服器之間所交換的資訊,不太可能或不可能遭未經授權的使用者存取 (如下圖所示),則這個方案就很有用。
代理伺服器與內容伺服器之間的安全連線。如果您的用戶端位於防火牆內部,而內容伺服器位於防火牆外部,則這個方案就很有用。在此方案中,您的代理伺服器可做為網站之間的安全通道,如下圖所示。
用戶端與代理伺服器以及代理伺服器與內容伺服器之間的安全連線。如果伺服器、代理伺服器和用戶端之間所交換的資訊都需要保密,則這個方案就很有用。在此方案中,您的代理伺服器由於有用戶端認證提供額外的安全性,因此能做為網站之間的安全通道,如下圖所示。
如需有關如何設定各項配置的資訊,請參閱設定反向代理伺服器。
除了 SSL 之外,代理伺服器也可以使用用戶端認證,此認證要求向代理伺服器提出請求的電腦提供憑證或其他形式的識別以驗證其身分。