設定 HTTP 篩選

發佈時間: 2009年11月

更新日期: 2010年2月

適用於: Forefront Threat Management Gateway (TMG)

本主題描述如何設定 HTTP 篩選器。您可以針對輸入和輸出存取規則使用 HTTP 篩選器來控制您想要允許跨越防火牆之資料和 HTTP 命令的類型。

如需有關 HTTP 篩選的詳細資訊,請參閱規劃 HTTP 篩選

下列程序描述針對存取規則設定 HTTP 篩選應該執行的步驟:

存取設定 HTTP 篩選的規則

  1. 在 [Forefront TMG 管理] 的主控台樹狀目錄中,按一下 [防火牆原則] 節點。

  2. 在詳細資料窗格中,以滑鼠右鍵按一下您要修改的規則,再按一下 [設定 HTTP][設定規則的 HTTP 原則] 對話方塊隨即開啟。

  3. 使用下列程序中的指示,根據您的網路需求設定 HTTP 篩選。

note附註:
如需在此程序中設定所需參數的描述,請參閱規劃 HTTP 篩選中的<HTTP 篩選設定概觀>。

設定標頭與 URL 封鎖

  1. 按一下 [設定規則的 HTTP 原則] 對話方塊中的 [一般] 索引標籤。

  2. [標頭長度上限 (位元組)] 中,指定封鎖 HTTP 要求之前,HTTP 要求中 URL 與 HTTP 標頭所允許的最大位元組數目。

    note附註:
    這個設定會套用到所有規則,所以如果您變更其中一個規則,則所有的規則都會變更。

  3. 清除 [允許任何裝載長度] 以封鎖超過 [裝載長度上限 (位元組)] 中指定之位元組數目的要求。

  4. [URL 長度上限 (位元組)] 中,鍵入允許的 URL 長度上限。如果要求所帶的 URL 超過這個值將遭到封鎖。

  5. [查詢長度上限 (位元組)] 中,輸入要求中允許的查詢長度上限。如果要求所帶的查詢超過此值將遭到封鎖。

  6. 選取 [確認正規化],可以在正規化後封鎖帶有逸出字元之 URL 要求。

    note附註:
    雖然我們建議您使用 [確認正規化] 功能,但是請注意,這也可能會封鎖包含 % 的合法要求。

  7. 選取 [封鎖高位元字元],指定將封鎖具有高位元字元的 URL。

  8. 選取 [封鎖含有 Windows 可執行內容的回應] 以指定包含 Windows 可執行內容 (以 MZ 開頭的回應) 的回應將會遭到封鎖。

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

設定 HTTP 方法 (動詞)

  1. 按一下 [設定規則的 HTTP 原則] 對話方塊中的 [方法] 索引標籤。

  2. [指定對 HTTP 方法所採取的動作],請選取對列出的 HTTP 方法所要採取的動作。您可以允許所有方法,封鎖這些列出的方法並允許其他所有的方法,或是允許這些列出的方法並封鎖其他所有的方法。建議您僅允許選取的方法,因為這是最安全的設定。

  3. 若要新增方法,請按一下 [新增]。在 [方法] 對話方塊中,輸入您要新增的方法。

  4. 若要刪除現有的方法,請選取清單中的方法,然後按一下 [移除]

  5. 若要編輯現有的方法,請選取清單中的方法,然後按一下 [編輯]

您可以允許所有副檔名或僅允許清單中的副檔名。您也可以選取封鎖清單中的副檔名,並允許其它的所有副檔名。建議您僅允許選取的副檔名,因為這是最安全的設定。例如,如果您發行網站,網站設計師或是網頁伺服器的系統管理員可以定義網站功能所需的副檔名清單。

典型的封鎖副檔名是封鎖執行檔 (.exe)。

設定 HTTP 副檔名封鎖

  1. 按一下 [設定規則的 HTTP 原則] 對話方塊中的 [副檔名] 索引標籤。

  2. [指定對副檔名所採取的動作] 中選取動作。

  3. 啟用 [封鎖含有不明確副檔名的要求] 以封鎖無法判別其副檔名的要求。

  4. 若要新增副檔名,請按一下 [新增]。在 [副檔名] 對話方塊中,輸入您要新增的副檔名。

  5. 若要編輯現有的副檔名,請選取清單中的副檔名,然後按一下 [編輯]

  6. 若要刪除現有的副檔名,請選取清單中的副檔名,然後按一下 [移除]

設定標頭封鎖

  1. 按一下 [設定規則的 HTTP 原則] 對話方塊中的 [標頭] 索引標籤。

  2. 按一下 [新增] 以新增要封鎖的標頭。然後在 [標頭] 對話方塊中,從 [搜尋範圍] 選取 [要求標頭] 或是 [回應標頭],然後輸入標頭名稱。系統將會允許 [允許下列之外的所有標頭] 清單中所顯示標頭之外的所有標頭。

  3. 若要編輯標頭,請從清單中選取,然後按一下 [編輯]。若要允許目前在封鎖清單中的標頭,請先選取,然後按一下 [移除]

  4. [伺服器標頭] 中,指定如何在回應中傳回伺服器標頭。伺服器標頭是包含伺服器應用程式名稱之類的資訊與軟體版本資訊的回應標頭,例如,HTTP:Server = Microsoft-IIS/6.0。可能的設定有:

    • 傳送原始標頭:將在回應中傳回原始標頭。

    • 從回應去除標頭:在回應中不會傳回任何標頭。

    • 修改回應中的標頭:如果選取這個選項,請在 [變更為] 中輸入將會出現在回應中的值。建議您修改伺服器標頭。在回應中出現的值可能是任何值,因為用戶端很少使用伺服器標頭。

  5. [Via 標頭] 中,指定 Via 標頭要如何在要求中轉送或在回應中傳回。如需相關描述,請參閱規劃 HTTP 篩選中的<查詢長度上限 (位元組)>。

    可能的設定有:

    • 傳送預設值:將使用預設標頭。

    • 修改要求及回應中的標頭:Via 標頭將會取代為修改的標頭。如果您選取這個選項,請在 [變更為] 中輸入將取代 Via 標頭出現的標頭。

您可以根據標頭或內文中的特定簽章,指定要允許或封鎖要求:

設定封鎖的簽章

  1. 按一下 [設定規則的 HTTP 原則] 對話方塊中的 [簽章] 索引標籤。

  2. 按一下 [新增] 以新增封鎖的簽章。然後在 [簽章] 對話方塊中,指定下列各項:

    • [搜尋範圍] 中,指定要在要求 URL 內文或標頭中,或是在回應內文或標頭中顯示簽章。

    • [HTTP 標頭] 中,如果您已指定標頭類型簽章,請輸入標頭名稱。

    • [簽章] 中,輸入簽章字串。簽章可以是標頭或內文中的任何字串。建議您選擇足夠明確的字串,以真正封鎖您想要封鎖的要求或回應。例如,如果您新增字母 "a" 作為簽章,則任何包含 "a" 的要求或簽章將會遭到封鎖。同樣地,在簽章中加入 "Mozilla",則幾乎會封鎖大部分的網頁瀏覽器。更典型的範例簽章是 User-Agent:adatum-software-abc。

    • [位元組範圍] 中,如果您已經選取簽章類型為 [回應內文] 或 [要求內文],請指定 [寄件者][收件者] 值。根據預設,Forefront TMG 只會檢查要求與回應內文中的前 100 個位元組。增加這個預設值可能會影響系統效能。

  3. 您可以使用簽章名稱旁的核取方塊,以啟用或停用簽章。按一下 [只顯示啟用的搜尋字串] 只會列出啟用的簽章。

  4. 若要修改封鎖的簽章,請從 [封鎖包含這些簽章的內容] 清單中選取,然後按一下 [編輯]

  5. 若要允許封鎖的簽章,請從 [封鎖包含這些簽章的內容] 清單中選取,然後按一下 [移除]

您可以監視網路流量以判定要封鎖特定流量的簽章。

Important重要事項:
某些網路流量監視工具可能帶來安全性風險,因此建議您只在實驗室環境使用這些工具,而不要在實際環境中使用。

判定簽章

  1. 新增 Windows 網路監視工具。它位於 Windows 選用元件的 [管理及監視工具] 區段。

  2. 若要在安裝之後開啟 [網路監視器],請按一下 [開始],指向 [系統管理工具],然後按一下 [網路監視器]。如果出現提醒您選取網路的訊息,請將它關閉。

  3. [選取網路] 對話方塊中,展開 [本機電腦]。如果內部用戶端位於 Forefront TMG 的預設內部網路中,請選取 [內部] 以追蹤這些用戶端使用的簽章。這可以讓您使用追蹤的簽章,以封鎖內部用戶端存取特定網際網路服務。

  4. [網路監視器] 會擷取所有來自內部網路的封包。您可以在擷取後篩選結果,或是在您開始擷取前建立篩選設定。若要在開始前建立篩選器,請在功能表中,按一下 [擷取],然後選取 [篩選器] (或按下 F8)。在 [擷取篩選器] 對話方塊中,選取 INCLUDE *ANY < - > *ANY,然後按一下 [編輯]

  5. 按一下 [編輯位址],然後在 [新增] 之下,按一下 [位址]。在 [位址表示] 對話方塊中,按一下 [編輯位址]

  6. [位址資料庫] 對話方塊中,按一下 [新增] 以開啟 [位址資訊] 對話方塊。

  7. [位址資訊] 對話方塊中,請指定用戶端電腦的名稱。在 [位址] 中提供用戶端電腦的 IP 位址,然後在 [類型] 清單中,選取 IP。然後選取 [確定],按一下 [關閉] 以關閉 [位址資料庫] 對話方塊。

  8. [位址表示] 中,確定已經選取 [包含] 選項。在 [工作站 2] 欄中,選取您剛剛建立的用戶端。保留 [方向] 為預設 (雙向),在 [工作站 1] 欄選擇目的地為 Forefront TMG 電腦,然後按一下 [確定]

  9. 按一下 [確定] 以關閉 [擷取篩選器] 對話方塊。

  10. 如果在兩部電腦間有大量的流量,您可能必須增加擷取緩衝區。您可以從功能表按一下 [擷取],然後選取 [緩衝區設定] 來執行這個動作。在 [擷取緩衝區設定] 對話方塊中,增加 [緩衝區大小]。按一下 [確定]

  11. 在用戶端,除了您要擷取其簽章的應用程式之外,關閉其它所有應用程式。

  12. [網路監視器] 功能表中,按一下 [擷取],然後選取 [開始] (或按下 F10)。

  13. 在用戶端電腦,啟動該應用程式。例如,登入 Windows Live™ Messenger 或 AOL Instant Messenger。

  14. [網路監視器] 功能表中,按一下 [擷取],然後選取 [停止並檢視] (或按下 SHIFT+F11)。檢查擷取的封包。通常,來自用戶端電腦的第四個封包 (在 Handshake 封包 SYN、SYNACK 與 ACK 封包之後) 會是 HTTP 要求封包,其中包含您所尋找的資訊,但是您可能仍必須查看其他之後的封包。

  15. 按兩下封包以檢視其詳細資料。尋找與您想要封鎖應用程式相關的獨特簽章。如果 [網路監視器] 正確剖析封包,您可以在 [詳細資料] 窗格 (中間窗格) 檢視並個別按一下所有的標頭,並於 [十六進位] 窗格 (下面窗格) 檢視完整的簽章。否則,您可能必須在 [十六進位] 窗格搜尋簽章。

 
顯示: