政府組態基準(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設定值 |
| 42 | TWGCB-04-014-0042 | 傳輸加密 | HSTS標頭 | ▪這項原則設定決定是否在HTTP回應標頭設定使用HTTP嚴格傳輸安全(HTTP Strict Transport Security,以下簡稱HSTS) ▪HSTS主要用來宣告瀏覽器與伺服器之間的通訊方式必須強制使用TLS/SSL加密通道,只要從伺服器端送出一個HSTS標頭(Header)給瀏覽器,就可以告訴瀏覽器在未來某段時間內一律使用SSL連接該網站(可設定包含所有子域名網站),如果有發生憑證失效之情況,使用者將無法瀏覽該網站,如此一來便可大幅減少中間人攻擊之問題發生 |
伺服器 | ▪IIS管理員\伺服器\IIS\HTTP回應標頭\動作\開啟功能\新增 ▪名稱:Strict-Transport-Security ▪值:max-age=480(已使用HTTPS連線的網站480秒內不再檢查) |
▪名稱:Strict-Transport-Security ▪值:max-age設為480以上 |
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Strict-Transport-Security" value="max-age=31536000" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
|
GCB建議max-age設定480以上,但RFC 6797(“HTTP Strict Transport Security (HSTS)”)的定義,關於 Strict-Transport-Security: max-age=<seconds> 的 max-age 沒有明文規定一個上限值,實務上多數安全建議會使用 1 年(31536000 秒),設定過長的 max-age,而網站/憑證出現問題(如憑證到期、子域未支援 HTTPS 等),可能造成使用者無法回退到 HTTP 或難以修正。
********************************************************************************
GCB,IIS 設定
- IIS管理員\伺服器\IIS\HTTP回應標頭\動作\開啟功能\新增
- 名稱:Strict-Transport-Security
- 值:max-age=480(已使用HTTPS連線的網站480秒內不再檢查)
Web.config 設定
<add name="Strict-Transport-Security" value="max-age=31536000" />
請問最後 ASP.NET WebForm 網站的 max-age 是多少?
ChatGPT
ASP.NET / IIS 的設定合併原則如下:
| 層級 | 優先權 | 設定檔 | 備註 |
|---|---|---|---|
| 1️⃣ 應用程式層級 | 最高 | Web.config |
可覆蓋 IIS 層級設定 |
| 2️⃣ 站台層級 | 中 | <site> 內的設定 |
|
| 3️⃣ 伺服器層級 | 低 | applicationHost.config |
IIS 管理員設定在這裡 |
| 4️⃣ machine.config | 最低 | .NET 全域設定 |
最終 ASP.NET WebForm 網站的 max-age = 31536000 秒(約 1 年)
可用命令檢查:
curl -I https://your-site/
看回傳的 HTTP 標頭中:
Strict-Transport-Security: max-age=31536000
(完)




沒有留言:
張貼留言