[研究]IIS 10 GCB,ASP.NET設定建議,ASP.NET堆疊追蹤,移除或關閉 Trace
2026-01-16
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/
********************************************************************************
| 項次 | TWGCB-ID | 類別 | 原則設定名稱 | 說明 | 設定位置 | 設定路徑 | GCB設定值 |
| 17 | TWGCB-04-014-0017 | ASP.NET設定建議 | ASP.NET堆疊追蹤 | ▪這項原則設定決定是否關閉網頁堆疊追蹤模式 ▪ASP.NET可透過設定<trace>元素來控制如何被蒐集、儲存及顯示追蹤結果。啟用追蹤後,每個網頁都會要求加入追蹤訊息,這些訊息會附加到頁面輸出或儲存在應用程式追蹤紀錄,建議停用追蹤,以減少惡意人士取得詳細追蹤資訊之風險 ▪雖然以retail模式部署Web應用程式時,即會停用追蹤輸出,但基於縱深防禦概念,額外再設定停用追蹤功能,可降低因設定錯誤所造成之影響 | ▪伺服器 ▪站台 ▪網頁 | ▪伺服器級別設定:machine.config與web.config ▪站台級別與每個ASP.NET網站級別個別設定:IIS管理員\伺服器\站台\網站\管理\設定編輯器\動作\開啟功能\區段\system.web\trace\enabled | ▪自設定檔與ASP.NET網頁中,移除所有Trace="true"或trace enabled="true"內容 ▪False |
ChatGPT
| 情境 | trace / Stack Tracing 預設值 | GCB 建議設定 |
|---|---|---|
| ASP.NET (預設) | 通常 off / disabled。許多文件指出若不特別設定 <trace enabled="true"> 或 @ Page Trace="true",則 tracing 是關閉的。 (Tenable®) | False (也就是關閉 tracing) (Scribd) |
| 開發 / 測試 環境 | 常開啟 <trace enabled="true"> 或在頁面上 Trace="true",以方便除錯與追蹤流程 | — (視情況) |
| 生產環境 (依 GCB) | 關閉 (remove trace / trace enabled = false) | 符合 GCB 建議 |
「設定位置」、「設定路徑」、「GCB設定值」欄位寫的有些混亂南棟,預設值和GCB 建議值似乎相同。
********************************************************************************
Web.Config 會多了 <trace enabled="false" />
<configuration>
<system.web>
<compilation targetFramework="4.8" />
<httpRuntime targetFramework="4.8" />
<machineKey validation="HMACSHA256" />
<trace enabled="false" />
</system.web>
</configuration>
|
********************************************************************************
建議
| 環境 | 建議設定 |
|---|---|
| 開發機 | true(方便除錯,可短期開啟) |
| 測試機 | false(預設關閉,必要時 true 且 localOnly) |
| 正式機 | false(安全必須關閉) |
- 不影響系統正常運作
- 符合 GCB 與安全預設值
- 不會誤曝敏感資訊
- 無法使用 /trace.axd
- 無法看到 Page Life Cycle / Control Tree
- Debug 需改用:
- Visual Studio Debugger
- Logging(Serilog / NLog)
- Debug.WriteLine
沒有留言:
張貼留言