close

最近在看Ultra-Fast ASP.NET的Kindle版本,裡面提到IIS及ASP.NET會輸出額外的Http Header,這些額外的Header某方面來說算是提供駭客有用的資訊,所以能移除就移除掉,本篇文章將會講解書中提供的方法。

首先來看,在預設的情況下,IIS及ASP.NET會輸出什麼樣的Http Header。

2012-02-19_114305

從上圖可以知道,Header提供了IIS版本、後端平台及.NET版本。如果Url內包含aspx的副檔名,這些資訊其實無所謂,但假如已經使用ASP.NET MVC來開發網站,其實可以移掉這些資訊,拖延駭客攻擊網站的時間。

 

X-Powered-By可以從IIS上移除,點選管理介面上的”HTTP回應標頭”功能。

2012-02-19_114350

 

如果無聊一點,可以把值改成JSP或RoR之類的…

2012-02-19_114411

 

按右鍵直接移除吧。

2012-02-19_114601

 

如果要移除Server資訊,就得自己實作HttpModule類別,下列是整個實作的程式碼。

2012-02-19_114701

重點在於response.Headers.Remove(“Server”)這一行,在單一的aspx網頁其實也能做到,只是實作HttpModule的話,整個網站就可以有這樣的功能。

 

接著設定web.config檔,將前面實作的HttpModule掛進去。

2012-02-19_114720

 

接下來是移除.NET版本資訊,只要設定web.config檔就可以了。

2012-02-19_114736

 

之後重新佈署網站,那些Header都不見了。

2012-02-19_114856

arrow
arrow
    全站熱搜

    卑微研究生 發表在 痞客邦 留言(0) 人氣()