2025年11月17日 星期一

[研究]GCB,IIS,「表單驗證Cookie 模式」從預設值 UseDeviceProfile 改為 GCB 建議值 UseCookies 的影響?

[研究]GCB,IIS,「表單驗證Cookie 模式」從預設值 UseDeviceProfile 改為 GCB 建議值 UseCookies 的影響?

2025-11-17

政府組態基準(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/

https://download.nics.nat.gov.tw/api/v4/file-service/UploadFile/attachfilegcb/TWGCB-04-014_Microsoft%20IIS%2010%E6%94%BF%E5%BA%9C%E7%B5%84%E6%85%8B%E5%9F%BA%E6%BA%96%E8%AA%AA%E6%98%8E%E6%96%87%E4%BB%B6v1.1_1141002.pdf

https://download.nics.nat.gov.tw/api/v4/file-service/UploadFile/attachfilegcb/TWGCB-04-014_Microsoft%20IIS%2010%E6%94%BF%E5%BA%9C%E7%B5%84%E6%85%8B%E5%9F%BA%E6%BA%96%E8%AA%AA%E6%98%8E%E6%96%87%E4%BB%B6v1.1_1141002.docx

No.9

IIS 管理員\伺服器\站台\網站\管理\設定編輯器\動作\開啟功能\區段\system.web\authentication\forms\cookieless

cookieless預設值是 UseDeviceProfile

改成 UseCookies後,套用,Web.Config 結果如下


實際檢視某 ASP.NET WebForm 真實系統,該網站cookieless設定值是 UseDeviceProfile。
GCB建議是 UseCookies

表單驗證Cookie 模式 從預設值 UseDeviceProfile 改為 GCB 建議值 UseCookies 的影響?

那些功能會異常?

********************************************************************************

ChatGPT

讓我們仔細拆解:

1️⃣ 背景說明

預設值: UseDeviceProfile

  • IIS 會自動依客戶端判斷是否支援 Cookie,如果支援就使用 Cookie,不支援則在 URL 中加入 Session ID。
  • 某些舊版瀏覽器或限制 Cookie 的環境下,會自動 fallback 到 URL 方式(cookieless URL)。

GCB 建議值: UseCookies

  • 強制 只使用 Cookie 來儲存 Forms Authentication ticket。
  • 不使用 URL 中的 Session ID,不允許 fallback。

2️⃣ 主要影響

功能 / 模組 可能影響
Forms Authentication 登入驗證 需要瀏覽器支援 Cookie,否則登入會失敗或無法保持登入狀態。
跨頁 Session 狀態 如果應用程式使用 cookieless Session(Session ID 放 URL)功能,將失效。
外部連結或 bookmark 如果原本有 URL 中的 Session ID(舊系統),GCB 設定後會無效。
舊版瀏覽器支援 IE6 / 非標準瀏覽器可能無法登入,因為不支援 Cookie。
負載平衡 / 多節點環境 若 Session 依賴 URL 參數來保持狀態,UseCookies 可能需要改成中央 Session 儲存(State Server / SQL Server)才能正常工作。

3️⃣ 功能異常範例

  • 使用舊版瀏覽器或禁用 Cookie 的瀏覽器 → 登入失敗。
  • 原本透過 URL 共享的登入 Session → 失效。
  • 一些第三方應用程式或 AJAX 呼叫,若依賴 cookieless URL → 可能無法驗證身份。

4️⃣ 建議做法

  1. 測試影響範圍:
    • 瀏覽器支援度:Chrome / Edge / Firefox / Safari OK。
    • 舊版 IE、行動裝置瀏覽器測試。
  2. 檢查應用程式 Session 使用方式:
    • 是否依賴 cookieless Session ID(URL)?
    • 若依賴,需改成 Cookie / Server Side Session。
  3. 強制 HTTPS + Secure Cookie:提升安全性,同時符合 GCB 建議。

✅ 結論

  • 將 cookieless 從 UseDeviceProfile 改為 UseCookies 主要影響舊瀏覽器或禁用 Cookie 的使用者,現代瀏覽器大多無問題。
  • 依賴 URL 中 Session 的自訂功能或老舊應用程式可能異常。

(完)

沒有留言:

張貼留言