Asp.Net`te Güvenli IIS Yanıt Üstbilgilerini Yapılandırma

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