[研究]IIS 10套用GCB綜合分析
2025-12-08
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 |
| 項次 | 設定位置 | 影響檔案或設定 |
| 1 | 站台 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 2 | 站台 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 3 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 4 | 應用程式集區 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 5 | 應用程式集區 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 6 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 7 | 站台 | 網站根目錄\Web.config |
| 8 | 站台 | 網站根目錄\Web.config |
| 9 | 站台 | 網站根目錄\Web.config |
| 10 | 站台 | 網站根目錄\Web.config |
| 11 | 站台 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 12 | 站台 | 網站根目錄\Web.config |
| 13 | 系統檔案 | 預設值和GCB不同。 machine.conifg (根據x86、x64和.NET版本差異而不同),會影響Web.Config設定;僅能設定在正式機,不可設定於開發機 (需要 Debug功能) |
| 14 | 站台 | 網站根目錄\Web.config,預設和GCB相同 |
| 15 | 站台 | 網站根目錄\Web.config |
| 16 | 站台 | 網站根目錄\Web.config |
| 17 | ▪ 伺服器 ▪ 站台 ▪ 網頁 |
網站根目錄\Web.config |
| 18 | 站台 | 網站根目錄\Web.config |
| 19 | 站台 | 網站根目錄\Web.config |
| 20 | 站台 | 網站根目錄\Web.config |
| 21 | 站台 | 網站根目錄\Web.config |
| 22 | 站台 | 網站根目錄\Web.config |
| 23 | 伺服器 | 網站根目錄\Web.config |
| 24 | 站台 | 網站根目錄\Web.config |
| 25 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 26 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 27 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 28 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 29 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 30 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 31 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 32 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 33 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 34 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 35 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 36 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 37 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 38 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 39 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 40 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 41 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 42 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config |
| 43 | regedit | registry(登錄值) |
| 44 | regedit | registry(登錄值) |
| 45 | regedit | registry(登錄值) |
| 46 | regedit | registry(登錄值) |
| 47 | regedit | registry(登錄值) |
| 48 | regedit | registry(登錄值) |
| 49 | regedit | registry(登錄值) |
| 50 | regedit | registry(登錄值) |
| 51 | regedit | registry(登錄值) |
| 52 | regedit | registry(登錄值) |
| 53 | regedit | registry(登錄值) |
| 設定值讀取儲存位置 | 數量 | 備註 |
| 網站根目錄\Web.config | 17 | 一但 CODE更新,設定會被覆蓋掉,治標是照 GCB 文件進行測試,治本的方法要修改 Source Code。「TWGCB-04-014_Microsoft IIS 10政府組態基準說明文件v1.1_1141002」沒有說明這部分,要自己研究。 |
| C:\Windows\System32\inetsrv\Config\applicationHost.config | 25 | |
| registry(登錄值) | 11 |
| 項次 | 設定位置 | 影響檔案或設定 | 備註 |
| 1 | 站台 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 無預設值,一定要手工設定 |
| 2 | 站台 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 無預設值,一定要手工設定 |
| 4 | 應用程式集區 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設符合 GCB |
| 5 | 應用程式集區 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設符合 GCB |
| 11 | 站台 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設不符合 GCB,一定要手工設定 |
| 17 | ▪ 伺服器 ▪ 站台 ▪ 網頁 |
網站根目錄\Web.config | 要在 Web.config, machine.config 搜尋移除某字串,只能手工處理,預設符合 GCB |
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Strict-Transport-Security" value="max-age=31536000" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
|
********************************************************************************
評估
| 項次 | 類別 | 原則設定名稱 | 設定位置 | 影響檔案或設定 | 套GCB評估 | 預設值和GCB相同 | 要改Web.Config | 要改Source Code(非Web.Config部分) | 敝人排除建議 |
| 1 | 基本設定 | 網站內容存放位置 | 站台 | C:\Windows\System32\inetsrv\Config\applicationHost.config | GCB建議網站實體路徑「存放在非系統磁區」,但必須手動設定。而且受影響程式必須修改 如果有提供上傳、下載檔案,Source Code可能要跟著修改。 |
否 | 可能 | 可能 | 排除(或手工設定) |
| 2 | 基本設定 | 主機名稱 | 站台 | C:\Windows\System32\inetsrv\Config\applicationHost.config | GCB建議「每個站台都必須設定主機名稱」(FQDN),只能個別機器手工設定 | 否 | 否 | 否 | 排除(或手工設定) |
| 3 | 基本設定 | 瀏覽目錄 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設值「啟用」,GCB建議值「停用」 | 否 | 否 | 否 | 統一套用 |
| 4 | 基本設定 | 應用程式集區識別 | 應用程式集區 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設值和GCB建議值都是ApplicationPoolIdentity,相同 因為「網站」名稱不同,無法統一套用,只能手工設定 |
是 | 否 | 否 | 排除(或手工設定) |
| 5 | 基本設定 | 應用程式集區 | 應用程式集區 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設值和GCB建議值「每個站台皆設定唯一的應用程式集區」,一般情況相同。 真要確認,需每個站台手工逐一檢查。 |
是 | 否 | 否 | 排除(或手工設定) |
| 6 | 基本設定 | 匿名使用者識別 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設值是 IUSR,GCB建議改成「應用程式集區識別」 檔案上傳目錄權限要重新調整。 若使用「ASP.ENT身份辨識機制 (ASP.NET Identity)」,功能可能異常,CODE要改;因 IUSR 和 IIS APPPOOL\<AppPoolName> 權限的回傳值不同。 因為這是IIS「伺服器」層級設定,一但變更,所有底下的ASP.NET網站全受影響,衝擊可能很大。 儲存於applicationHost.config的<localtion path="SPM">之下 |
否 | 否 | 可能 | 排除 |
| 7 | 基本設定 | WebDAV功能 | 站台 | 網站根目錄\Web.config | 預設值和GCB建議值都是False。 註:為何預設值和GCB相同還建議建議【排除(預設值)】?不是預設值表示有特別需求,再去套預設值,可能會把系統搞癱瘓。故預設值和GCB若相同,都是建議【排除(預設值)】,以下皆如此。 |
是 | 否 | 否 | 排除(預設值) |
| 8 | 設定驗證與授權 | 表單驗證需要SSL | 站台 | 網站根目錄\Web.config | 預設值 False,GCB建議值 True,ChatGPT說第三方套件正常運作機率 99% 敝人註:若網站本身已經提供HTTPS連線,功能需求已經重疊,不建議冒風險設定GCB |
否 | 否 | 否 | 排除 (出事麻煩) |
| 9 | 設定驗證與授權 | 表單驗證Cookie模式 | 站台 | 網站根目錄\Web.config | cookieless預設值是 UseDeviceProfile,GCB建議改成 UseCookies。 可能受影響的常用套件Microsoft.AspNet.FriendlyUrls / Core / zh-Hant、Microsoft.AspNet.Identity.* / Microsoft.Owin.Security.Cookies、jQuery / Bootstrap.Datepicker / js-cookie / vue |
否 | 否 | 否 | 排除(出事麻煩) |
| 10 | 設定驗證與授權 | 表單驗證Cookie保護模式 | 站台 | 網站根目錄\Web.config | 預設值和GCB設定值皆為All | 是 | 否 | 否 | 排除 (預設值) |
| 11 | 設定驗證與授權 | 基本驗證需要SSL | 站台 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設值沒勾選「需要SSL」,GCB建議勾選。 | 否 | 否 | 否 | 排除 |
| 12 | 設定驗證與授權 | credentials元素 | 站台 | 網站根目錄\Web.config | 預設值沒有,GCB建議「移除元素段落」,相符。 | 是 | 否 | 否 | 排除 (預設值) |
| 13 | ASP.NET設定建議 | 以retail模式部署Web應用程式 | 以 retail 模式部署Web 應用程式 | 系統檔案 | 預設值 False,GCB建議值 True。 machine.conifg (根據x86、x64和.NET版本差異而不同),會影響Web.Config設定 僅能設定在正式機,不可設定於開發機 (需要 Debug功能) |
否 | 否 | 否 | 排除 |
| 14 | ASP.NET設定建議 | 偵錯功能 | 站台 | 網站根目錄\Web.config | 預設值和設定值都是False。 開發機要設定True,正式機設定為False。 【ASP.NET設定建議】類別的 (甚至非此類別的)、【設定位置】是【站台】的,正式機更新CODE,可能會重新載入Web.Config,覆蓋GCB的設定,治本必須要修改 Source Code 的 Web.Config 才行。 |
是 | 是 | 否 | 排除 (預設值) |
| 15 | ASP.NET設定建議 | 自訂錯誤訊息顯示模式 | 站台 | 網站根目錄\Web.config | 預設值 RemoteOnly,GCB 建議 On或RemoteOnly,算預設符合。 | 是 | 是 | 否 | 排除 (預設值) |
| 16 | ASP.NET設定建議 | HTTP詳細錯誤訊息顯示模式 | 站台 | 網站根目錄\Web.config | 預設值 和 GCB 建議都是「本機要求的詳細錯誤及遠端要求的自訂錯誤網頁或自訂錯誤網頁 (DetailedLocalOnly)」。 | 是 | 是 | 是 | 排除 (預設值) |
| 17 | ASP.NET設定建議 | ASP.NET堆疊追蹤 | ▪ 伺服器 ▪ 站台 ▪ 網頁 |
網站根目錄\Web.config | 預設值和GCB 建議值相同 | 是 | 否 | 否 | 排除 (預設值) |
| 18 | ASP.NET設定建議 | 工作階段狀態Cookie模式 | 站台 | 網站根目錄\Web.config | 預設值和GCB 建議值都是 UseCookie。 | 是 | 否 | 否 | 排除 (預設值) |
| 19 | ASP.NET設定建議 | httpOnlyCookies | 站台 | 網站根目錄\Web.config | 預設值 False,GCB建議 True,實際檢視某網站 Source Code 的 Web.Config 為 True。 Source Code對開發機、正式機的Web.Config都會設定httpOnlyCookies為True |
否 | 是 | 否 | 排除 (預設值) |
| 20 | ASP.NET設定建議 | 電腦金鑰驗證方法(ASP.NET 3.5) | 站台 | 網站根目錄\Web.config | 預設值、GCB建議值、實際檢視某網站值 都是 SHA1。 要根據x86或x64、NET Framework是2.0或4.0而設定,設定麻煩,無法統一設定 但 ASP.NET 4.5網站應該看下一項 No.21。 |
是 | 是 | 否 | 排除 (預設值) |
| 21 | ASP.NET設定建議 | 電腦金鑰驗證方法(ASP.NET 4.5) | 站台 | 網站根目錄\Web.config | 預設值 SHA1,GCB 建議值 HMACSHA256、HMACSHA384或HMACSHA512。 要根據x86或x64、NET Framework是2.0或4.0而設定,設定麻煩,無法統一設定 設定後Cookie、ViewState可能無法驗證,必須立刻重新啟動網站 |
否 | 要 | 否 | 排除 (預設值) |
| 22 | ASP.NET設定建議 | .NET信任層級 | 站台 | 網站根目錄\Web.config | 預設值 Full,GCB 建議值 Medium (web_mediumtrust.config)、Low (web_lowtrust.config)或Minimal (web_minimaltrust.config)。但微軟對 .NET 4.0 開始宣導使用 Full Trust,建議排除。 此值設定 Medium 會導致 Aspose.Cells, FreeSpire.PDF, NReco.PdfGenerator, WkHtmlToPdf, System.Reflection.Emit 相關套件(FastMember, LinqKit) 、、無法使用。 |
否 | 要 | 否 | 排除(否則網站異常) |
| 23 | ASP.NET設定建議 | X-Powered-By標頭 | 伺服器 | 網站根目錄\Web.config | 預設值存在「X-Powered-By」HTTP回應標頭,GCB建議把它移除。基本上出問題機率低,可以移除 | 否 | 否 | 否 | 統一套用 |
| 24 | ASP.NET設定建議 | 伺服器標頭 | 站台 | 網站根目錄\Web.config | 預設值 False,GCB建議值True | 否 | 否 | 否 | 統一套用 |
| 25 | 要求篩選與其他限制模組 | 允許的內容長度上限 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設值和GCB建議值【「允許的內容長度上限(位元組)」30,000,000以下,但須大於0】相同 | 是 | 否 | 否 | 排除 (預設值) |
| 26 | 要求篩選與其他限制模組 | URL長度上限 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設值和GCB建議值【「URL長度上限(位元組)」4096以下,但須大於0」相同 | 是 | 否 | 否 | 排除 (預設值) |
| 27 | 要求篩選與其他限制模組 | 查詢字串上限 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設值和GCB建議值【「查詢字串上限(位元組)」2048以下,但須大於0】相同 | 是 | .否 | 否 | 排除 (預設值) |
| 28 | 要求篩選與其他限制模組 | 允許高位元字元 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | GCB建議【不勾選「允許高位元字元」】(預設勾選),會導致URL或URL中檔案名稱含繁體中文、日文、韓文、歐洲語系被禁止 此條比較合適純英語系網站 |
否 | 否 | 可能 | 排除 (否則程式可能大改) |
| 29 | 要求篩選與其他限制模組 | 允許雙重逸出 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設值和GCB建議值都是【不勾選「允許雙重逸出」】 | 是 | 否 | 否 | 排除 (預設值) |
| 30 | 要求篩選與其他限制模組 | HTTP TRACE方法 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設沒有,GCB建議新增「TRACE」,設定為「False」 (正式機可設,開發機否) |
否 | 否 | 否 | 排除 (或統一套用) |
| 31 | 要求篩選與其他限制模組 | 允許未列出的副檔名 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | GCB建議要有副檔名白名單 (每次第三方元件更新、Compile/Build/Deploy 用的程式碼,要清查一次所有副檔名有哪些,太頻繁費時了) |
否 | 否 | 否 | 排除 |
| 32 | 要求篩選與其他限制模組 | 處理常式權限 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設值是「Read和Script」,GCB建議是「不能同時擁有執行/指令碼與寫入權限」,符合。 | 是 | 否 | 否 | 排除 (預設值) |
| 33 | 要求篩選與其他限制模組 | 允許未指定的ISAPI模組 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設值和 GCB 相符,都是 False。 | 是 | 否 | 否 | 排除 (預設值) |
| 34 | 要求篩選與其他限制模組 | 允許未指定的CGI模組 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設值和 GCB 相符,都是 False。 | 是 | 否 | 否 | 排除 (預設值) |
| 35 | 要求篩選與其他限制模組 | 動態IP限制 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設沒有限制,GCB建議【啟用動態IP限制功能,並依需求設定「根據同時要求的數目拒絕IP位址」與「根據超過一段時間之要求數目拒絕IP位址」參數】,並沒有給建議數值。 太小,使用者容易連不上,影響網站使用,建議別設。太大,沒有限制效果,單純浪費效能。 尤其有其他流量清洗或DoS防護機制的網站,建議別設定。 |
否 | 否 | 否 | 排除 |
| 36 | IIS記錄 | IIS記錄檔位置 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | GCB建議「記錄檔存放至受管制的非系統磁碟區」,個網站或系統設定目錄可能不同。 | 否 | 否 | 否 | 排除 (或手工套用) |
| 37 | IIS記錄 | 記錄檔選取欄位 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | GCB建議「啟用,並依需求選取記錄欄位」,預設值可符合 | 是 | 否 | 否 | 排除(預設值) |
| 38 | IIS記錄 | 記錄檔格式 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | GCB建議值和預設值都是「W3C」 | 是 | 否 | 否 | 排除(預設值) |
| 39 | IIS記錄 | 記錄事件目的地 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設是「僅限記錄檔」,GCB是建議「記錄檔和ETW事件二者」。 可套用,但把IIS Log同時也記錄到 Windows Event Log,不是很有價值。 |
否 | 否 | 否 | 統一套用 |
| 40 | FTP要求 | FTP SSL設定 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設值和GCB建議都是 SslRequire (IIS 預設不會安裝 FTP的) |
是 | 否 | 否 | 排除(或統一套用) |
| 41 | FTP要求 | FTP登入嘗試限制 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設值是 False,GCB建議True (IIS 預設不會安裝 FTP的) |
否 | 否 | 否 | 排除 (或統一套用) |
| 42 | 傳輸加密 | HSTS標頭 | 伺服器 | C:\Windows\System32\inetsrv\Config\applicationHost.config | 預設沒有,GCB建議設定 HSTS,且 Strict-Transport-Security 的 max-age >= 480 其實一般Web.config都會設定,且值為31536000,在IIS的「伺服器」層設定有些重複。 |
否 | 否 | 否 | 統一套用 |
| 43 | 傳輸加密 | SSLv2 | regedit | registry(登錄值) | 可 | 否 | 否 | 否 | 統一套用 |
| 44 | 傳輸加密 | SSLv3 | regedit | registry(登錄值) | 可 | 否 | 否 | 否 | 統一套用 |
| 45 | 傳輸加密 | TLS 1.0 | regedit | registry(登錄值) | 可 | 否 | 否 | 否 | 統一套用 |
| 46 | 傳輸加密 | TLS 1.1 | regedit | registry(登錄值) | 可 | 否 | 否 | 否 | 統一套用 |
| 47 | 傳輸加密 | TLS 1.2 | regedit | registry(登錄值) | 可 | 否 | 否 | 否 | 統一套用 |
| 48 | 傳輸加密 | NULL Cipher | regedit | registry(登錄值) | 可 | 否 | 否 | 否 | 統一套用 |
| 49 | 傳輸加密 | DES | regedit | registry(登錄值) | 可 | 否 | 否 | 否 | 統一套用 |
| 50 | 傳輸加密 | RC4加密套件 | regedit | registry(登錄值) | 可 | 否 | 否 | 否 | 統一套用 |
| 51 | 傳輸加密 | AES 128/128 | regedit | registry(登錄值) | 可 | 否 | 否 | 否 | 統一套用 |
| 52 | 傳輸加密 | AES 256/256 | regedit | registry(登錄值) | 可 | 否 | 否 | 否 | 統一套用 |
| 53 | 傳輸加密 | TLS加密套件順序 | regedit | registry(登錄值) | 可 | 否 | 否 | 否 | 統一套用 |
********************************************************************************
上面是自己評估,下面看看 ChatGPT 的建議,感覺名稱被亂改,而且順序也被亂改;後來要求 ChatGPT 照原來順序,結果也亂七八糟順序不對;再把53個名稱列給 ChatGPT,要求照此順序,順序終於對了。略看一下建議。
No.28 和 No.31可套用?敝人不建議。
No.42~53理論上都可以套用,不該有排除。
| 項次 | GCB 設定名稱 | 建議 | 套用方式 | 備註 | 是否要修改 Source Code |
|---|---|---|---|---|---|
| 01 | 網站內容存放位置 | 可套用 | LGPO / 手動 | 確認網站目錄權限 | 否 |
| 02 | 主機名稱 | 可套用 | LGPO | 安全稽核目的 | 否 |
| 03 | 瀏覽目錄 | 可套用 | LGPO / 手動 | 禁止目錄瀏覽 | 否 |
| 04 | 應用程式集區識別 | 可套用 | LGPO | AppPoolIdentity 建議使用 | 否 |
| 05 | 應用程式集區 | 可套用 | LGPO | 建議獨立 AppPool | 否 |
| 06 | 匿名使用者識別 | 排除 | 不套用 | WebForms 可能需要匿名存取 | 否 |
| 07 | WebDAV功能 | 排除 | 不套用 | 若網站不使用 WebDAV 可禁 | 否 |
| 08 | 表單驗證需要SSL | 可套用 | Web.config | 表單登入安全 | 是(需 Web.config 設定) |
| 09 | 表單驗證Cookie模式 | 可套用 | Web.config | 控制 Cookie 驗證模式 | 是 |
| 10 | 表單驗證Cookie保護模式 | 可套用 | Web.config | 建議設定 All 或 Encryption |
是 |
| 11 | 基本驗證需要SSL | 可套用 | Web.config | 若使用 Basic Auth | 是 |
| 12 | credentials元素 | 可套用 | Web.config | 可統一管理帳號密碼 | 是 |
| 13 | 以retail模式部署Web應用程式 | 可套用 | Web.config | 避免 debug 訊息外洩 | 是 |
| 14 | 偵錯功能 | 排除 | 不套用 | 生產環境禁用 | 否 |
| 15 | 自訂錯誤訊息顯示模式 | 可套用 | Web.config | 可顯示友善錯誤訊息 | 是 |
| 16 | HTTP詳細錯誤訊息顯示模式 | 排除 | 不套用 | 避免資訊外洩 | 否 |
| 17 | ASP.NET堆疊追蹤 | 排除 | 不套用 | 避免資訊外洩 | 否 |
| 18 | 工作階段狀態Cookie模式 | 可套用 | Web.config | 控制 Session Cookie 安全 | 是 |
| 19 | httpOnlyCookies | 可套用 | Web.config | 強化 Cookie 安全 | 是 |
| 20 | 電腦金鑰驗證方法(ASP.NET 3.5) | 可套用 | Web.config | 控制機碼驗證方式 | 是 |
| 21 | 電腦金鑰(ASP.NET 4.5) | 可套用 | Web.config | 控制機碼驗證方式 | 是 |
| 22 | .NET信任層級 | 可套用 | 手動 / Web.config | 建議 MediumTrust 或自訂安全 | 否(Web.config 調整即可) |
| 23 | X-Powered-By標頭 | 可套用 | Web.config / 手動 | 移除標頭,避免資訊外洩 | 是(Web.config) |
| 24 | 伺服器標頭 | 可套用 | Web.config / 手動 | 移除 IIS 版本資訊 | 是(Web.config) |
| 25 | 允許的內容長度上限 | 可套用 | Web.config | 控制 Request 長度 | 是 |
| 26 | URL長度上限 | 可套用 | Web.config | 控制 Request URL 長度 | 是 |
| 27 | 查詢字串上限 | 可套用 | Web.config | 控制 QueryString 長度 | 是 |
| 28 | 允許高位元字元 | 可套用 | Web.config | 根據應用需求 | 是 |
| 29 | 允許雙重逸出 | 排除 | 不套用 | 避免安全漏洞 | 否 |
| 30 | HTTP TRACE方法 | 排除 | 不套用 | 防止 Cross-Site Tracing | 否 |
| 31 | 允許未列出的副檔名 | 可套用 | 手動 / Web.config | 限制未知檔案執行 | 是(Web.config) |
| 32 | 處理常式權限 | 可套用 | 手動 | 不移除 WebForms handler | 否 |
| 33 | 允許未指定的ISAPI模組 | 可套用 | 手動 | 保留必要 ISAPI | 否 |
| 34 | 允許未指定的CGI模組 | 可套用 | 手動 | 保留必要 CGI | 否 |
| 35 | 動態IP限制 | 可套用 | LGPO / 手動 | 防止暴力登入 | 否 |
| 36 | IIS記錄檔位置 | 可套用 | LGPO / 手動 | 設定安全路徑 | 否 |
| 37 | 記錄檔選取欄位 | 可套用 | LGPO / 手動 | 根據稽核需求 | 否 |
| 38 | 記錄檔格式 | 可套用 | LGPO / 手動 | W3C 建議 | 否 |
| 39 | 記錄事件目的地 | 可套用 | LGPO / 手動 | 檔案 / 事件檔 / SQL | 否 |
| 40 | FTP SSL設定 | 可套用 | LGPO / 手動 | 若使用 FTP | 否 |
| 41 | FTP登入嘗試限制 | 可套用 | LGPO / 手動 | 防止暴力破解 | 否 |
| 42 | HSTS標頭 | 可套用 | Web.config / 手動 | 全站 HTTPS | 是(Web.config) |
| 43 | SSLv2 | 排除 | 不套用 | 已廢棄,不安全 | 否 |
| 44 | SSLv3 | 排除 | 不套用 | 已廢棄,不安全 | 否 |
| 45 | TLS 1.0 | 排除 / 注意 | LGPO / 手動 | 舊瀏覽器可能需要,建議禁用 | 否 |
| 46 | TLS 1.1 | 排除 / 注意 | LGPO / 手動 | 舊瀏覽器可能需要 | 否 |
| 47 | TLS 1.2 | 可套用 | LGPO / 手動 | 安全性建議使用 | 否 |
| 48 | NULL Cipher | 排除 | 不套用 | 禁用不安全加密 | 否 |
| 49 | DES | 排除 | 不套用 | 禁用弱加密 | 否 |
| 50 | RC4加密套件 | 排除 | 不套用 | 禁用弱加密 | 否 |
| 51 | AES 128/128 | 可套用 | LGPO / 手動 | 可用安全加密套件 | 否 |
| 52 | AES 256/256 | 可套用 | LGPO / 手動 | 可用安全加密套件 | 否 |
| 53 | TLS加密套件順序 | 可套用 | LGPO / 手動 | 建議強加密套件優先 | 否 |
********************************************************************************

沒有留言:
張貼留言