SGE Blog Yayınları

Web Sunucu Http Server Başlığının İfşaları Açıklığı

Web Sunucu Http Server Başlığının İfşaları Açıklığı

yazan Hasan Fatih Şimşek -
Number of replies: 0

HTTP yanıtlarında paket başlıklarında sunucu hakkında bilgi içeren metinler olabilmektedir. Bu bilgiler saldırgana saldırı türü ve metotlarını belirlemesi açısından yarar sağlayabilir.

Saldırganlar kurum web sunucusunda çalışan web sunucu yazılımını öğrenerek piyasadaki onbinlerce zararlı yazılım arasından hangisinin veya hangilerinin kurum web sunucusuna hitap ettiği bilgisine ulaşabilirler. Eğer sunucu bilgisi ifşasında bulunulmazsa saldırganlar piyasadaki onbinlerce zararlı yazılımı sırasıyla denemek mecburiyetinde kalacaklardır ve bu seçenek zahmeti çok zaman isteri dolayısıyla saldırganların oldukça büyük bir çoğunluğunu eleyeceğinden kurum web sunucusunu güvende tutacaktır.

Sunucu bilgisi ifşası yoluyla örneğin başka bilgilerin yolu da açılabilir ve ileri saldırı aşamalarında bu yardımcı bilgilerle hareket edilerek ileri sızma faaliyetleri gerçekleştirilebilir. Bunu örneklemek maksatlı örneğin Windows Server işletim sistemleri üzerinde çalışan IIS web sunucu yazılımlarında saldırganlar kurum web sunucusundan dönen http yanıtlarındaki başlıklarda yer alan web sunucu yazılımının isim ve versiyon bilgisini alarak web sunucuda koşan işletim sistemi isim ve versiyonunu da edinebilirler. Çünkü Windows sistemler için aşağıda da gösterildiği gibi web sunucu yazılımı ile web sunucu işletim sistemi yazılımı arasında sıkı bir bağ mevcuttur.

Web Sunucu Yazılımı İşletim Sistemi
IIS 6.0 Windows XP veya Windows Server 2003
IIS 7.0 Windows Vista veya Windows Server 2008
IIS 7.5 Windows 7 veya Windows Server 2008 R2
IIS 8.0 Windows 8 veya Windows Server 2012
IIS 8.5 Windows 8.1 veya Windows Server 2012 R2
 IIS 10  Windows 10 veya Windows Server 2016

Dolayısıyla saldırganlar kurum web sunucusunun her kullanıcıya gönderdiği http yanıtlardaki başlıklarda yer alan web sunucu yazılımı versiyonunu görerek aslında paylaşılmayan işletim sistemi bilgisini de elde edebilirler. Böylece piyasadaki onbinlerce zararlı yazılımdan hangisinin veya hangilerinin kurum web sunucusunda işe yarayabileceği konusunda nokta atışı yapma imkanına sahip olabilirler.

Sunucularda Server başlığını kapama şu şekildedir:

a) IIS Sunucularda Server Başlığını Kapama

IIS sunucularda web sunucu yazılımı bilgisinin (Server başlığının) kullanıcılara gönderilmesini engellemek için

http://www.iis.net/downloads/microsoft/urlscan

adresinden urlscan aracı indirilmelidir. Kurulum sonrası URLScan.ini dosyası metin editörü ile açılmalıdır. Bu dosya genellikle %WINDIR%System32InetsrvURLscan dizininde yer alır. URLScan.ini dosyası açıldıktan sonra aşağıdaki RemoveServerHeader satırı gösterildiği üzere 1 yapılmalıdır.

sunucubilgisi1

Bu işlem sonrası yapılan değişikliğin etkinleşmesi için IIS servisi yeniden başlatılmalıdır.

b) Apache Sunucularda Server Başlığını Kapama

Apache sunucularda web sunucu yazılımı bilgisinin (Server başlığının) kullanıcılara gönderimini kısıtlamak için security.conf dosyası açılmalıdır:

Terminal:

sudo su
nano /etc/apache2/conf-enabled/security.conf

Açılan dosyadaki aşağıda gösterilen satırlar ilgili kısımlardır.

sunucubilgisi2

Seçenek olarak Minimal, OS ve Full verilmektedir. Bu seçenekler verilecek bilginin miktarını belirler. En düşük düzeyde bilgi ifşası veren mod için aşağıda gösterildiği gibi Prod anahtar kelimesi kullanılmalıdır ve diğerleri de diez işareti ile pasif hale (yorum satırı haline) getirilmelidir.

sunucubilgisi3

Böylece apache servisi yeniden başlatılarak http yanıtlarındaki Server başlığının olabilecek en minimum şekilde bilgi vermesi sağlanmış olacaktır.

Terminal:

service apache2 restart

[!] Uyarı:

IIS sunucularda yapılan Server başlığını kapama işlemi şu haliyle sadece normal http paketi gönderen kullanıcılara karşı döneceği http yanıtları için geçerlidir. Şayet kullanıcı anormal http paketi gönderirse IIS sunucu halen Server başlığını gönderir durumdadır. Anormal paketler için de Server başlığını kapama URLRewrite kuralı yazarak yapılabilir.

Bunun için C: inetpub wwwroot dizini altında web.config dosyası oluşturulmalıdır veya dosya içerisi aşağıda gösterildiği gibi yapılmalıdır:

sunucubilgisi4

Şayet zaten C: inetpub wwwroot dizini altında web.config konfigurasyon dosyası varsa bu durumda configuration etiketleri arasına system.webserver etiketlerini yerleştirip arasına yukarıda belirtilen satırlar girilebilir.

Web.config üzerinde yapılan kodlamalar sonrası IIS sunucu IIS Yöneticisi üzerinden yeniden başlatılmalıdır. Böylece normal http paketlerinde Server başlığı gönderilmediği gibi anormal http paketlerinde de Server başlığı gönderilmemiş olur.

Kaynaklar

https://blogs.msdn.microsoft.com/varunm/2013/04/23/remove-unwanted-http-response-headers/

http://ask.xmodulo.com/turn-off-server-signature-apache-web-server.html

https://en.wikipedia.org/wiki/Internet_Information_Services

576 kelime