Asp.Net`te Güvenli IIS Yanıt Üstbilgilerini Yapılandırma
Server'dan Client'a dönen yanıt içindeki güvenlik gereği kaldırmanız gereken header bilgilerini nasıl kaldırırsınız?
Yukarıdaki header bilgilerini incelediğimizde, Client'a göndermemize gerek olmayan bazı header bilgilerini görmekteyiz.
Aşağıdaki header bilgilerini gizlememiz gerekmektedir:
Server X-AspNet-Version X-AspNetMvc-Version X-Powered-By
Bu bilgileri saklamak istersek neler yapmalıyız, teker teker inceleyelim:
Server başlığı
Global.asax dosyamız yoksa oluşturalım ve içine şu metodu ekleyelim:
protected void Application_BeginRequest(object sender, EventArgs e) { var app = sender as HttpApplication; if (app != null && app.Context != null) { app.Context.Response.Headers.Remove("Server"); } }
X-AspNet-Version Başlığı
Web.config dosyamızı açalım ve <system.web> altında <httpRuntime> elementi oluşturalım (eğer yoksa) ve enableVersionHeader değerini düzenleyelim:
<httpRuntime maxRequestLength="4096" targetFramework="4.5" enableVersionHeader="false"/>
X-AspNetMvc-Version Başlığı
Global.asax dosyamızın içine şu metodu ekleyelim:
protected void Application_Start() { //diğer kodlarınız.... MvcHandler.DisableMvcResponseHeader = true; }
X-Powered-By Başlığı
web.config dosyamızı açalım, <system.webServer> altındaki <httpProtocol> elementine şunu ekleyelim:
<httpProtocol> <customHeaders> <remove name="X-Powered-By"/> </customHeaders> </httpProtocol>
Bu işlemlerin ardından server başlıklarını tekrar inceleyelim:
X-SourceFiles başlığı, dosya yolunun Base64 ile şifrelenmiş halini barındırır. Sadece localden bağlandığınızda karşınıza çıktığı için bunu dert etmemize gerek yok.
Öte yandan şimdi de güvenliğimiz açısından eklememiz gereken başlıkları inceleyelim:
X-Frame-Options X-XSS-Protection X-Content-Type-Options
Bu başlıkları eklemek için web.config dosyamızda <system.webServer> altında <httpProtocol> elementini düzenlemeliyiz:
<httpprotocol> <customheaders> <remove name="X-Powered-By" /> <add name="X-Frame-Options" value="DENY" /> <add name="X-XSS-Protection" value="1; mode=block" /> <add name="X-Content-Type-Options" value="nosniff " /> </customheaders> </httpprotocol>
Tüm bu işlemlerin ardından server başlıklarını tekrar inceleyelim:
Herkese iyi kodlamalar...
Not: Güvenlik önemlidir. :)
#ASP-NET #header #response #secure #iis