Share via


IIS 8.0 動態 IP 位址限制

作者:Robert McMurray

相容性

版本 備註
IIS 8.0 IIS 8.0 內建的動態 IP 位址限制。
IIS 7.5 動態 IP 位址限制可作為 IIS 7.5 頻外模組
IIS 7.0 動態 IP 位址限制可作為 IIS 7.0 的頻外模組

問題

IIS 7 和舊版具有內建功能,可讓系統管理員允許或拒絕個別 IP 位址或 IP 位址範圍的存取。 當 IP 位址遭到封鎖時,來自該 IP 位址的任何 HTTP 用戶端會收到來自伺服器的 HTTP 錯誤「403.6 禁止」回復。 這項功能可讓系統管理員根據伺服器記錄或網站活動中看到的活動來自訂其伺服器的存取權。 不過,這是手動程式。 雖然功能可以編寫腳本,藉由使用 Microsoft LogParser 公用程式之類的工具來檢查 IIS 記錄檔來探索惡意使用者,但這仍然需要手動介入。

解決方法

在 IIS 8.0 中,Microsoft 已擴充內建功能,以包含數個新功能:

  • 動態 IP 位址篩選,可讓系統管理員設定其伺服器,以封鎖超過指定要求數目的 IP 位址存取。
  • IP 位址篩選功能現在可讓系統管理員指定 IIS 封鎖 IP 位址時的行為,因此伺服器可以中止來自惡意用戶端的要求,而不是將 HTTP 403.6 回應傳回給用戶端。
  • IP 篩選現在具有 Proxy 模式,它不僅允許由 IIS 看到的用戶端 IP 封鎖 IP 位址,也會由 x-forwarded-for HTTP 標頭中收到的值封鎖

逐步指示

先決條件:

  • 已安裝 IIS 8.0 的 Windows Server 2012 電腦。

    注意

    IP 和網域限制功能必須安裝為 IIS 的一部分。

    顯示 I P 和網域限制選取核取方塊的螢幕擷取畫面。

已知 Bug 的因應措施:

目前沒有此功能的已知錯誤。

設定 IIS 以根據 HTTP 要求拒絕存取

IIS 8.0 可以設定為根據 HTTP 用戶端在指定時間間隔記憶體取伺服器的次數,或根據 HTTP 用戶端的並行連線數目來拒絕網站的存取。

若要根據 IIS 接收的 HTTP 要求數目來設定 IIS 拒絕存取,請使用下列步驟:

  1. 以 Windows Server 2012 電腦上的系統管理員身分登入。
  2. 開啟 [Internet Information Services (IIS) 管理員]
  3. 反白顯示 [ 連線 ] 窗格中的伺服器名稱、網站或資料夾路徑,然後在功能清單中按兩下 [ IP 位址和網域限制 ]。
    顯示 [I I S 管理員] 的螢幕擷取畫面,其中已開啟 [預設網站首頁] 窗格,並已選取 [I P 位址和網域限制]。
  4. 按一下 [動作] 窗格中的[編輯動態限制設定]。
    顯示 [I P 位址和網域限制] 窗格開啟的螢幕擷取畫面。[動作] 窗格中會醒目提示 [編輯動態限制設定]。
  5. 當 [ 動態 IP 限制設定 ] 對話方塊出現時,如果您想要防止 HTTP 用戶端建立太多同時連線,請 根據並行要求數目檢查 [拒絕 IP 位址 ]。 如果您想要防止 HTTP 用戶端在特定時段內建立太多連線,請核取 [ 根據一段時間的要求數目拒絕 IP 位址 ] 方塊。
    顯示 [動態 I P 限制設定] 對話方塊的螢幕擷取畫面。前兩個專案已選取核取方塊。
  6. 按一下 [確定]。

在拒絕 IP 位址時設定 IIS 的行為

在 IIS 7 和舊版中,IIS 會在封鎖用戶端 IP 位址時,從伺服器傳回 HTTP 錯誤 「403.6 禁止」 回復。 在 IIS 8.0 中,系統管理員可以設定其伺服器,以數種方式拒絕 IP 位址的存取。

若要設定 IIS 在拒絕 IP 位址時將使用的行為,請使用下列步驟:

  1. 以 Windows Server 2012 電腦上的系統管理員身分登入。

  2. 開啟 [Internet Information Services (IIS) 管理員]

  3. 反白顯示 [ 連線 ] 窗格中的伺服器名稱、網站或資料夾路徑,然後在功能清單中按兩下 [ IP 位址和網域限制 ]。
    顯示 I I S Manager 的螢幕擷取畫面。[預設網站首頁] 窗格中已選取 [I P 位址和網域限制]。

  4. 按一下 [動作] 窗格中的[編輯功能設定]。
    顯示 [I P 位址和網域限制] 窗格的螢幕擷取畫面,其中已醒目提示 [動作] 窗格中的 [編輯功能設定]。

  5. 當 [ 編輯 IP 和網域限制設定 ] 對話方塊出現時,按一下 [拒絕動作類型 ] 下拉式功能表,然後從下列值選擇 IIS 使用的行為:

    • 未經授權:IIS 會傳回 HTTP 401 回應。

    • 禁止:IIS 會傳回 HTTP 403 回應。

    • 找不到:IIS 會傳回 HTTP 404 回應。

    • 中止:IIS 會終止 HTTP 連線。

      顯示 [編輯 I P 和網域限制設定] 對話方塊的螢幕擷取畫面。已從 [拒絕動作類型] 清單中選取 [禁止]。

  6. 按一下 [確定]。

設定 Proxy 模式的 IIS

IP 篩選的其中一項挑戰是許多用戶端透過一或多個防火牆、負載平衡或 Proxy 伺服器存取 IIS;因此,IP 位址一律會顯示為最接近 IIS 伺服器之要求路徑中的伺服器。 在 IIS 8.0 中,系統管理員除了用戶端 IP 位址之外,還可以設定其伺服器來檢查 X-forwarded-for HTTP 標頭,以判斷要封鎖的要求。 此行為稱為「Proxy 模式」。

若要設定 PROXY 模式的 IIS,請使用下列步驟:

  1. 以 Windows Server 2012 電腦上的系統管理員身分登入。
  2. 開啟 [Internet Information Services (IIS) 管理員]
  3. 反白顯示 [ 連線 ] 窗格中的伺服器名稱、網站或資料夾路徑,然後在功能清單中按兩下 [ IP 位址和網域限制 ]。
    顯示 [預設網站首頁] 窗格的螢幕擷取畫面,其中已選取 [I P 位址和網域限制]。
  4. 按一下 [動作] 窗格中的[編輯功能設定]。
    顯示 I I S Manager 的螢幕擷取畫面,其中已醒目提示 [動作] 窗格中的 [編輯功能設定]。
  5. 當 [ 編輯 IP 和網域限制設定 ] 對話方塊出現時,核取 [ 啟用 Proxy 模式] 方塊。
    顯示 [編輯和網域限制設定] 對話方塊的螢幕擷取畫面。在核取方塊中選取 [啟用 Proxy 模式]。
  6. 按一下 [確定]。

總結

在本指南中,您已瞭解如何設定 IIS,根據用戶端 IP 位址的要求數目動態拒絕伺服器的存取,以及設定 IIS 在拒絕存取潛在惡意使用者時將使用的行為。