規劃 HTTP 篩選

發佈時間: 2009年11月

更新日期: 2010年2月

適用於: Forefront Threat Management Gateway (TMG)

本主題的設計目的是為了協助您規劃 HTTP 篩選,這個篩選可讓您檢查通過 Forefront TMG 的內容,以防範網頁瀏覽威脅。

note附註:
本主題也會說明在為規則的 HTTP 原則設定標頭和 URL 封鎖時所需的設定。請參閱下方的HTTP 篩選設定概觀

Forefront TMG 會以 HTTP 篩選器的形式,提供詳細且精確的 HTTP 流量控制。HTTP 應用程式層篩選器會檢查通過 Forefront TMG 電腦的 HTTP 命令與資料,而且它只會允許符合規則的要求通過。透過確定伺服器只回應有效的要求,從而明顯增進網頁伺服器的安全性,而且您可以控制用戶端網際網路存取。

HTTP 篩選可以應用在下列實例:

  • 內部用戶端透過 Forefront TMG 電腦,存取其他網路 (通常是網際網路) 的 HTTP 物件 (HTML 頁面與圖形、或是可以使用 HTTP 通訊協定傳送的其他資料) 時,存取是由 Forefront TMG 存取規則所控制。HTTP 原則可以套用至每個使用 HTTP 篩選器的存取規則。

  • 外部用戶端存取透過 Forefront TMG 伺服器發行之網頁伺服器上的 HTTP 物件時,存取是由 Forefront TMG 網頁發行規則所控制。HTTP 原則可以套用至每個使用 HTTP 篩選器的網頁發行規則。

每個規則的 HTTP 篩選均不同,且每個規則可以設定不同的準則。例如,您可以使用 HTTP 篩選,對一組使用者封鎖使用特定點對點檔案共用服務,但是允許另一組使用該服務。當規則中設定的 HTTP 篩選器封鎖內容時,使用者會收到 "The request was rejected by the HTTP filter" 訊息的 502 Proxy 錯誤。

設定規則的 HTTP 篩選原則需要:

  • 為標頭、裝載、URL 或查詢設定最大的位元組數,以及封鎖 URL 中包含特定字元的要求。如需在 HTTP 原則中設定標頭和 URL 封鎖時,部分必要設定值的說明,請參閱 HTTP 篩選設定概觀

  • 封鎖特定的 HTTP 方法 (動詞)。HTTP 方法 (亦稱為 HTTP 動詞) 是在要求訊息中傳送的指示,這個要求訊息會通知 HTTP 伺服器在指定資源上執行動作。例如,封鎖 POST,讓內部用戶端不能張貼資料到外部網頁。在安全網路實例中,如果您想要防止敏感資訊發佈到外部網站,這是實用的作法。這在網頁發行中也非常實用,可以避免惡意使用者將惡意內容發佈到您的網站。

  • 封鎖特定副檔名:您可以允許所有的副檔名或只允許特定副檔名。為了得到更為安全的設定,建議您僅允許選取的副檔名。例如,如果您要發行網站,網站設計師或是網頁伺服器的系統管理員可以定義網站功能所需的副檔名清單。典型的封鎖副檔名是封鎖執行檔 (.exe)。

  • 封鎖特定的 HTTP 標頭。

  • 封鎖標頭或內文中的特定簽章。

HTTP 篩選設定概觀

下表所提供的資訊,說明在為規則的 HTTP 原則設定標頭和 URL 封鎖時所需的更複雜設定。

 

設定 描述

標頭長度上限 (位元組)

這個設定會套用到所有規則;如果您在其中一個規則變更此設定,則所有規則都會變更此設定。減少允許的標頭大小可以降低使用複雜的長標頭進行攻擊的風險,例如緩衝區溢位攻擊與某些阻斷服務攻擊。然而,將標頭長度上限設得太低時,可能會影響到某些使用長標頭的合法應用程式。建議您以 10,000 位元組的限制開始,並且只有在您發現必要的應用程式被封鎖時,才增加該值。

允許任何裝載長度

透過限制要求裝載,您可以在網頁發行實例中,限制使用者可以 POST 到您網站的資料量。若要判斷設定的限制,請根據您網站的使用情況,估計合法 POST 中檔案的最大大小,並用它作為允許的裝載長度。這樣會假設任何大於您所定義限制的 POST,可能是潛在攻擊。

查詢長度上限 (位元組)

查詢是 URL 中問號 (?) 以後的部分。如果您根據查詢字串的長度以判斷攻擊,您可以限制查詢的長度。依照預設,最大的查詢長度設定為 10240。長查詢及 URL 是網際網路蠕蟲常見的攻擊媒介。這些蠕蟲傳送長 GET 要求,並使用 URL 內嵌它們的裝載。

確認正規化

網頁伺服器收到已編碼的 URL 要求。這表示某些字元可能以百分比符號 (%) 取代,後面接著數字。例如,%20 對應到空白,所以 http://myserver/My%20Dir/My%20File.htm 的要求等於 http://myserver/My Dir/My File.htm 的要求。正規化就是將已編碼 URL 要求解碼的程序。因為 % 可以是 URL 編碼,攻擊者可以提交仔細修改的要求到基本上是雙重編碼的伺服器。如果發生這個情況,網頁伺服器可能會接受原本被視為無效而拒絕的要求。當您選取 [確認正規化],HTTP 篩選器會將 URL 正規化兩次。如果第二次正規化之後的 URL 與第一次正規化之後的 URL 不同,篩選器會拒絕這個要求。這可以避免使用雙重編碼要求的攻擊。

封鎖高位元字元

這些字元的語言通常需要超過 8 位元以上的位元以代表它們的語言字元,一般會使用 16 位元。例如,包含雙位元組字集的字元 (DBCS) 或 Latin 1 字元的 URL 將會被封鎖。雖然這可以協助封鎖某些攻擊,但是也可能封鎖包含高位元字元之語言字元的要求與回應。選取 [封鎖高位元字元],可能會影響 Outlook Web Access 發行、Microsoft Windows SharePoint Portal Server 發行等實例,以及 GET 要求所傳遞的參數包含 DBCS 字元的任何實例。

Via 標頭

Via 標頭為處於要求路徑中的 Proxy 伺服器提供的方式,可確保這些伺服器也會包含在回應路徑中。要求路徑中沿途的每個伺服器可加上自己的 Via 標頭。回應路徑中沿途的每個傳送者會移除自己的 Via 標頭,並將回應轉送至堆疊中下一個 Via 標頭中指定的伺服器。例如,您可以使用這個功能,以避免在回應中暴露您的 Forefront TMG 伺服器名稱。

相關主題

顯示: