[研究]IIS 10套用GCB設定路徑圖解(4)要求篩選與其他限制模組
2025-11-04
Windows Server 從Windows Server 2016開始,IIS為10.0版,後續 Windows Server 2019, Windows Server 2022, Windows Server 2025 也都是 10.0版,大版本號碼相同,小版本可能不同,畫面幾乎相同。
政府組態基準(Government Configuration Baseline,簡稱GCB)
TWGCB-04-014_Microsoft IIS 10政府組態基準說明文件v1.1_1141002
https://www.nics.nat.gov.tw/core_business/cybersecurity_defense/GCB/GCB_Documentation/
| 類別項次 | 類別 | 項數 | 起訖項次編號 | 合計 |
| 1 | 基本設定 | 7 | No.1 ~ 7 | 53 |
| 2 | 設定驗證與授權 | 5 | No.8 ~ 12 | |
| 3 | ASP.NET設定建議 | 12 | No.13 ~ 24 | |
| 4 | 要求篩選與其他限制模組 | 11 | No.25 ~ 35 | |
| 5 | IIS記錄 | 4 | No.36 ~ 39 | |
| 6 | FTP要求 | 2 | No.40 ~ 41 | |
| 7 | 傳輸加密 | 12 | No.42 ~ 53 |
IIS 10.0 政府組態基準列表
| 項次 | TWGCB-ID | 類別 | 原則設定名稱 | 說明 | 設定位置 | 設定路徑 | GCB設定值 |
| 25 | TWGCB-04-014-0025 | 要求篩選與其他限制模組 | 允許的內容長度上限 | ▪這項原則設定決定由用戶端傳送至伺服器之HTTP request之長度上限,以位元組為單位 ▪當內容長度超過上限時,IIS將會記錄404.13狀態在日誌檔中 ▪限制允許之內容長度,可避免大量之異常請求而導致網站服務異常,以維持網站可用性,亦可降低遭受緩衝區溢位攻擊之風險 ▪預設值為30,000,000位元組,設為0代表長度無限制 |
伺服器 | IIS管理員\伺服器\IIS\要求篩選\動作\開啟功能\動作\編輯功能設定\要求限制\允許的內容長度上限(位元組) | 30,000,000以下,但須大於0 |
- 網頁請求直接返回 HTTP 404.11 – URL 含有高位元字元
- 或 HTTP 400 – 錯誤的要求 (Bad Request)
- URL或URL中檔案名稱含繁體中文、日文、韓文、歐洲語系被禁止
| 項次 | TWGCB-ID | 類別 | 原則設定名稱 | 說明 | 設定位置 | 設定路徑 | GCB設定值 |
| 26 | TWGCB-04-014-0026 | 要求篩選與其他限制模組 | URL長度上限 | ▪這項原則設定決定URL字串(不包含查詢字串)之長度上限,以位元組為單位 ▪當URL長度超過上限時,IIS將會記錄404.14狀態在日誌檔中 ▪限制可接受之URL最大長度,可避免因過長之URL導致伺服器異常 ▪預設值為4,096位元組 |
伺服器 | IIS管理員\伺服器\IIS\要求篩選\動作\開啟功能\動作\編輯功能設定\要求限制\URL長度上限(位元組) | 4096以下,但須大於0 |
| 項次 | TWGCB-ID | 類別 | 原則設定名稱 | 說明 | 設定位置 | 設定路徑 | GCB設定值 |
| 27 | TWGCB-04-014-0027 | 要求篩選與其他限制模組 | 查詢字串上限 | ▪這項原則設定決定查詢字串之長度上限,以位元組為單位 ▪當查詢字串超過上限時,IIS將會記錄404.15狀態在日誌檔中 ▪設定可接受的查詢字串長度,以避免因過長之查詢字串導致應用程式集區發生異常 ▪預設值為2,048位元組 |
伺服器 | IIS管理員\伺服器\IIS\要求篩選\動作\開啟功能\動作\編輯功能設定\要求限制\查詢字串上限(位元組) | 2048以下,但須大於0 |
| 項次 | TWGCB-ID | 類別 | 原則設定名稱 | 說明 | 設定位置 | 設定路徑 | GCB設定值 |
| 28 | TWGCB-04-014-0028 | 要求篩選與其他限制模組 | 允許高位元字元 | ▪這項原則設定決定查詢字串是否允許使用高位元字元(非ASCII字元)。高位元字元之範例包括:Ж、Ы或Я ▪當查詢字串因含有高位元字元而被拒絕時,IIS將會記錄404.12狀態在日誌檔中 ▪禁止使用高位元字元,可確保URL中不會出現非ASCII文字,以避免發生輸入特殊字元或跳脫命令字元等攻擊語法 ▪預設值為允許高位元字元 |
伺服器 | IIS管理員\伺服器\IIS\要求篩選\動作\開啟功能\動作\編輯功能設定\一般\不勾選「允許高位元字元」 | 不允許 |
| 項次 | TWGCB-ID | 類別 | 原則設定名稱 | 說明 | 設定位置 | 設定路徑 | GCB設定值 |
| 29 | TWGCB-04-014-0029 | 要求篩選與其他限制模組 | 允許雙重逸出 | ▪這項原則設定決定是否允許URL雙重逸出,即是否允許URL請求使用雙重編碼技術 ▪有些網站攻擊可以將URL請求利用雙重編碼技術(例如將”../”雙重編碼成為"%252E%252E%252F"),以繞過安全防護機制或造成應用程式非預期之反應 ▪設定為不允許雙重逸出時,IIS會將URL請求利用正規化(Normalize)加以還原其原字元,並執行兩次,如第一次與第二次之結果不同,該請求就會被拒絕,並記錄404.11狀態在日誌檔中 ▪預設值為不允許 |
伺服器 | IIS管理員\伺服器\IIS\要求篩選\動作\開啟功能\動作\編輯功能設定\一般\不勾選「允許雙重逸出」 | 不允許 |
| 項次 | TWGCB-ID | 類別 | 原則設定名稱 | 說明 | 設定位置 | 設定路徑 | GCB設定值 |
| 30 | TWGCB-04-014-0030 | 要求篩選與其他限制模組 | HTTP TRACE方法 | ▪這項原則設定決定允許或拒絕使用HTTP TRACE方法 ▪HTTP TRACE方法會傳回用戶端提交的HTTP請求內容,攻擊者可利用此方法繞過HttpOnly限制,來存取HTTP標頭中所包含的機敏資訊(如驗證資料或Cookie) ▪預設值為允許 |
伺服器 | IIS管理員\伺服器\IIS\要求篩選\動作\開啟功能\HTTP指令動詞\動作\拒絕指令動詞\輸入「TRACE」 | 拒 絕 |
| 項次 | TWGCB-ID | 類別 | 原則設定名稱 | 說明 | 設定位置 | 設定路徑 | GCB設定值 |
| 31 | TWGCB-04-014-0031 | 要求篩選與其他限制模組 | 允許未列出的副檔名 | ▪這項原則設定決定是否允許未列出的副檔名在網頁伺服器上被執行 ▪限制網頁伺服器只能執行特定之檔案類型,可提升安全性 ▪在取消勾選「允許未列出的副檔名」後,必須將網站中所有使用到之副檔名(例如:.asax、.cs及.html等)加入允許清單,網頁才能正常運作 |
伺服器 | ▪取消勾選: IIS管理員\伺服器\IIS\要求篩選\動作\開啟功能\動作\編輯功能設定\一般\不勾選「允許未列出的副檔名」 ▪新增允許副檔名: IIS管理員\伺服器\IIS\要求篩選\動作\開啟功能\動作\允許副檔名 |
不允許 |
| 項次 | TWGCB-ID | 類別 | 原則設定名稱 | 說明 | 設定位置 | 設定路徑 | GCB設定值 |
| 32 | TWGCB-04-014-0032 | 要求篩選與其他限制模組 | 處理常式權限 | ▪這項原則設定決定處理常式(Handler)可賦予之權限(包含無、讀取、寫入、指令碼及執行等5種選項) ▪設定處理常式不可同時具有「寫入」與「執行/指令碼」之權限,以降低在伺服器上執行惡意程式碼之風險 ▪處理常式預設擁有「讀取」與「指令碼」權限 |
伺服器 | IIS管理員\伺服器\管理\設定編輯器\動作\開啟功能\區段\system.webServer\handlers\accessPolicy | 不能同時擁有執行/指令碼與寫入權限 |
| 項次 | TWGCB-ID | 類別 | 原則設定名稱 | 說明 | 設定位置 | 設定路徑 | GCB設定值 |
| 33 | TWGCB-04-014-0033 | 要求篩選與其他限制模組 | 允許未指定的ISAPI模組 | ▪這項原則設定決定是否允許未指定之ISAPI模組在此伺服器上執行 ▪不允許未指定之ISAPI模組,可防止惡意使用者將未經授權之ISAPI二進制檔案複製到網頁伺服器中執行,以降低感染惡意程式之風險 |
伺服器 | IIS管理員\伺服器\管理\設定編輯器\動作\開啟功能\區段\system.webServer\security\isapiCgiRestriction\notListedIsapisAllowed | False |
| 項次 | TWGCB-ID | 類別 | 原則設定名稱 | 說明 | 設定位置 | 設定路徑 | GCB設定值 |
| 34 | TWGCB-04-014-0034 | 要求篩選與其他限制模組 | 允許未指定的CGI模組 | ▪這項原則設定決定是否允許未指定之CGI擴充模組在伺服器上執行 ▪不允許未指定之CGI模組,可防止惡意使用者執行含有惡意指令碼的CGI程式,以降低感染惡意程式之風險 |
伺服器 | IIS管理員\伺服器\管理\設定編輯器\動作\開啟功能\區段\system.webServer\security\isapiCgiRestriction\notListedCgisAllowed | False |
| 項次 | TWGCB-ID | 類別 | 原則設定名稱 | 說明 | 設定位置 | 設定路徑 | GCB設定值 |
| 35 | TWGCB-04-014-0035 | 要求篩選與其他限制模組 | 動態IP限制 | ▪這項原則設定決定是否藉由限制同一IP同時開啟連線數或限制同一IP在一段期間內發送之最大要求數量 ▪透過動態IP限制功能,當超過限制時,IIS就暫時不處理來自該IP的請求,直接傳回HTTP錯誤以節省資源,不再耗費頻寬或CPU、記憶體處理要求,可降低DDoS攻擊影響 ▪動態IP限制預設為停用 |
伺服器 | IIS管理員\伺服器\IIS\IP位址及網域限制\動作\開啟功能\動作\編輯動態限制設定 | 啟用動態IP限制功能,並依需求設定「根據同時要求的數目拒絕IP位址」與「根據超過一段時間之要求數目拒絕IP位址」參數 |
【動態 IP 限制設定】
「根據同時要求的數目拒絕IP位址(C)」
「同時要求的最大數目(N)」:5
「根據超過一段時間之要求數目拒絕 IP位址(R)」
「要求的最大數目(M)」:20
「時間間隔(以毫秒表示)(T)」:200
這兩者超過會回應 HTTP 403.502 – Forbidden (Dynamic IP Restriction)
「僅啟用記錄模式(L)」:規定如果違反了前面的規則之一,則記錄該事件,並允許請求而不是拒絕請求。
[研究]GCB,IIS 「IP位址及網域限制」的「動態 IP 限制設定」
如果一定要設,敝人會設定很大的值吧,避免使用者無法使用系統,避免業務相關工作無法進行。

















沒有留言:
張貼留言