HTTP Dizin Listeleme Güvenlik Açığı Tanımı, Etkisi ve Çözüm Önerileri
Pentest çalışmaları sırasında en sık rastlanan ve sonucu domain admin haklarına erişime kadar ilerleyebilen güvenlik açığı; HTTP Dizin Listeleme.
HTTP Dizin Listeleme Nedir?
HTTP Dizin Listeleme, bir HTTP istemcisinin (Genellikle bir internet tarayıcısı) ana sayfası yerine, dizinin URL’sini istemesiyle elde edilir. Bu özellik, web sunucuları tarafından dizin içeriklerinin görüntülenmesine yarayan bir özelliktir.
HTTP dizin listeleme güvenlik açığı genelde index.html sayfasında karşımıza çıkmaktadır. Bununla birlikte modern HTTP sunucuları oldukça kolay bir şekilde yeniden konfigüre edilebilmektedir, böylelikle bu güvenlik açığı kapatılabilir.
HTTP Dizin Listeleme Açığının Sisteme Etkisi Nedir?
Web sunucusuna yapılan bir istek kullanılarak ilgili dizinlerin listelenmesi sunucu için risk teşkil etmektedir. Dizin listeleme açığının bulunduğu sistemlerde listelenen dizinler içerisinde hassas veriler tespit edilebilmektedir. Bunun yanında kullanılmakta olan servisler ve servislerin versiyon bilgileri de dizin listeleme güvenlik açığı kullanılarak elde edilebilir. Bu bilgileri elde eden bir saldırgan ilgili servislerde barınan diğer güvenlik açıklarını kullanarak sisteme yetkisiz erişim sağlayabilir.
HTTP Dizin Listeleme Açığı Nasıl Kapatılır? – Çözüm Önerileri
HTTP Dizin Listeleme özelliğini sunucunuzun ayarlarından kapatabilirsiniz, eğer dizinlerin listelenmesini istiyorsanız ama üçüncü taraf tarafından görünmesini istemiyorsanız bu dizinlerin içini sizin seçtiğiniz bir veriye ait index(boş bir dosya) dosyası oluşturabilirsiniz. Böylelikle dizinler web tarayıcıları için listelenecek ve son kullanıcı için görmesi gereken şekilde görünecektir. (Son kullanıcı dizinleri listeli bir şekilde görmez, web sayfasının tasarlanmış formatını görür.)
Deneme ya da geliştirme sürecinden sonra yayınlama aşamasına geçildiğinde yeni dizinler eklenmesi ve bunun için index klasörlerinin yaratılmasının atlanması durumunda sunucu ciddi risklerle karşı karşıya bırakılmış olabilir. Ayrıca kullanılan servislerin güncel tutulması bu tür açıklardan yararlanan saldırganların işini zorlaştıracaktır.
Apache Web Sunucusu İçin
Ayarlar klasöründen Apache httpd.conf dosyasında aşağıdaki satırı ekleyerek Dizin Listeleme açığı kapatılabilmektedir.
- <Directory /your/website/directory>Options -Indexes</Directory>
nginx Web Sunucuları İçin
nginx web sunucularında Dizin Listeleme özelliği standart olarak kapatılmıştır. Fakat bu özelliğin daha sonra başkası tarafından değiştirilmiş olabileceğini düşünüyorsanız ngnix.conf ayar dosyasından autoindex=on ayarını autoindex=off olarak değiştirmeniz gerekmektedir.
HTTP Dizin Listeleme zafiyeti tek başına yüksek veya kritik seviyede bir güvenlik açığı olmasa da, listelenen dizinler hassas bilgilerin açığa çıkmasına neden olabilmektedir. Bu sebeple üzerinde durulması gereken ve ivedilikle aksiyon alınması gereken bir güvenlik açığıdır.