Dizin Geçişi nedir?
Yayınlanan: 2023-05-09Saldırganlar, normalde kısıtlanmış bilgileri ifşa etmesi için bir web sunucusunu kandırarak, bir sistemin güvenliğini aşmak ve önemli hasara neden olmak için güçlü bir araç elde edebilir. Dizin geçişi, bunu başarmak için kullanılan yaygın bir yöntemdir. Belirli bir web sitesi için ayrılmış dosya sistemi alanlarının dışına çıkma girişimi, veri hırsızlığına ve rastgele kod yürütülmesine neden olabilir.
Tipik olarak, web sunucuları, bir web sitesinin dosyalarını, belge kök klasörü olarak da bilinen kendi kök dizinine hapsederek dosya sistemine erişimi kısıtlar. Ancak siber suçlular bu güvenlik denetimlerini atlatabilir ve güvenli olmayan dosya izinlerinden yararlanabilir. Bu şekilde, kurbanın sunucusunda başka bir yerde saklanan kritik bilgilere yetkisiz erişim elde edebilirler.
Eklentilerde ve temalarda düzenli olarak tanımlanan dosya dahil etme güvenlik açıkları, WordPress web sitelerini dizin geçişini içeren saldırılar için yüksek öncelikli bir hedef haline getirir. Güvenli kodlama uygulamalarını uygulamak, eklenti ve tema geliştiricilerinin göreviyken, iyi güvenlik uygulamalarını uygulamak web sitesi sahiplerinin sorumluluğundadır.
Bu dizin geçişi kılavuzunda, bilgisayar korsanlarının kısıtlı verilere erişmek için web sitesinin kök dizininden çıkmak için kullandıkları bu yaygın yöntemi keşfedeceğiz. Yol geçişinin, saldırganların zarar vermek için yerel dosya dahil etme (LFI) güvenlik açıklarından başarıyla yararlanmalarına nasıl olanak tanıdığını ve sağlam güvenlik uygulamaları uygulayarak WordPress web sitenizi bu tür saldırılara karşı nasıl koruyacağınızı öğreneceksiniz.
İlk olarak, güvenli sunucu işlemleri kavramlarına daha yakından bakalım. Daha spesifik olarak, sunucu ortamında farklı veri türlerinin nasıl ayrıldığı ve web sitesi verilerinin bu ekosistemdeki yeri.
Veri Bölümleme, Güvenli Sunucu İşlemlerine Nasıl Yardımcı Olur?
Web siteleri ve web uygulamaları, verilerini depolamak için sunuculara güvenir. Bu veriler daha sonra web ve veri tabanı sunucuları ve diğer belirli uygulamalar tarafından işlenerek, istenen web sayfaları olarak internet üzerinden ziyaretçilerin tarayıcılarına iletilir. Altta yatan donanım ve yazılım bileşenleri, bu işlevselliğe güç veren sağlam bir altyapı oluşturmak için birlikte çalışır.
Ancak, bu istemci-sunucu mimarisi aynı zamanda sunucu güvenliğine dikkatli bir yaklaşım gerektirir. Kritik hizmetler ve sunucunun işletim sisteminin diğer bileşenleri, kullanıcı dosyalarından ve web sitesi verilerinden tamamen ayrılmalıdır. Dosya sistemindeki verilerin bu şekilde ayrılması genellikle veri bölümleme olarak bilinir.
Veri bölümleme, farklı veri türlerini ayrı bölümlere ayırarak sunucu işlemlerinin en savunmasız yönlerini korumaya yardımcı olur. Dosya sistemi bölümleme ve diğer güvenlik mekanizmalarının uygulanması, sunucuları hassas bilgilere yetkisiz erişimden ve sistem seviyesindeki risklerden korumaya yardımcı olur. Ek olarak, veri bölümleme, verimli kaynak yönetimi sağlar ve sık değiştirilen verileri ağırlıklı olarak salt okunur dosyalardan ayırarak ve sistem ile kullanıcı verilerini yalıtarak sunucu performansını artırır.
Web Sunucusu Erişim Kontrolü: Web Sitesi Verilerini Belge Kökleriyle Sınırlandırma
Web sunucuları, web sitesi verilerini sistem verilerinden ayırmak için belge kökleri kavramını kullanır. Bu, web sitesi dosyalarının, bir web sitesinin kök dizini olarak bilinen, dosya sistemindeki belirlenmiş bir dizine kısıtlanmasını içerir. Web sunucusu, belge kökünü tanımlayarak, o web sitesinin içeriği için gelen istekleri doğru bir şekilde yönlendirebilir ve yanıtlayabilir. Bu kök dizin, o web sitesi için web isteklerini işlemek için başlangıç noktasıdır.
Bu sınırlama, belirlenen kök dizinin dışında depolanan işletim sistemi bilgileri ve anahtar yapılandırma dosyaları gibi kritik sunucu verilerine yetkisiz erişimin önlenmesine yardımcı olur. Bu, belirli bir web sitesiyle ilgili herhangi bir komut dosyası veya diğer içerik ve işlevlerin, yalnızca bir güvenlik ihlali durumunda sunucunun geri kalanını koruyan kök dizin ve alt dizinlerindeki verilere erişebileceği ve bunları değiştirebileceği anlamına gelir.
Web sunucuları, belge köklerine ek olarak, web sitesi verilerine erişimi daha da kısıtlamak için diğer erişim kontrol mekanizmalarını kullanır. En dikkate değer mekanizmalardan biri dosya izinleridir. Dosya izinleri, en az ayrıcalık ilkesinin uygulanmasına yardımcı olur; bu, sistem kullanıcılarına veya işlemlerine yalnızca amaçlanan işlevleri gerçekleştirmek için gereken minimum düzeyde erişim verildiği anlamına gelir.
Bu yaklaşımın sağlam güvenliğine rağmen, bilgisayar korsanları onu atlatmak için bir dizi kötü amaçlı teknik kullanabilir. Böyle bir yöntem dizin geçişidir. Dizin geçişi saldırıları, web sunucusunu kandırarak aksi takdirde tarayıcıdan erişilemeyecek olan kısıtlı bilgileri ifşa etmesi için web sitesi kodundaki zayıflıklardan ve güvenli izinlerin uygulanmasından yararlanır.
Dizin Geçişi nedir?
Yol geçişi olarak da bilinen dizin geçişi, hedeflenen web sitesinin veya web uygulamasının belge kökü dışındaki kısıtlı dosyalara ve dizinlere erişim sağlamayı amaçlayan kötü niyetli bir tekniktir. Yol geçişi, saldırganın tarayıcı aracılığıyla sunucunun dosya sisteminde kök dizine ve diğer kısıtlanmış klasörlere kadar gezinmesine olanak tanır; bu, normal koşullarda mümkün olmaması gereken bir davranış türüdür.
Dizin geçişi, yol geçiş dizileri olarak bilinen özel karakterlerin kullanımıyla dosyalara başvuran değişkenleri değiştirerek gerçekleştirilir. Dot-dot-slash '../' gibi diziler, web sunucusu tarafından yorumlanır ve web sitesinin belge kökünden uzaklaşarak dosya sistemi hiyerarşisinde bir dizini yukarı taşımaya zorlar.
Bir web sitesi /home/user/public_html konumunda depolanıyorsa, '../../../etc' dizini geçiş sırası sağlamak, saldırganın Linux'ta kritik sistem yapılandırmasını depolayan /etc dizinine gitmesine olanak tanır. sunucular.
Web sunucusu yapılandırmasında dizin listeleme devre dışı bırakılırsa, siber suçlu istenen dizinin içeriğini görüntüleyemez. Bu, sistemin güvenliğini kısmen artırabilir ve saldırganın tarayıcıda görüntülemek istediği dosyayı tam olarak belirtmesi gerekeceğinden, dizin geçişi saldırılarının neden olduğu olası hasarı sınırlayabilir. Ancak çoğu zaman bilgisayar korsanları tam olarak hangi bilgileri aradıklarını bildiklerinden, dizin listesini devre dışı bırakmak onların bu bilgilere erişmelerini engellemez.
/etc/passwd dosyası, dizin tarama saldırılarının ortak hedeflerinden biridir. Linux sunucularında, /etc/passwd dosyası sunucuda oluşturulan kullanıcıların listesini içerir. Bu, bilgisayar korsanlarına, kullanıcıların kimlik bilgilerine yönelik kaba kuvvet saldırıları için iyi bir başlangıç noktası sağlayabilir. /etc/passwd dosya izinleri 644 olduğundan, bu, web sunucusunun çalıştığı kullanıcı da dahil olmak üzere sistemdeki tüm kullanıcılar tarafından okunabileceği anlamına gelir. Bu şekilde, web sunucusu dosyanın içeriğini tarayıcı aracılığıyla işleyebilir.
Dizin Geçişi Nasıl Çalışır?
Kötü amaçlı bir teknik olarak, dizin taraması, kurbanların sunucularındaki hassas bilgilere erişmenin tek yolu olarak nadiren kullanılır. İlk olarak, saldırganların hedeflenen web sitesindeki bir güvenlik açığından yararlanmanın bir yolunu bulması ve istenen bilgileri tarayıcıda görüntülemesini sağlamanın bir yolunu bulması gerekir. Ancak o zaman, kısıtlı dizinlere ulaşmak için kurbanın sunucusunun dosya sisteminde gezinmek için dizin geçişi kullanılır.
Dosya dahil etme güvenlik açıkları, dizin geçişinin kullanılmasını sağlayan şeydir. Dizin geçişi güvenlik açığı, bir web sitesi, dinamik dosya ekleme kullanılarak sağlanan dosya yolları gibi kullanıcı girdilerini düzgün bir şekilde temizlemediğinde ortaya çıkar. Mevcut yerel dosya ekleme (LFI) ve dizin geçişi güvenlik açıklarının bir kombinasyonu, bilgisayar korsanlarının hedeflenen web sitesinin belge kökünün dışındaki verilere erişmesine ve hassas sunucu bilgilerini açığa çıkarmasına olanak tanır.
Bir Dizin Geçişi Örneği
Yerel dosya içerme ve dizin geçişi güvenlik açıklarından nasıl yararlanılabileceğini daha iyi anlamak için aşağıdaki örneğe bir göz atalım. Bu örnek, dizin geçişinin bir dosya dahil etme kusuru aracılığıyla nasıl kullanıldığının basitleştirilmiş bir temsilidir.
Bir web geliştiricisi, kullanıcının isteğine göre web sitesinin farklı sayfaları veya bileşenleri dinamik olarak yüklemesine izin vermek için kullanılacak bir web sayfası content.php ekler. Örneğin, bir web sitesi ziyaretçisi "Bize Ulaşın" sayfasını görüntülemek isterse, isteği tarayıcının adres çubuğunda "https://website.com/content.php?page=contact_us" olarak gösterilebilir.
Content.php sayfası, istenen "Bize Ulaşın" sayfası için PHP ve HTML kodunu içerebilen "contact_us" parametresine karşılık gelen dosyaya başvurmak için yerel dosya dahil etme tekniğini kullanır. Bu örnekte, content.php web sayfası, kullanıcının girişine göre içeriği dinamik olarak oluşturan uygun dosyayı yükleyen bir denetleyici görevi görür.
Ancak, kullanıcının girişi düzgün bir şekilde doğrulanmazsa veya temizlenmezse, saldırganlar dosya ekleme ve dizin geçişi güvenlik açıklarından yararlanarak tarayıcıda görüntülenecek olan rastgele dosyaları dahil edebilir.
Örneğin, bir bilgisayar korsanı, sayfa sorgusu parametresinin değeri olarak "../../../../../var/log/apache2/access.log" ifadesini geçebilir - bir dizi dizin geçiş sırası ve ardından dosya sistemindeki Apache web sunucusunun ana erişim günlüğünün adresi. Bu şekilde saldırgan, IP adresleri, kullanıcı aracısı dizeleri ve web sitesi ziyaretçileri tarafından istenen URL'ler gibi hassas bilgileri içeren günlük dosyasının içeriğini görüntüleyebilir.
Dosya İzinleri Dizin Geçişini Nasıl Kolaylaştırabilir veya Azaltabilir?
Dosya izinleri, sunucu ve web sitesi güvenliğinin sağlanmasında büyük rol oynar. Dosyaya erişimi yalnızca belirli sistem kullanıcıları ve gruplarıyla sınırlayarak izinler, dizin geçişini kolaylaştırmaya veya hafifletmeye yardımcı olabilir.
Dizin geçişini kullanan bir dosya dahil etme saldırısında, saldırgan tarafından talep edilen dosyanın içeriği, yalnızca dosya izinleri web sunucusunu kullanan sistemin onu okuyabilecek şekilde çalışmasına izin veriyorsa tarayıcıda görüntülenir. /etc/password gibi bazı kısıtlanmış dosyaların 644 izinleri vardır, bu da onları tüm sistem kullanıcıları tarafından okunabilir kılarken, diğer dosyalara yalnızca kök kullanıcı erişebilir.
Bir Linux sunucusundaki tüm kullanıcılar için şifrelenmiş şifreler içeren /etc/shadow dosyası, 640 dosya izinlerine sahiptir, bu da onu root dışındaki herhangi bir kullanıcı için erişilemez kılar. Bu, bilgisayar korsanlarının dosyaya dizin geçişi yoluyla tarayıcı aracılığıyla erişmesini imkansız hale getirir.
WordPress Sitenizdeki Dizin Geçişi Güvenlik Açıkları Nasıl Tespit Edilir?
WordPress çekirdeği, yüksek düzeyde güvenlik sağlar ve dosya dahil etme güvenlik açıklarından ve dizin geçişinden tamamen korunur. Bununla birlikte, platformun sunduğu yüksek özelleştirme seçenekleri, bu güvenlik açıklarının bir WordPress sitesinde bulunma olasılığını artırır. En saygın WordPress eklentileri ve temaları bile düzenli olarak keşfedilen güvenlik kusurları içerebilir.
iThemes'in haftalık WordPress güvenlik açığı raporları, dizin geçişi de dahil olmak üzere WordPress eklentileri ve temalarında yeni açıklanan güvenlik açıklarını hızlı bir şekilde belirlemenize ve düzeltmenize yardımcı olur. WordPress sitenizde kullandığınız eklentilerde ve aktif temanızda son zamanlarda herhangi bir güvenlik açığı bulunup bulunmadığını görmek için güvenlik açığı raporlarını kontrol edin ve bir yama yayınlanıp yayınlanmadığına bakın.
iThemes Security Pro, WordPress web sitenizi güvenlik açıklarına karşı tarama sürecini otomatikleştirebilir ve belirlenen kusurları sizin adınıza hızla düzeltebilir. iThemes Security Pro, günde iki kez gelişmiş güvenlik açığı taraması yapacak, herhangi bir güvenlik açığı tespit edilirse size e-posta gönderecek ve bir güvenlik düzeltmesi varsa otomatik olarak bir güncelleme yükleyecektir.
Dizin Geçişine Karşı Nasıl Savunma Yapılır?
Eklentilerde ve temalarda bulunan güvenlik açıklarından yararlanmak, bilgisayar korsanlarının yetkisiz erişim elde etmek, hassas verileri çalmak ve arka kapı kabukları da dahil olmak üzere kötü amaçlı yazılımları WordPress web sitelerine yüklemek için kullandıkları en büyük saldırı vektörlerinden biridir. Güvenli kodlama uygulamalarını takip etmek eklenti ve tema geliştiricilerin sorumluluk alanına girerken, yerel olarak koruyucu önlemlerin uygulanmasından WordPress web sitesi sahipleri sorumludur. Yalnızca WordPress güvenliğine çok yönlü bir yaklaşım, modern karmaşık siber saldırıların kurbanı olma riskini azaltmaya yardımcı olabilir.
Tüm Yazılımları Güncel Tutun
WordPress çekirdeğini, aktif eklentileri ve seçilen temayı mevcut en son sürüme güncel tutmak, dizin geçişini ve diğer ciddi uygulama düzeyindeki güvenlik açıklarını ortadan kaldırmanın ilk adımıdır. WordPress sitenize güç veren yazılımda yeni güvenlik açıkları tespit edildiğinden, güvenlik yamalarını kullanıma sunulur sunulmaz yüklemek son derece önemlidir. Bulunan güvenlik açığı eklenti veya tema geliştiricisi tarafından ele alınmadan önce, etkilenen yazılım parçası devre dışı bırakılarak saldırı yüzeyi azaltılabilir.
Eklenti ve tema güncellemelerini takip etmek zorlu bir görev olabilir, ancak iThemes Security Pro ile web sitesi sahipleri, süreci basitleştiren ve web sitelerinin güncel kalmasına ve güvenlik açıklarına karşı korunmasına yardımcı olan kapsamlı bir çözüme erişebilir. Sürüm Yönetimi özelliği, WordPress sitenizi korumak için otomatik yazılım güncellemeleri sunar.
Güvenli Dosya İzinlerini Yapılandırma
Güvenli WordPress dosya izinleri, hassas web sitesi ve sunucu bilgilerine erişmeyi amaçlayan saldırılara karşı ek bir savunma katmanı sağlar. Kritik sistem yapılandırma dosyalarının ve diğer kısıtlanmış sunucu verilerinin dosya izinlerini nadiren değiştirmeniz gerekse de, web sitesi dosyaları için güvenli izinler ayarlama sorumluluğu genellikle web sitesi sahibine aittir.
wp-config.php dosyası gibi kritik WordPress bilgilerini tutmak, dizin geçiş güvenlik açıklarından yararlanan dosya dahil etme saldırılarının sembolik bağlantıları yoluyla hesaplar arası uzlaşmaları etkili bir şekilde önlemeye yardımcı olabilir. iThemes Security Pro'daki dosya izinleri kontrolleri, web sitesi sahiplerinin bu kritik güvenlik mekanizmasının WordPress sitelerinde doğru şekilde uygulandığından emin olmalarına yardımcı olur.
Bir Web Uygulaması Güvenlik Duvarı Uygulama
Güvenlik duvarları, bilinen kalıplarla eşleşen veya anormal kalıplar sergileyen kötü amaçlı web isteklerini web sunucusuna iletilmeden önce filtreleyerek çalışır. Hizmet reddi (Dos) ve dağıtılmış hizmet reddi (DDoS) gibi çok çeşitli bot güdümlü siber saldırılara ve siteler arası komut dosyası çalıştırma (XSS) ve SQL gibi veri enjeksiyon saldırılarına karşı güçlü bir ilk savunma hattı olarak enjeksiyonlar (SQLi).
Bir web uygulaması güvenlik duvarı (WAF) veya ana bilgisayar tabanlı ve bulut tabanlı saldırı önleme çözümünün bir kombinasyonunu uygulamak, başarılı bir izinsiz giriş girişimi olasılığını önemli ölçüde azaltabilir. Dosya ekleme ve dizin geçişi güvenlik açıklarına karşı ikinci bir savunma katmanı görevi gören web uygulaması güvenlik duvarları, bilgisayar korsanlarının eklentilerin ve temaların yama uygulanmamış sürümlerinde bulunan güvenlik zayıflıklarından yararlanabilmesini sağlar.
IThemes Security Pro ile kaba kuvvet koruması ve yerleşik bot yönetimi çözümleri, kötü botların durdurulmasına ve kötü amaçlı web isteklerinin web sitenize ulaşmasını filtrelemeye yardımcı olur. Biyometrik girişlere sahip geçiş anahtarlarıyla desteklenen çok faktörlü kimlik doğrulamanın eklenmesiyle bu kapsamlı güvenlik paketi, web sitenizi çeşitli güvenlik tehditlerine karşı savunmak için çok yönlü bir yaklaşım sunar.
WordPress Web Sitenizi iThemes Security Pro ile Güvenli Hale Getirin
Dosya ekleme ve dizin geçişi güvenlik açıkları, hassas verilere yetkisiz erişim elde etmek veya kurbanın sunucusunda kötü amaçlı kod yürütmek isteyen bilgisayar korsanları tarafından sıklıkla kullanıldıklarından, web sitesi güvenliği için önemli bir tehdit oluşturur. Saldırgan, dizin geçiş dizilerini kullanarak ve savunmasız bir web sitesine belirli verilere giden yolu sağlayarak, web sunucusunu kandırarak aksi takdirde kısıtlanmış sunucu ve web sitesi bilgilerini açığa çıkarabilir.
Kapsamlı bir şekilde çalışılmasına ve tanınmasına rağmen, dizin geçişi, güncel olmayan yazılımlara dayanan ve uygun güvenlik önlemlerinden yoksun olan WordPress web siteleri için büyük bir endişe kaynağı olmaya devam etmektedir. Zamanında WordPress çekirdek, tema ve eklenti güncellemeleri yapmak, güvenli dosya izinlerini yapılandırmak ve bir web uygulaması güvenlik duvarı uygulamak, web sitenizin dizin geçişinden yararlanan dosya dahil etme saldırılarına açık olma riskini önemli ölçüde azaltabilir.
iThemes Security Pro, web sitesi güvenliğine kapsamlı, çok yönlü bir yaklaşım sunarak WordPress web sitenizi çok çeşitli siber tehditlere karşı savunmanıza yardımcı olabilir. Gelişmiş güvenlik açığı taraması, otomatik yazılım güncellemeleri ve yerleşik güçlü bot yönetimi çözümleri ile iThemes Security Pro, kişisel güvenlik danışmanınız gibi hareket ederek WordPress web sitenizi her zaman güvende tutar.
WordPress'i Korumak ve Korumak için En İyi WordPress Güvenlik Eklentisi
WordPress şu anda tüm web sitelerinin %40'ından fazlasına güç veriyor, bu nedenle kötü niyetli bilgisayar korsanları için kolay bir hedef haline geldi. iThemes Security Pro eklentisi, WordPress web sitenizi güvenli hale getirmeyi ve korumayı kolaylaştırmak için WordPress güvenliğinin varsayımlarını ortadan kaldırır. Bu, WordPress sitenizi sizin için sürekli izleyen ve koruyan tam zamanlı bir güvenlik uzmanına sahip olmak gibidir.
Kiki, bilgi sistemleri yönetimi alanında lisans derecesine ve Linux ve WordPress'te iki yıldan fazla deneyime sahiptir. Halen Liquid Web ve Nexcess'te güvenlik uzmanı olarak çalışmaktadır. Bundan önce Kiki, yüzlerce WordPress web sitesi sahibine yardım ettiği ve sıklıkla karşılaştıkları teknik sorunları öğrendiği Liquid Web Yönetimli Barındırma destek ekibinin bir parçasıydı. Yazma tutkusu, bilgi ve deneyimlerini insanlara yardım etmek için paylaşmasına olanak tanır. Kiki, teknolojinin yanı sıra uzay hakkında bilgi edinmekten ve gerçek suç podcast'lerini dinlemekten hoşlanıyor.