網站安全的設定 — Asp .Net 為例Web.config

網站安全的設定 — Asp .Net 為例Web.config

網站的資訊安全設定可以避免不必要的駭客攻擊行為,

這篇文章主要的目的是針對 ASP .Net 網站設定 web.config ,提出建議

 

httpCookies

  • httpOnlyCookies = true

這個值表示 Cookie 只會在透過網路 http 時被傳輸,

換句話說,程式 JavaScript 的讀取,該 cookie 不會被讀取

為什麼要這麼做呢? 因為Cookie 通常包含有login session 的資訊,

取得Authentication cookie 可以間接在不需要帳號密碼的情況下,登入該網站。

  • requireSSL = true

這個值表示只有在 SSL 也就是 https 的情況下才會傳輸 cookie 給 Web Server 端。

SSL 會強制將雙方通訊的內容加密,因此可以避免 man in the Middle 的攻擊

 

  • sessionState

設定如果多久沒有用就必須 timeout。

“regenerateExpiredSessionId” 主要是用來重新產生 Session ID

避免駭客容易猜到,或是使用之前用過的 SessionID

 

compilation

這個值 debug = true 時,就會把相關的 debug symbols 輸出到網頁錯誤頁面上。

造成太多的內部資訊讓有心的駭客知道。

 

httpRuntime

  • enableHeaderChecking = true

這個值可以幫助 web Server 檢查基本的 Injection Attacks 或是 XSS (cross-site scripts)

 

  • enableVersionHeader= false

如果設定為 enableVersionHeader= true. 則該網站會回傳過多的版本資訊給使用者。

間接讓駭客有機會查詢該版本已知的弱點進行攻擊。

customErrors


這個值主要是用來設定當網頁錯誤頁面發生時,如何呈現該問題

因為錯誤頁面的訊息中,往往會透露 Web Server 版本,甚至是程式內部運作的邏輯。

因此,設計一頁用來顯示404 檔案找不到的錯誤,會降低該風險。

404

 

如果您的網站也是 ASP .net 建置,不防可以檢視這些設定。

  • httpCookies
  • compilation
  • customErrors
  • httpRuntime

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *