Information Exposure via Server Header Açıklığı (CWE-200)
Bu makalede Information Exposure via Server Header (CWE-200), yani Server Başlığı Yoluyla Bilgi İfşası açıklığı anlatılacaktır.

Açıklık Önem Derecesi:

Düşük

Açıklığın Etkisi:

Bilgi İfşası

Açıklığın Açıklaması:

İsimler ve versiyon numaraları sıklıkla belirli bir teknoloji parçasının yaşam döngüsündeki belirli bir noktayı gösterir. Belirli teknolojilerin isimlerinin ve versiyon numaralarının harici kimselere ifşa edilmesi saldırganların bilinen güvenlik açıklıklar ve mevcut zararlılar (exploit’ler) kullanarak sunucuyu nasıl daha iyi hedef tahtasına koyabileceğini öğrenmesine neden olabilir, saldırganların bu belirli teknolojileri araştırabilmelerine ve arzu edilen hedefe uygun yeni exploit’ler geliştirebilmelerine neden olabilir veya saldırganların bu belirli teknolojileri belirli bir konumda not altına alma ve anında saldırmak için bu belirli teknolojilerde yeni bir güvenlik açığının duyurulmasını beklemesi ile sonuçlanabilir. Bu v.b. nedenlerle oluşan riskleri yok etmek için dahili bilgiler ve sistem bilgilerinin ifşasının azaltılması tavsiye edilmektedir.

Bir uygulama yanıt başlıklarında (response headers) sistem bilgisi ifşa edecek şekilde “Server” başlığı yapılandırma ayarına sahip olduğunda “Server Başlığı Yoluyla Bilgi İfşası (CWE-200)” açıklığına sahiptir denir. Saldırganlar bu açıklık yoluyla sistem hakkında kendi açılarından değerli bilgiler elde edebilirler.

Açıklığın Önlemi:

Bu açıklığın kapatılabilmesi için tavsiye edilen öneriler şu şekildedir:

  • Ortamların ilgili yazılım, işletim sistemi ve diğer kullanılan teknolojilerle ilgili bilgi – örn; isimlerini, versiyonlarını, ayarlarını, ... - sızdırmadığından daima emin olun.

  • Özellikle IIS ve .NET sunuculardaki başlıklar söz konusu olduğunda web.config dosyası elzemdir. Eğer bir web.config dosyası yoksa sırf bu amaç için oluşturulmak zorundadır.

IIS Express sunucularda server başlığı şu web.config yapılandırması ile kaldırılabilir:

<!-- GÜVENLİ YAPILANDIRMA -->

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.webServer>
        <security>
            <requestFiltering removeServerHeader="true" />
        </security>
        <httpProtocol>
            <customHeaders>
                ...
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

IIS sunucularda server başlığı şu web.config yapılandırması ile kaldırılabilir.

<!-- GÜVENLİ YAPILANDIRMA -->

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
      ...
        <httpRuntime targetFramework="4.6.1" enableVersionHeader="false" />
      ...
    </system.web>
</configuration>

Kestrel sunuculardaki c# uygulamalarda server başlığı şu şekilde kaldırılabilir.

// Removing Server Header from Kestrel During HostBuilder Creation

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>().UseKestrel(options => options.AddServerHeader = false);
        });
}

Not:

ASP.NET uygulamaları IIS / Windows bağımlıdırlar. Kestrel sunucusu ise ASP.NET uygulamalarının Windows, Linux, MAC’de sunulabilmesini sağlayan bir platform bağımsız çözümdür.

Yararlanılan Kaynaklar:

  • https://cwe.mitre.org/data/definitions/200.html
  • https://bilisim.io/2018/10/19/nedir-bu-kestrel-web-sunucusu-artisi-eksisi-ve-daha-fazlasi/
Bu yazı 25.10.2025 tarihinde, saat 00:34:58'de yazılmıştır.
Yazar : Hasan Fatih ŞİMŞEK Görüntülenme Sayısı : 11
Yorumlar
Henüz yorum girilmemiştir.
Yorum Ekle
*
* (E-posta adresiniz yayınlanmayacaktır.)
*
*

#Arşiv


#Giriş

ID :
Şifre :