Güvenlik

WordPress Dosya İzinleri (Chmod) Nasıl Olmalı? Sunucu Güvenlik Ayarları

  • 12 dk okuma
  • Hostragons Ekibi
WordPress Dosya İzinleri (Chmod) Nasıl Olmalı? Sunucu Güvenlik Ayarları

WordPress dosya izinleri genel olarak klasörler için 755, dosyalar için 644, kritik yapılandırma dosyası olan wp-config.php için ise mümkünse 600 veya sunucu yapısına göre 640 olmalıdır. Bu ayarlar, WordPress’in çalışması için gerekli okuma ve yazma erişimini korurken yetkisiz kullanıcıların tema, eklenti ve çekirdek dosyalar üzerinde değişiklik yapmasını zorlaştırır. Kısacası güvenli chmod kuralı şudur: web sitesinin çalışması için gereken minimum izni verin, fazlasını vermeyin.

WordPress güvenliği yalnızca güçlü parola, güncel eklenti veya SSL sertifikasından ibaret değildir. Dosya sistemi izinleri yanlış yapılandırıldığında saldırganlar zararlı PHP dosyası yükleyebilir, tema dosyalarını değiştirebilir, wp-config.php içindeki veritabanı bilgilerini okuyabilir veya sitenize arka kapı bırakabilir. Bu nedenle chmod ayarları, özellikle paylaşımlı hosting, VPS, bulut sunucu ve yönetilen WordPress hosting kullanan tüm site sahipleri için temel güvenlik başlıklarından biridir. Eğer güvenli ve güncel bir WordPress altyapısı kurmak istiyorsanız, doğru hosting seçimi de bu sürecin önemli parçasıdır: WordPress hosting paketleri

WordPress Dosya İzinleri Nedir?

WordPress dosya izinleri, sunucuda bulunan dosya ve klasörlere kimlerin hangi işlemleri yapabileceğini belirleyen erişim kurallarıdır. Linux tabanlı sunucularda bu izinler genellikle chmod komutu ile yönetilir. Chmod değerleri üç ana yetkiyi temsil eder: okuma, yazma ve çalıştırma. Bu yetkiler dosya sahibi, grup ve diğer kullanıcılar için ayrı ayrı tanımlanır.

WordPress gibi PHP tabanlı bir içerik yönetim sisteminde izinler hassas bir denge gerektirir. Çok sıkı izinler sitenin düzgün çalışmasını engelleyebilir; örneğin medya yükleyemez, eklenti güncelleyemez veya önbellek dosyası oluşturamazsınız. Çok gevşek izinler ise güvenlik açığına dönüşür; özellikle 777 gibi herkese yazma izni veren değerler, kötü niyetli dosya yükleme saldırılarını kolaylaştırır.

Chmod Değerleri Nasıl Okunur?

Chmod değerleri genellikle 3 rakamla gösterilir. Her rakam bir kullanıcı seviyesini temsil eder: birinci rakam dosya sahibi, ikinci rakam grup, üçüncü rakam ise diğer kullanıcılar içindir. Rakamlar yetkilerin toplamından oluşur.

  • 4: Okuma izni
  • 2: Yazma izni
  • 1: Çalıştırma izni
  • 7: Okuma + yazma + çalıştırma
  • 6: Okuma + yazma
  • 5: Okuma + çalıştırma

Örneğin 755 değeri, dosya sahibine okuma, yazma ve çalıştırma izni verirken; grup ve diğer kullanıcılara yalnızca okuma ve çalıştırma izni verir. 644 ise dosya sahibine okuma ve yazma, diğer kullanıcılara yalnızca okuma izni verir. Klasörlerde çalıştırma izni, klasöre erişim ve listeleme davranışı açısından gerekli olduğu için klasörlerde 755 standart kabul edilir.

WordPress İçin Önerilen Chmod Değerleri

Güvenli bir WordPress kurulumunda temel amaç, web sunucusunun siteyi çalıştırabilmesi fakat gereksiz yazma izinlerinin sınırlandırılmasıdır. Aşağıdaki tablo, pratikte en çok kullanılan güvenli WordPress dosya izinleri özetini verir.

WordPress İçin Önerilen Chmod Değerleri
Dosya veya KlasörÖnerilen İzinAçıklama
WordPress klasörleri755Klasörlere erişim sağlanır, herkese yazma izni verilmez.
WordPress dosyaları644Dosyalar okunabilir, yalnızca sahip kullanıcı yazabilir.
wp-config.php600 veya 640Veritabanı bilgilerini içerdiği için daha sıkı korunmalıdır.
.htaccess644 veya 640Sunucu kurallarını içerir, gereksiz yazma izni verilmemelidir.
wp-content755Tema, eklenti ve yüklemeleri barındırır; alt dizinler dikkatle yönetilmelidir.
wp-content/uploads755Medya yüklemeleri için yazma gerekebilir; 777 kullanılmamalıdır.
Tema dosyaları644PHP ve CSS dosyaları herkes tarafından değiştirilebilir olmamalıdır.
Eklenti dosyaları644Eklenti dosyalarında yetkisiz değişiklik riski azaltılır.

Bu değerler çoğu cPanel, LiteSpeed, Apache veya Nginx tabanlı hosting ortamında güvenli başlangıç noktasıdır. Ancak her sunucu mimarisi aynı değildir. PHP-FPM, suPHP, mod_php, container tabanlı yapı veya özel kullanıcı-grup sahipliği gibi farklılıklar bazı durumlarda izinleri etkileyebilir. Bu nedenle değişikliklerden önce yedek almak ve site işlevlerini test etmek önemlidir. Düzenli yedekleme hakkında bilgi için web sitesi yedekleme rehberi bağlantısı değerlendirilebilir.

Neden 777 İzinleri Tehlikelidir?

777 izni, dosya veya klasör üzerinde herkesin okuma, yazma ve çalıştırma iznine sahip olduğu anlamına gelir. Bu değer bazı eski forumlarda veya hatalı kurulum rehberlerinde hızlı çözüm gibi önerilse de modern WordPress güvenliği açısından ciddi risktir. 777 verilen bir dizine kötü niyetli bir script yazılabilir, PHP dosyası yüklenebilir veya mevcut dosyalar değiştirilebilir.

Özellikle wp-content/uploads dizininde 777 kullanılması çok yaygın bir hatadır. Bu klasör medya dosyaları için kullanılır; normalde resim, PDF veya video gibi dosyalar barındırmalıdır. Eğer saldırgan zayıf bir eklenti üzerinden uploads içine PHP dosyası yükleyebilirse ve klasör çalıştırılabilir durumdaysa, bu dosya sunucuda komut çalıştırmak için kullanılabilir. Bu senaryoda yalnızca bir eklenti açığı değil, dosya izinlerinin fazla geniş olması da saldırının etkisini büyütür.

777 Yerine Ne Kullanılmalı?

Çoğu durumda 755 klasörler için yeterlidir. Eğer WordPress medya yükleyemiyor veya güncelleme yapamıyorsa ilk çözüm 777 vermek olmamalıdır. Bunun yerine dosya sahipliği kontrol edilmelidir. Örneğin dosyalar yanlış kullanıcıya aitse, web sunucusu gerekli yazma işlemini yapamaz. Böyle bir durumda doğru çözüm chmod değerini gevşetmek değil, chown ile sahipliği düzeltmek veya hosting kontrol panelinde dosya sahipliği onarma aracını kullanmaktır.

WordPress Dosya Sahipliği ve Chmod İlişkisi

Chmod ayarları tek başına değerlendirilmemelidir. Dosyanın hangi kullanıcıya ve gruba ait olduğu da en az izin değeri kadar önemlidir. Bir dosyanın izni 644 olsa bile dosya sahibi yanlışsa WordPress güncelleme yapamayabilir. Benzer şekilde doğru sahiplik yoksa uploads klasörüne medya yüklenemeyebilir.

Güvenli bir yapılandırmada WordPress dosyaları, ilgili hosting hesabı kullanıcısına ait olmalıdır. Paylaşımlı hostinglerde bu genellikle otomatik yönetilir. VPS veya özel sunucu kullananlarda ise web sunucusu kullanıcısı, PHP-FPM havuzu ve site kullanıcısı uyumlu yapılandırılmalıdır. Örneğin her siteye ayrı Linux kullanıcısı atamak, bir sitedeki güvenlik açığının diğer sitelere sıçrama riskini azaltır. Kurumsal veya yüksek trafikli projelerde bu ayrım, dosya izinleri kadar kritik bir izolasyon katmanı sağlar.

Adım Adım WordPress Dosya İzinleri Nasıl Kontrol Edilir?

WordPress dosya izinlerini kontrol etmek için cPanel Dosya Yöneticisi, FTP istemcisi veya SSH kullanılabilir. Aşağıdaki adımlar, güvenli ve uygulanabilir bir kontrol süreci sunar.

1. İşleme Başlamadan Önce Yedek Alın

Dosya izinlerinde toplu değişiklik yapmadan önce mutlaka tam site yedeği alın. Yedek; WordPress dosyalarını, wp-content klasörünü ve veritabanını içermelidir. Yanlış bir chmod komutu siteyi erişilemez hale getirebilir veya yönetim panelinde hatalara neden olabilir. Hosting panelinizde otomatik yedekleme varsa son yedeğin tarihini kontrol edin. Yoksa manuel FTP ve veritabanı dışa aktarma işlemi yapın.

2. Mevcut İzinleri Listeleyin

SSH erişiminiz varsa WordPress ana dizininde aşağıdaki mantıkla dosya ve klasör izinlerini inceleyebilirsiniz. Klasörlerde 755, dosyalarda 644 değerinden belirgin sapmalar olup olmadığını kontrol edin. Özellikle 777, 775, 666 gibi yazma izni geniş değerleri not alın. cPanel kullanıyorsanız Dosya Yöneticisi üzerinden izin sütununu görüntüleyebilir ve tek tek düzenleyebilirsiniz.

3. Klasörleri 755 Olarak Ayarlayın

WordPress ana dizini ve alt klasörleri için genel güvenli değer 755’tir. Bu değer klasörlerin gezilebilir olmasını sağlar fakat herkese yazma izni vermez. SSH kullanan deneyimli kullanıcılar find komutu ile yalnızca klasörleri hedefleyebilir. Toplu işlem yaparken yanlışlıkla dosyalara 755 vermemeye dikkat edilmelidir; PHP dosyalarının çalıştırma iznine ihtiyaç duymadığı çoğu ortamda dosyaların 644 kalması daha güvenlidir.

4. Dosyaları 644 Olarak Ayarlayın

WordPress çekirdek dosyaları, tema dosyaları ve eklenti dosyaları için standart değer 644’tür. Bu yapı dosyanın web sunucusu tarafından okunmasını sağlar, ancak grup veya diğer kullanıcıların dosyayı değiştirmesini engeller. Eğer temanızın veya eklentinizin dosya düzenleyicisi üzerinden değişiklik yapmaya çalışıyorsanız, güvenlik açısından bunu üretim ortamında kapatmanız daha doğrudur.

5. wp-config.php Dosyasını Sıkılaştırın

wp-config.php, WordPress veritabanı adı, kullanıcı adı, parola, güvenlik anahtarları ve tablo öneki gibi kritik bilgileri içerir. Bu dosya için 644 yerine mümkünse 600 veya 640 kullanılmalıdır. Bazı paylaşımlı hosting ortamlarında 600 siteyi bozabilir; bu durumda 640 uygun olabilir. Değişiklikten sonra sitenin ön yüzünü ve yönetim panelini test edin. Eğer 500 hatası alırsanız, sunucu yapınıza uygun en sıkı değeri belirlemek için hosting desteğiyle görüşün. WordPress güvenliği için SSL kullanımı da kritik olduğundan SSL sertifikası satın al sayfası üzerinden uygun sertifika seçenekleri incelenebilir.

6. .htaccess Dosyasını Koruyun

.htaccess dosyası kalıcı bağlantılar, yönlendirmeler, güvenlik kuralları, önbellek ve erişim kontrolleri için kullanılır. Bu dosyanın genellikle 644 olması yeterlidir. Daha sıkı bir yapı için 640 tercih edilebilir. Ancak bazı eklentiler .htaccess içine kural yazmak isteyebilir. Güvenli yaklaşım, gerekli kuralı manuel eklemek ve dosyayı tekrar sıkı izne almaktır.

wp-content, uploads, themes ve plugins İçin En İyi Uygulamalar

WordPress’in en hareketli bölümü wp-content dizinidir. Eklentiler, temalar, dil dosyaları ve medya yüklemeleri burada bulunur. Saldırıların önemli bölümü de bu dizindeki zayıf eklentiler, eski temalar veya kontrolsüz dosya yükleme özellikleri üzerinden gerçekleşir.

uploads Klasöründe PHP Çalıştırmayı Engelleyin

uploads klasörü kullanıcı tarafından yüklenen dosyaları barındırır. Bu klasörde PHP çalıştırmak çoğu sitede gerekli değildir. Bu nedenle uploads içinde PHP çalıştırmayı engelleyen .htaccess veya Nginx kuralı kullanmak güçlü bir ek önlemdir. Böylece saldırgan bir şekilde PHP dosyası yüklenmiş olsa bile dosyanın çalıştırılması zorlaşır. Bu ayar, chmod ile birlikte katmanlı güvenlik sağlar.

Tema ve Eklenti Düzenleyicisini Kapatın

WordPress yönetim panelinde tema ve eklenti dosyalarını düzenlemeye izin veren özellik, ele geçirilmiş bir yönetici hesabında ciddi risk oluşturur. wp-config.php dosyasına DISALLOW_FILE_EDIT tanımı eklenerek panelden dosya düzenleme kapatılabilir. Böylece saldırgan yönetici hesabına erişse bile panel üzerinden doğrudan PHP kodu enjekte edemez.

Gereksiz Tema ve Eklentileri Silin

Pasif durumda olan eski tema ve eklentiler de güvenlik açığı oluşturabilir. Kullanılmayan eklentileri yalnızca devre dışı bırakmak yeterli değildir; mümkünse tamamen silin. Yalnızca aktif tema, bir yedek varsayılan tema ve gerçekten kullanılan eklentiler bırakılmalıdır. Daha az dosya, daha küçük saldırı yüzeyi anlamına gelir.

Sunucu Güvenlik Ayarları ile Chmod Nasıl Desteklenir?

Sunucu Güvenlik Ayarları ile Chmod Nasıl Desteklenir?

Doğru WordPress dosya izinleri güçlü bir temeldir; ancak tek başına tam güvenlik sağlamaz. Sunucu seviyesinde alınacak ek önlemler, dosya izinlerinin etkisini artırır ve saldırı olasılığını azaltır.

Güncel PHP Sürümü Kullanın

Eski PHP sürümleri performans ve güvenlik açısından risklidir. WordPress projelerinde mümkünse desteklenen güncel PHP sürümü kullanılmalıdır. Güncel PHP hem daha hızlı çalışır hem de bilinen güvenlik açıklarına karşı daha dayanıklıdır. Hosting panelinden PHP sürümünü kontrol edin ve tema/eklenti uyumluluğunu test ederek yükseltme yapın.

Web Application Firewall Kullanın

WAF, kötü niyetli istekleri uygulamaya ulaşmadan filtreleyebilir. SQL injection, XSS, dosya yükleme denemeleri ve brute force saldırıları gibi yaygın tehditlere karşı ek savunma sağlar. Özellikle yoğun trafik alan WordPress sitelerinde WAF, chmod ayarlarının tamamlayıcısıdır. Güvenli altyapı için güvenli web hosting çözümleri sayfasındaki seçenekler değerlendirilebilir.

Dizin Listelemeyi Kapatın

Dizin listeleme açık olduğunda, index dosyası bulunmayan klasörlerde dosya listesi tarayıcıdan görüntülenebilir. Bu bilgi sızıntısı saldırganların eklenti, tema veya yedek dosya isimlerini görmesine neden olabilir. Apache tarafında Options -Indexes kuralı, Nginx tarafında autoindex off ayarı kullanılabilir. Bu küçük ayar, keşif aşamasındaki saldırıları zorlaştırır.

Veritabanı ve Dosya Yedeklerini Web Kökünde Tutmayın

Yedek dosyalarının public_html içinde bırakılması sık görülen kritik hatalardan biridir. backup.zip, site-old.tar.gz veya database.sql gibi dosyalar tahmin edilebilir isimlerle web kökünde duruyorsa indirilebilir. Yedekleri web erişimine kapalı bir alanda saklayın veya güvenli uzak depolama kullanın. Alan adı ve DNS yapılandırması dahil kapsamlı yönetim için domain tescil ve DNS yönetimi içerikleri incelenebilir.

Paylaşımlı Hosting, VPS ve Dedicated Sunucuda Farklılıklar

WordPress chmod ayarları genel olarak benzer olsa da hosting türüne göre operasyonel farklar vardır. Paylaşımlı hosting kullanıcıları çoğu zaman dosya sahipliği, PHP kullanıcı modu ve güvenlik modülleriyle doğrudan ilgilenmez; sağlayıcı bunları hazır sunar. VPS veya dedicated sunucu kullananlar ise izinlerin yanında kullanıcı izolasyonu, servis yapılandırması, firewall, log izleme ve otomatik güncellemelerden de sorumludur.

Paylaşımlı hostingte 644 ve 755 değerleri genellikle sorunsuz çalışır. VPS üzerinde ise PHP-FPM havuzlarının her site için ayrı kullanıcıyla çalıştırılması tavsiye edilir. Dedicated sunucuda ek olarak merkezi log izleme, malware tarama, dosya bütünlüğü kontrolü ve otomatik güvenlik yamaları planlanmalıdır. Çoklu WordPress barındıran ajanslar için her müşteri sitesinin ayrı hesapta tutulması, bir sitedeki güvenlik açığının tüm sunucuya yayılmasını önleyebilir.

Sık Yapılan Chmod Hataları

WordPress sitelerde dosya izinleriyle ilgili hatalar çoğu zaman hızlı çözüm arayışından kaynaklanır. Aşağıdaki hatalar güvenlik ve erişilebilirlik açısından sık görülür.

  • Tüm siteye 777 vermek: Medya yükleme veya güncelleme sorunu çözülse bile ciddi güvenlik açığı oluşturur.
  • wp-config.php dosyasını 644 bırakmak: Çoğu durumda çalışır, ancak daha sıkı izin mümkündür.
  • Dosya sahipliğini kontrol etmemek: Sorunun chmod değil chown kaynaklı olduğu durumlarda yanlış müdahale edilir.
  • Yedek almadan toplu komut çalıştırmak: Yanlış komut sitenin çalışmasını bozabilir.
  • uploads içinde PHP çalışmasına izin vermek: Dosya yükleme açıklarında saldırının etkisini artırır.
  • Eski eklentileri silmemek: Pasif dosyalar da hedef alınabilir.

Güvenli WordPress Chmod Kontrol Listesi

Aşağıdaki kontrol listesi, bir WordPress sitesini yayına almadan veya güvenlik bakımından geçirirken pratik şekilde kullanılabilir.

  • Klasör izinleri 755 olarak ayarlandı.
  • Dosya izinleri 644 olarak ayarlandı.
  • wp-config.php 600 veya 640 olacak şekilde sıkılaştırıldı.
  • .htaccess 644 veya 640 olarak kontrol edildi.
  • Hiçbir klasör veya dosyada 777 izni bırakılmadı.
  • uploads klasöründe PHP çalıştırma engellendi.
  • Tema ve eklenti dosya düzenleyicisi kapatıldı.
  • Kullanılmayan tema ve eklentiler silindi.
  • Güncel PHP sürümü kullanılıyor.
  • Otomatik yedekleme ve geri dönüş planı hazır.

Bu liste özellikle yeni kurulan sitelerde, bakım sonrası kontrollerde ve saldırı temizliği sonrasında uygulanmalıdır. Güvenlik bir kez yapılan işlem değil, düzenli kontrol gerektiren sürekli bir süreçtir.

Chmod Değişikliğinden Sonra Hangi Testler Yapılmalı?

Dosya izinlerini değiştirdikten sonra sitenin yalnızca ana sayfasını açmak yeterli değildir. WordPress yönetim paneline giriş yapın, yeni bir medya dosyası yükleyin, eklenti güncelleme ekranını kontrol edin, kalıcı bağlantıları kaydedin ve iletişim formu gibi yazma işlemi yapan özellikleri test edin. Önbellek eklentisi kullanıyorsanız cache klasörünün gerekli dosyaları oluşturabildiğinden emin olun. WooCommerce gibi dinamik sistemlerde sipariş, ödeme dönüşü, fatura eklentisi ve dosya indirme süreçleri ayrıca kontrol edilmelidir.

Test sırasında 403 hatası görüyorsanız izinler fazla sıkı olabilir. 500 hatası genellikle .htaccess kuralı, PHP yetkisi veya hatalı dosya sahipliğiyle ilişkili olabilir. Medya yükleme başarısızsa uploads klasörünün sahibi ve izinleri kontrol edilmelidir. Sorunu çözmek için doğrudan 777 vermek yerine hata günlüklerini incelemek en doğru yöntemdir.

Sonuç: En Güvenli WordPress Dosya İzni Minimum Yetki Prensibidir

WordPress dosya izinleri için güvenli temel yapı klasörlerde 755, dosyalarda 644, wp-config.php için ise 600 veya 640 şeklindedir. Ancak gerçek güvenlik yalnızca rakamlardan ibaret değildir; doğru dosya sahipliği, güncel PHP sürümü, WAF, yedekleme, uploads içinde PHP çalıştırmayı engelleme ve gereksiz eklentileri kaldırma gibi önlemlerle birlikte düşünülmelidir. Minimum yetki prensibini uyguladığınızda hem sitenizin çalışması için gereken erişimi korur hem de saldırganların dosya sisteminde kalıcı hasar oluşturmasını zorlaştırırsınız.

WordPress sitenizi güvenli, hızlı ve yönetilebilir bir altyapıda barındırmak istiyorsanız Hostragons’un hosting, SSL ve alan adı çözümlerini inceleyebilir; ihtiyaçlarınıza uygun yapılandırma için destek ekibinden görüş alabilirsiniz. Hostragons hosting paketleri

Sıkça Sorulan Sorular

WordPress dosya izinleri kaç olmalı?

Genel öneri klasörler için 755, dosyalar için 644, wp-config.php için ise 600 veya 640 değeridir. Bu yapı çoğu hosting ortamında güvenli ve çalışabilir bir denge sunar.

WordPress uploads klasörüne 777 vermek güvenli mi?

Hayır. uploads klasörüne 777 vermek herkesin yazma iznine sahip olması anlamına gelir ve kötü niyetli dosya yükleme riskini artırır. Genellikle 755 yeterlidir; sorun varsa dosya sahipliği kontrol edilmelidir.

wp-config.php izni 600 olursa site bozulur mu?

Bazı sunucu yapılandırmalarında 600 sorunsuz çalışır, bazılarında 500 hatasına neden olabilir. Eğer 600 sorun çıkarırsa 640 denenebilir. Amaç, sunucunun okuyabildiği en sıkı izni kullanmaktır.

Chmod ayarlarını değiştirmek SEO’yu etkiler mi?

Doğrudan sıralama faktörü değildir; ancak yanlış izinler site hatalarına, güvenlik ihlallerine veya erişim sorunlarına yol açarsa SEO performansını dolaylı olarak olumsuz etkileyebilir.

Dosya izinlerini cPanel üzerinden değiştirebilir miyim?

Evet. cPanel Dosya Yöneticisi üzerinden dosya veya klasöre sağ tıklayarak izinleri değiştirebilirsiniz. Toplu değişikliklerde dikkatli olunmalı ve işlem öncesinde mutlaka yedek alınmalıdır.

Bu yazıyı paylaş:

Hostragons Ekibi

Hosting, sunucu ve alan adı konularında uzman ekibimizden güncel rehberler. Projeniz için doğru çözümü birlikte bulalım.

Bize Ulaşın