SGE Blog Yayınları

Web Uygulamalarda Directory Listing Açıklığı

Web Uygulamalarda Directory Listing Açıklığı

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

Directory Listing (Dizin listeleme) normalde web uygulamasının kullanıcılarına içerik olarak sunmadığı ama sunucuda yer alan dosyaların saldırganlar tarafından görüntülenebilmesini sağlayan açıklığa denir. Web geliştiricileri genellikle web uygulaması içerisinde içerik olarak sunmadığı hassas dosyaları (örn; ftp hesap bilgilerini, web uygulaması hesap bilgilerini, vs...) sunucuda bulundurabilmekteler ve kullanıcılara web sayfası olarak bu dosyaları sunmadıkları için dosyalarının ve bilgilerinin güvende olduğu yanılgısına düşebilmekteler. Web uygulamalarında dizin listeleme zafiyeti olursa saldırganlar bulunulan dizinde yer alan tüm kaynakları görüntüleyebilme yetkisine sahip olurlar. Bu nedenle minimum bilgi verme prensibi doğrultusunda dizin listeleme açıklığının kapatılması önerilir.

Kurum web uygulamalarında örneğin mevcut durumda bir risk sunan dosya ifşası yer almasa da dizin listeleme halen bir açıklıktır, çünkü dizin listelemenin açık bırakılması ileride sunucuya konabilecek her dosyanın listelenebilmesini sağlayacağından ileride gelebilecek hassas dosyalar ihtimaline karşın bir risk teşkil edecektir.

Uygulama özelinde dizin listeleme özelliğini pasif etmek için uygulamaya ait olan konfigürasyon dosyasında gerekli tanımlamaları yapmak gerekir. Bu, uygulama bazlı bir çözümdür. Yani sunucuda çalışan diğer uygulamaları etkilemez. Sunucuda çalışan tüm uygulamalarda bu özelliğin pasif edilmesi için sunucuya ait olan konfigurasyon dosyasında değişiklik yapmak gerekir.

a) Apache Sunucularda Dizin Listeleme Kapama

Dizin listeleme zafiyetini Apache sunucularda ortadan kaldırmak için httpd.conf ya da apache2.conf dosyası açılmalıdır ve açılan konfigurasyon dosyasındaki aşağıda gösterilen kod bloğuna gelinmelidir.

dizinlisteleme1

Bu kod bloğundaki "Indexes" anahtar kelimesi aşağıda gösterildiği gibi kaldırılmalıdır.

dizinlisteleme2

Ardından dosya kaydedilmeli ve apache servisi sistem türüne göre belirtilen komutlardan biri ile yeniden başlatılmalıdır.

// Debian tabanlı sistemler için

service apache2 restart

// Centos veya Redhat tabanlı sistemler için

service httpd restart

b) IIS Sunuculada Dizin Listeleme Kapama

IIS sunucularda dizin listelemenin kapatılabilmesi için başlattan IIS Yöneticisi açılmalıdır veDizinlere Gözatma (Directory Browsing) seçeneğine aşağıda gösterildiği gibi gidilmelidir

dizinlisteleme3

Gelen ekrandaki sağ sütunda yer alan Devredışı Bırak (Disable) seçeneğine aşağıda gösterildiği gibi tıklanmalıdır.

dizinlisteleme4

Böylece dizinlerin listelendiği url'lere tekrar erişilmek istendiğinde dizin listeleme işlemi engellenecektir ve Forbidden uyarı ekranı artık karşılayacaktır.

Kaynaklar

http://tomcat.apache.org/tomcat-5.5-doc/default-servlet.html,

https://stackoverflow.com/questions/2530372/how-do-i-disable-directory-browsing

310 kelime