Server 2012

IIS te İstenmeyen HTTP Başlıkları nasıl kaldırılır?

Herkese Merhaba,

Bugün sizlere IIS 6.5 ve sonraki versiyonlarda tam olarak güvenlik açığı diyemeyeceğimiz ama aynı zamanda saldırıların yoğun olduğu ülkemizde bundan bir şey olmaz da diyemeyeceğimiz bir konuyu anlatacağım.

Şimdi gelelim konumuza; bir saldırganın ilk bilmek isteyeceği şeyi bulması şu kadar basit, Tarayıcıyı aç Network tabına gel ve siteyi çağır !!!

Bu benim oluşturduğum IIS te Default Site. Normal bir sitede ASP.NET versiyonu bile yazabiliyor.

Bu şu demek oluyor.

Birinin gözünü bağlayıp yeri kaz dediniz. Yer kum mu kaya mı beton mu çamur mu belli değil. Yada gözünü bağlamadınız. Baktı yer toprak kazmaya başladı. Taaki Bitcoin bulana kadar J

Evet şimdi gelelim bu açığı nasıl kapatacağımıza.

Bunun 3 adet yöntemi var IIS versiyonunuza göre değişiklik gösterebilir şimdi ben en kesin ve en favori yöntemi anlatacağım.

NOT: Bu işlemi Server bazında yaparsanız tüm sitelerinizde geçerli olacaktır kısıtlayacağınız bilgileri isteyen uygulamalarda hata yaratabilir.

İlk olarak URLRewrite uygulamasını IIS e kurmanız gerekiyor. Yüklemek için alttaki linki yada Web İnstallerı kullanarak kurabilirsiniz.

http://www.iis.net/downloads/microsoft/url-rewrite

Yükledikten sonra Web sitesine yada Server a tıklayarak URL Rewrite a geliyoruz.

URL Rewrite a girdiktan sonra sağ taraftaki View Server Variables butonuna tıklıyoruz.

Default olarak burada bir kayıt bulunmaz. Add diyerek RESPONSE_SERVER isimli bir kayıt oluşturuyoruz.

Burada Header da yazan hangi bilgi için düzenleme yapacağımızı belirttik. Şimdi gelelim kural yazmaya.

Back to Rules seçeneğinden bir önceki ekrana geri dönüyoruz. Add Rules diyerek kuralı oluşturmaya başlıyoruz.

Karşımıza gelen Pop-Up da Outbound Rules Kısmında Blank Rules u seçiyoruz.

Evet karşımıza gelen ekrandaki alanları doldurmaya başlayabiliriz.

Name kısmına Server Delete diyorum. Precondition kısmını None olarak bırakıyoruz.

Matching Scope kısmında Server Varible ı seçiyoruz. Varible Name kısmına RESPONSE_SERVER yazıyorum.

Using Kısmını Regular
Expressions olarak bırakıyoruz. Pattern kısmına .* yazıyoruz.

Ekran görüntüsündekileri yazdıktan sonra biraz daha alta iniyoruz. Action kısmını Rewrite olarak bırakıyoruz.

Action Properties de Value kısmını boş bırakırsanız hiçbir server bilgisi gitmeyecektir ama isterseniz MY Server yazabilirsiniz.

Bu ayarları yaptıktan sonra Apply diyerek tekrardan sitemizi kontrol ediyoruz.

Evet Resimde de gördüğünüz gibi Server bilgisi boş gelecektir.

Aynı şekilde X-Powered-By : ASP.NET vb bilgileri de kaldırabilir yada değiştirebilirsiniz.

Buraya kadar anlattığım her şeyi belki de daha önce okumuş olabilirsiniz yada yazmış veya yapmışsınızdır.

Testimiz okey server bilgisini kapattık evet ama güvenlik taramasında hala server bilgisi çıkıyorsa durum şudur.

Bunu kendi test ortamımda göstermeyeceğim çünkü canlı bir site gerekiyor.

Yukarıda gördüğünüz 2 paket var. İkisi de aynı server aynı site hiçbir fark yok aralarında. Tek farkı farkettiyseniz HTTP durum kodu.

Birinde status ok (200) diğerinde internal error (500).

Bununda sebebi eğer Web Sitenizde kendi özel hata sayfalarınızı kullanıyor iseniz bu hata sayfaları sitenin yada server ın URL Rewrite kurallarına tabi olmaz.

Bu yüzden herhangi bir paket İnternal Error (HTTP 500) hatası verdiğinde bilgiyi saklayamazsınız.

Bunun çözümü ise Site nin Web.Config dosyasından Custom Error Pages leri kaldırarak IIS de siteye tıkladıktan sonra .NET Error Pages uygulamasında Edit Feature Settings e tıklayarak Remote Only seçeneğini seçerek bu sorunu ortadan kaldırabilirsiniz.

Gördüğünüz gibi hata sayfası artık URL Rewrite a Tabi durumdadır bu sebepten Header Response da istemediğimiz bilgileri yayınlamayacaktır.

Not: Error Pagesler ile ilgili kısım IIS 6.5 ve 7.5 da denenmiştir. Üstü versiyonlarda farklılık gösterebilir.

İşinize Yaraması dileğiyle.

Related posts
Server 2012

Active Directory’den Kullanıcı Listesi dışarıya nasıl aktarılır?

Server 2012

Windows Server 2012 R2 Active Directory Recycle Bin nasıl kullanır ?

Server 2012

Microsoft Windows Server üzerinde FTP Server nasıl kurulur?

Server 2012

Group Policy ile .WNCRY uzantılı dosyalar nasıl engellenir?

Portal güncellemelerinden haberdar olun!

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir