Cuma, 21 Ağustos 2026

Dizin Gezinme Açığı Nedir ve Nasıl Kapatılır?

Arzu Develi 7 dk okuma 0 yorum

Dizin gezinme açığı, web sitelerinin dizin yapısına izinsiz erişim sağlayarak gizli dosyalar, konfigürasyon dosyaları ve hassas verilerle karşılaşma riskini artıran bir güvenlik açığıdır. Bu açık, saldırganların site içi dosya sistemine sızmasına, verileri çalmasına veya siteyi kötü amaçlı şekilde yeniden yapılandırmasına olanak verir. Özellikle eski veya güncel olmayan CMS sistemlerinde sıkça görülür.
Günümüzde dijital varlıkların korunması için dizin gezinme açığını tespit etmek ve kapatmak kritik öneme sahiptir. Web yöneticileri, güvenlik uzmanları ve geliştiriciler, bu açığın potansiyel etkilerini anlamalı ve etkili önlemler almalıdır.

Temel Kavramlar ve Tanımlar

Dizin gezinme, bir web sunucusunun dizin yapısının tarayıcı üzerinden erişilebilir hale gelmesi durumudur. Web tarayıcısı, dizin içeriğini listeleyen bir HTML sayfası dönerse, saldırganlar bu liste üzerinden kritik dosyalara ulaşabilir. Açığın temel bileşenleri:
1. Sunucu Yanıtı – Sunucu, dizin isteklerine isteğe bağlı olarak liste döndürür.
2. İzinler – Dosya ve dizin izinlerinin yetersiz olması, yetkisiz erişime yol açar.
3. Yazılım Sürümü – Eski sürümler, bilinen zafiyetleri barındırabilir.

Dizin gezinme açığı, “Directory Traversal” olarak da bilinir. Saldırganlar, dizin yapısındaki “../” gibi yönlendirme karakterleriyle üst dizinlere geçiş yapabilir ve sistemin derinliğine ulaşabilir.

Tarihsel Gelişim ve Güncel Durum

Bu güvenlik açığının kökeni 1990’ların başına dayanmaktadır. İlk raporlar, Apache ve Nginx sunucularında dizin listelenmesi sorunlarını ortaya koymuştur. O dönemde, web sunucuları çoğu zaman varsayılan olarak dizin listeleme özelliğini aktif tutuyordu.
Yıllar içinde, CMS ve e‑ticaret platformları, ücretsiz şablonlar ve modüllerle birlikte, bu özelliği devre dışı bırakmak için standart güvenlik önlemleri eklemiştir. Ancak, 2010’lu yılların ortalarından itibaren, “Zero‑Day” zafiyetler ve otomatik tarama araçları sayesinde dizin gezinme açığı yeniden gündeme gelmiştir.

Günümüzde, OWASP Top 10 listesinde “A1: Injection” ve “A2: Broken Authentication” gibi başlıkların yanı sıra, “A5: Security Misconfiguration” altında dizin gezinme açıkları da önemli bir tehdit olarak yer almaktadır. Büyük ölçekli e‑ticaret siteleri, finansal kurumlar ve devlet kurumları, bu açığı tespit etmek için düzenli güvenlik taramaları ve otomatik uyarı sistemleri kullanmaktadır.

Uzman Görüşleri ve Çözüm Stratejileri

Uzmanlar, dizin gezinme açığını kapatmak için aşağıdaki adımları önermektedir:
Sunucu yapılandırmasını kontrol edin: Apache’de `Options -Indexes` direktifi, Nginx’de `autoindex off;` ifadesi dizin listelenmesini devre dışı bırakır.
Dosya izinlerini sıkılaştırın: `chmod 644` ve `chown` komutları ile dosya ve dizin izinleri en azda 600 ve 700 olarak ayarlanmalıdır.
Güncel yazılım sürümleri kullanın: CMS, framework ve sunucu yazılımlarının en son güvenlik yamaları uygulanmalıdır.
Web uygulama güvenlik duvarı (WAF): WAF, şüpheli istekleri otomatik olarak engeller ve `../` gibi dizin geçiş karakterlerini filtreler.
Güvenlik taramaları: OWASP ZAP, Burp Suite ve Nikto gibi araçlarla düzenli tarama yapılmalı, raporlar gözden geçirilmeli ve eksik noktalar düzeltilmelidir.
Erişim loglarını inceleyin: Sunucu logları, şüpheli dizin tarama girişimlerini tespit etmede kritik bilgi sağlar.
HTTPS kullanımı: Tüm trafik TLS ile şifrelenmelidir; HTTP üzerinden erişim, saldırganların aracı saldırıları kolaylaştırır.
İçerik Güvenlik Politikası (CSP): CSP, tarayıcıların yalnızca belirli kaynaklardan içerik yüklemesine izin verir ve kötü amaçlı scriptlerin çalışmasını engeller.
İç link: Web siteleri güvenlik açıklarını azaltmak için düzenli güncellemeler yapmalıdır.
Eğitim: Geliştiriciler, yöneticiler ve kullanıcılar için güvenlik farkındalık eğitimleri düzenlenmelidir.

Bu stratejiler, dizin gezinme açığının hem tespitini hem de kapatılmasını sağlar.

Pratik Uygulama Örnekleri

Bir e‑ticaret sitesinde, ürün sayfaları `/products` dizininde bulunur. Dizin gezinme açığı tespit edildiğinde, saldırgan `/products/../config.php` gibi bir istekle hassas yapılandırma dosyasına erişebilir.
Çözüm:
1. Sunucu yapılandırmasında `Options -Indexes` eklenir.
2. `config.php` dosyasının izinleri `600` olarak ayarlanır.
3. Dosya, web kök klasörünün dışında, örneğin `/var/www/private` konumuna taşınır.
4. `.htaccess` ile `/private` dizinine doğrudan erişim engellenir.

Bir CMS blogunda, `/wp-content/uploads` dizini kullanıcıların dosya yüklediği yerdir. Dizin gezinme açığı sayesinde, saldırgan `../../wp-config.php` ile veritabanı şifrelerini çalabilir.
Çözüm:
1. `wp-config.php` dosyası, `/wp-content` dışında saklanır.
2. Sunucu düzeyinde `AllowOverride None` ve `Require all denied` direktifleri eklenir.
3. Dosya izinleri `400` olarak ayarlanır; sadece PHP tarayıcı tarafından okunur.

Her iki senaryoda da, satır bazlı güvenlik ayarlarıyla dizin gezinme açığı etkili şekilde kapatılmış olur.

Sık Yapılan Hatalar ve Önlemler

Varsayılan ayarları ihmal etmek: Sunucu, dizin listelenmesini varsayılan olarak açabilir.
Güncel olmayan yazılımlar: Eski CMS sürümleri, bilinen zafiyetleri barındırır.
Yetersiz dosya izinleri: `chmod 777` gibi geniş izinler, dosyaları herkesin erişimine açar.
Logları izlememek: Şüpheli istekler loglarda göze çarpabilir fakat gözden kaçabilir.
WAF’ı devre dışı bırakmak: WAF, otomatik filtreleme sağlar; devre dışı bırakılması risk artırır.
HTTPS yerine HTTP kullanmak: Metin tabanlı istekler saldırganlar tarafından kolay okunur.

Bu hatalar, dizin gezinme açığının tespit edilmesini zorlaştırır ve siber saldırı riskini artırır.

Sıkça Sorulan Sorular

Dizin gezinme açığı ne kadar tehlikelidir?

Dizin gezinme açığı, hassas dosyalara yetkisiz erişim sağlayarak veri hırsızlığı, site çökmesi ve kötü amaçlı kod enjeksiyonu gibi ciddi sonuçlara yol açabilir.

Bu açığı tespit etmek için hangi araçlar kullanılabilir?

OWASP ZAP, Burp Suite, Nikto, DirBuster ve Dirsearch gibi araçlar, dizin gezinme açıklarını otomatik olarak tarar ve raporlar.

Hangi dosyalar dizin gezinme açığına daha duyarlıdır?

`config.php`, `.env`, `wp-config.php`, `database.yml`, `settings.py` gibi yapılandırma dosyaları, şifreli verileri içerdiği için özellikle tehlikelidir.

Dizin gezinme açığına karşı en etkili önlem nedir?

Sunucu yapılandırmasında dizin listelenmesini devre dışı bırakmak (`Options -Indexes`, `autoindex off`) ve dosya izinlerini sıkılaştırmak en temel ve etkili önlemdir.

Sonuç

Dizin gezinme açığı, web güvenliğinde kritik bir zafiyettir. Tarihsel olarak eski sunucu yapılandırmalarının yan etkisi olarak ortaya çıkmış olsa da, günümüzde modern web uygulamalarında da önemli bir tehdit unsuru olarak kalmaktadır. Uzman önerileri doğrultusunda sunucu yapılandırması, dosya izinleri, güncel yazılım sürümleri, WAF ve düzenli güvenlik taramaları ile bu açık etkili bir şekilde kapatılabilir.
Sürekli izleme, log analizi ve kullanıcı eğitimleri, uzun vadeli güvenlik için gereklidir.

Arzu Develi
Arzu Develi

Bu yazar hakkında henüz bilgi eklenmedi.

Yorum Yap