Apache’de Server başlık bilgisini yapılandırma

Web sunucu denilince akla ilk gelen isimler Apache, IIS ve nginx ‘dir. Bu yazımızda web sunucu dünyasının en sık kullanılan web sunucusu olan Apache ‘de web isteklerinize karşılık sunucu tarafından dönen Server başlık bilgisinin nasıl daha güvenilir hale getirebileceğimizi göreceğiz.

Bu çalışma için sanal linux sunucu üzerine apache2 paketi kuruldu. Varsayılan olarak Apache sunucu ile ilgili konfigürasyonlar /etc/apache2 yer alıyor. Web sunucusuna ise http://localhost ile erişilebildiği varsayılmıştır.

Server başlık bilgisi nedir ?

İstemci ile yapılan isteğe karşılık sunucu tarafından dönen başlık bilgisi içerisinde yer alan Server: adlı kısımdır. Örneğin komut bazlı bir istemci olan curl ile nasıl göründüğüne bakalım.

1 5 - Apache'de Server başlık bilgisini yapılandırma

Server başlık bilgisi neden önemli ?

Aslında bir sunucunun ne olduğunu anlamanın bir çok yöntemi var. Ancak server bilgisi vererek karşıdaki kötü niyetli bir kimseyse adamın işini daha da kolaylaştırmış oluyoruz. Örneğin bir üstteki resimde sunucunun yanı sıra detaylı version bilgisini de veriyoruz. Çalışma için kullanmış olduğum sanal sunucu kali. Kali ise debian tabanlı. Bunu da görebiliyorsunuz.

Kullanıcı sunucuya ve versiyona spesifik çeşitli araştırmalar yaparak sunucunun zaaflerını istismar edebilir. Bu yüzden elimizden geldikçe bu alanda çıkacak bilgileri karşı tarafın kötü niyetli olabileceğini düşünerek kısıtlamak doğru çözüm olacaktır.

ServerTokens

Server başlık bilgisini malesef diğer bazı başlıklar gibi “gösterme (unset)” diyemiyoruz. Yukarıda ekran görüntüsündeki bilgi kurduğumuz apache ile varsayılan olarak genel yapılandırma ile verilen bilgidir.

Bu bilgiyi tabi ki değiştirebiliriz. Bunun için ilk olarak ServerTokens bilgisi sistemimizde nerelerde geçiyor küçük bir aramayla görelim.

2 8 - Apache'de Server başlık bilgisini yapılandırma

Evet security.conf dosyası içerisinde bunu yapılandırabiliyoruz. Açalım bu dosyayı ve bakalım neler yapabiliyoruz.

3 8 - Apache'de Server başlık bilgisini yapılandırma

İlgili ayarın olduğu kısımda ServerTokens (çoktan-aza) bilgi verecek şekilde Full, OS, Minimal, Minor, Major ve Prod değerlerinden birini alabiliyor. Kurulumuzla ile birlikte varsayılan olarak OS verilmiş. Şimdi bunların farklarını tekrardan curl ile istek yaparak görelim

ServerTokens Full

11 4 - Apache'de Server başlık bilgisini yapılandırma

ServerTokens OS

1 5 - Apache'de Server başlık bilgisini yapılandırma

ServerTokens Minimal

7 6 - Apache'de Server başlık bilgisini yapılandırma

ServerTokens Minor

4 8 - Apache'de Server başlık bilgisini yapılandırma

ServerTokens Major

5 9 - Apache'de Server başlık bilgisini yapılandırma

ServerTokens Prod (en az bilgi)

6 8 - Apache'de Server başlık bilgisini yapılandırma

Server bilgisini tamamiyle manipüle etmek

Normal koşullarda Prod seçeneği ile en az bilgiyi vermek en güzel seçenek. Peki bu bilgiyi istediğimiz gibi değiştiremez miyiz ? Tabi ki değiştirebiliriz.

Bunun için en kolay yöntetm ise apache’deki en sevilen modüllerinden biri olan modsecurity modunu kurup aktif etmek gerekecektir.

apt-get install libapache2-mod-security2 
a2enmod security2
mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf

Modsecurity aktif edildikten sonra ise konfigürasyon dosyası içerisine SecServerSignature ile aşağıdaki gibi istediğimiz değeri verilebilir.

9 4 - Apache'de Server başlık bilgisini yapılandırma

Tekrar istek yaptığımızda başarılı bir şekilde Server bilgisinin değiştiği görülebilir.

10 4 - Apache'de Server başlık bilgisini yapılandırma