Sunucu kimliği maskeleme

Sunucu ve uygulamalar hakkında saldırganlara bilgi vermek güvenlik zaafiyeti yaratabilir.Saldırganlara bu kolaylığı vermemek için bilgileri saklamamız gerekir.Özellikle web sunucusu hakkında dışarıya bilgi vermek hem sunucu tarafında hemde uygulama tarafında zaafiyet yaratır.Dünyanın popüler ve özgür web sunucusu "Apache" de sunucu imzasını(ServerSignature) ve web server bilgilerini (ServerTokens) konfigurasyon dosyasında değerlerini değiştirerek gizleyebiliriz.

Apache'nin sunucumuzun işletim sistemini,kendisini ve kurulu olan modülleri göstermemesi için "/etc/httpd/conf/httpd.conf" dosyası içinde;

ServerSignature Off ServerTokens Prod

değerlerini atayarak ayarlayabiliyoruz.Fakat sadece bunları yaparak sunucumuzun ne olduğunu saklayamıyoruz.Örnek olarak "netcraft" kolaylıkla web sunucumuzun "Apache" olduğunu   söylecektir.Eğer test etmek istiyorsanız netcraft.com adresine girerek ya da kısaca " http://toolbar.netcraft.com/site_report?url=site_adiniz.com " şeklinde sorgulatarak öğrenebiliriz.

Netcraft'tan  :

Yukarda görüldüğü gibi sunucu kimliğimizin "Apache" olduğu ortada.Başka bir şekilde " nmap " ile tarayarak da test edelim.("Nmap nedir?" diyorsanız buradan )Sisteminizde "nmap" mevcut değilse paket yöneticisi yardımı ile kurun.

# yum install nmap
Eğer grafik arabirimi ile kullanmak istiyorsanız "zenmap" i kurabilirsiniz."zenmap"i de kurmak için;
# yum install zenmap

Sistemimize "nmap" kuruldu ise sunucunuzun ip  adresini ya da adını yazarak taratın.Eğer sunucuyu maskelememişsek nmap Apache'nin parmak izini(fingerprint) tanıyacaktır ve size 80. portta Apache sunucusunun çalıştığını söylecektir.

Zenmap'ten :

Demek ki Apache'deki "ServerSignature Off " ve "ServerTokens Prod" değerleri sunucu bilgisini gizleyemiyor sadece kısıtlama yapabiliyor.Şimdi sunucu bilgilerimizi tamamen saklayalım.Bu maskeleme işlemini Apache'nin "mod_security" ile yapacağız.Eğer "mod_security" modülü yüklü değilse yükleyelim.CentOS üzerine bu modülü yüklemek için "EPEL" deposunu eklemiş olmanız gerekiyor.(" Epel deposu eklemek için yardım ")Paket yöneticisi ile hemen yükleyelim;

# yum install mod_security

Modülü kurduktan sonra ilk önce "mod_security" kuralları aktif edelim."modsecurity_crs_10_config.conf" dosyasına "SecRuleEngine On" satırını ekleyelim.

# vi /etc/httpd/modsecurity.d/modsecurity_crs_10_config.conf
+  SecRuleEngine On

Şu an "mod_security" modülümüz hazır.Artık Apache'nin kimliğini maskeleyelim.Bunun için biraz önce " SecRuleEngine On " satırını eklediğimiz "modsecurity_crs_10_config.conf" dosyasına "SecServerSignature " satırını eklemeliyiz."SecServerSignature " değeri için istediğiniz ismi girebilirsiniz,hatta farklı aldatmaca sunucu kimlikleri de kullanabilirsiniz.Örnek olarak :

+ SecServerSignature  " Ulak Web Server"

Yukardaki satırı ekledikten sonra Apache'deki "ServerTokens" değerini "Major" olarak değiştirin.

# vi /etc/httpd/conf/httpd.conf
" ServerTokens Major "

Bu değişikliği de yaptıysanız "Apache"yi yeniden başlatalım.

# service httpd restart

Web sunucumuzun kimliği dışarıya karşı maskelendi.Artık testler yaparak kontrol edebiliriz.

Comments