ASP.NET保安系列 - ASP.NET網站設定常見的資安疑慮

前幾天看到朋友分享了一篇國外MVP Troy Hunt的文章: 67% of ASP.NET websites have serious configuration related security vulnerabilities,大意是依據他蒐集到的統計數字,約67%的ASP.NET網站因設定不當,存在資安風險。

Troy Hunt文章的分析數據來自他所開發的一個簡易網站掃瞄服務--ASafaWeb,  Automated Security Analyser for ASP.NET Websites。使用者只要提供Internet上公開ASP.NET網站的URL,ASafaWeb會發出幾個Request,藉此偵測網站是否存在一些常見的資安漏洞。

由今年1至3月掃瞄過的網站記錄,排除掉ASafaWeb測試台及非ASP.NET網站後共有7,184分檢測結果,Hunt做出簡單的統計。雖然我覺得這份結果由於是使用者主動提供網站進行檢測,甚至無法排除使用者會刻意製造問題情境考驗ASafaWeb的偵測效果,因此數據高低未必能精確反應實際情況,但還是很有參考價值,值得我們關心一下ASP.NET有哪些常見的設定漏洞,確定自己都了解並檢視手邊網站有無類似狀況,絕對是件好事。

以下是Hunt列出的常見ASP.NET設定漏洞:

  1. 未隱藏錯誤訊息
    開發人員常會將<customErrors mode="Off" />方便偵錯,但正式上線時卻忘了拔除,導致一旦程式出錯,相關程式碼細節甚至程式片段就大刺刺地展示出來。駭客可能由其中找到相關的檔案位置、資料庫資訊、元件版本... 等資訊,提供入侵的指引。
  2. 關閉Request Validation
    這點我也曾呼籲過: 多想兩分鐘,你可以不用 validateRequest="false",依Hunt的統計,近30%的網站豪邁地關閉了全站的Request驗證。若真有需要,針對頁面關閉就好,至少傷害面變小,但如果行有餘力,避開此限制保持後門緊閉還是上策。
  3. 未更新Windows/IIS
    去年底被揭露的HTTP POST Hash DoS弱點,攻擊者用簡單的Request就能讓網站忙到死去活來,終至服務癱瘓。微軟已在2月釋出修補,但是似乎還有50%的網站未完成更新。
  4. ELMAH存取未設限
    關於ELMAH存取設定的風險之前也有文章提過,稍有不慎,程式裡的祕密就會大放送,十分危險,甚至駭客還可能藉此偽造ASP.NET Session冒充身分,挺恐怖的。
  5. 未關閉Trace
    雖然比例不高,但透過trace.axd駭客還是能蒐集到很多重要情資,上線到正式環境時記得關閉。
歡迎推文分享:
Published 06 April 2012 07:50 AM 由 Jeffrey
Filed under:
Views: 10,017



意見

沒有意見

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<April 2012>
SunMonTueWedThuFriSat
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
 
RSS
創用 CC 授權條款
【廣告】
twMVC

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication