Nginx Versiyon Bilgisini Gizlemek

nginx

Merhabalar

Bu pratik blog girdisinde sizlere Nginx versiyon bilgisinin nasıl gizleneceğinden bahsedeceğim. Bizzat kendimde kullanıyorum ve sizinde güvenlik için kullanmanızı şiddetle tavsiye ederim. Nginx web server versiyon bilgisini gizlemek oldukça basit bir işlemdir. Bazen nginx web server olsun vb. servisleriminizin versiyon bilgilerini gizlemek isteriz yani görüntülenmesini istemeyiz. Bunun birçok nedeni olabilir, örneğin bir saldırgan nginx sunucusuna sızmadan önce bilgi toplarken sizin nginx sunucunuzun versiyon bilgisini öğrenip o versiyona ait açıkları araştırır ve bu saldırganın işinin daha kolay olmasını sağlar. (gibi gibi…)

Başlayalım

Nginx web server versiyon bilgisinin nasıl gizleneceğine değinmeden önce aşağıdaki komutu kullanarak nginx web server’a ait versiyon bilgilerini görebilirsiniz.

root# curl -I http://siteniz.com
 
HTTP/1.1 200 OK
Server: nginx/1.5.6 # <-- Nginx versiyon bilgisi.
Date: Thu, 17 Nov 2014  20:40:18 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 17 Nov 2014 20:37:05 GMT
Connection: keep-alive
ETag: "51f18c6e-264"
Accept-Ranges: bytes
 

İlk önce nginx.conf dosyası bulunur ve içerisine nano, ee, vi, vim araçları kullanılarak girilir. Bu dosyanın yolu ise /etc/nginx/nginx.conf veya /usr/local/nginx/conf/nginx.conf dosyalarından biri olabilir. Hemen ardından aşağıdaki komut kullanarak dosyanın içerisine girilir ve server_tokens yazan satır bulunur ve server_tokens off; olarak değiştirilir. Ayarlar yapıldıktan sonra CTRL+O kombinasyonuna bastıktan sonra enter tuşuna basıp kaydedebilir ardından CTRL+X kombinasyonuna basarak dosyadan çıkabilirsiniz.

NOT : Dosyayı bulamadığınızı varsayalım böyle bir durumda find / -iname “*nginx.conf*” komutu kullanabilirsiniz.

root# nano /etc/nginx/nginx.conf
 
server_tokens off; 

Ayarların aktif olması için nginx web server’ı yeniden başlatıyoruz. Size uygun olan aşağıdaki komutlardan birisini kullanabilirsiniz.

root# systemctl restart nginx
root# service nginx restart
root# /etc/init.d/nginx restart  

Test için aşağıdaki komutu kullanabilirsiniz. Nginx web server’a ait bilgilerin arasında nginx versiyon bilgisinin olmadığını görebilirsiniz.

root# curl -I http://siteniz.com
 
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 17 Nov 2014  20:40:18 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 17 Nov 2014 20:37:05 GMT
Connection: keep-alive
ETag: "51f18c6e-264"
Accept-Ranges: bytes
 

Sevgiler.

Tagged with: , , , , ,
4 comments on “Nginx Versiyon Bilgisini Gizlemek
  1. Hasan says:

    Merhaba, paylaşım için teşekkürler. Komple Nginx ya da Apache gibi imzaları nasıl gizleyebiliriz?

  2. Hasan says:

    Merhaba, sadece versiyon değil de, mesela sunucunun Apache mi yoksa Nginx üzerine mi kurulu olduğunu gizlemek istiyorum. Cevap için teşekkürler.

    • ibrahimucar says:

      Merhaba,

      Güzel bir soru fakat bence gizleyemezseniz. Nmap, telnet vb. araçlar kullanılarak sunucunun üzerinde kurulu web server öğrenilebilir. Apache, Nginx vb.. web sunucularının belli başlı davranışları vardır. Mesela, nmap tarama sırasında karşıdaki hedefe birçok paket yollar ve gelen paketleri inceler. Böyle bir durumda yine web sunucu öğrenilebilir.

      Bir çözüm olarak IDS/IPS önerebilirim. Sunucunuzun önüne IDS/IPS koyarsanız ardından Apache, Nginx artık hangisini kullanıyorsanız bunların nasıl davrandıklarını öğrenebilir ardından IDS/IPS ‘de kurallar yazabilirsiniz. Böylelike dışarıdan taramalarda IDS/IPS direkt olarak engelleyecektir. Fakat yine başarılı bir çözüm değil 🙂

      Eğer bir çözüm yolu bulursanız banada haber ederseniz sevinirim.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Archives