Canlı Destek Çevrimiçi
WordPress Güvenlik Rehberi: Sitenizi Adım Adım Koruyun
8 dk

WordPress Güvenlik Rehberi: Sitenizi Adım Adım Koruyun

WordPress, dünyadaki web sitelerinin %40’ından fazlasına güç veriyor. Bu yaygınlık, onu saldırganlar için kârlı bir hedef haline getiriyor. Her gün binlerce site, zayıf parolalar, güncel olmayan eklentiler veya yanlış yapılandırılmış sunucu ayarları yüzünden ele geçiriliyor. Bu rehberde, sitenizi sıfırdan güvenli hale getirmek için atmanız gereken somut adımları bulacaksınız. Hiçbir abartı veya gereksiz korkutma yok; yalnızca işe yarayan, uygulanabilir önlemler.

Önce Temeller: Nereden Başlamalısınız?

WordPress güvenliği deyince akla hemen karmaşık güvenlik duvarları veya pahalı eklentiler geliyor. Oysa işin büyük kısmı, göz ardı edilen basit ayarlarla halledilebilir. Hızlı bir kontrol listesiyle başlayalım:

  • Barındırma (hosting) seviyesi: Hosting sağlayıcınızın PHP sürümü desteklenen bir sürüm mü? PHP 7.4 ve öncesi artık güvenlik güncellemesi almıyor. Sunucunuzda PHP 8.0 veya üstü çalıştığından emin olun.
  • WordPress sürümü: Sitenizin çekirdek yazılımı en son sürümde mi? Otomatik küçük güncellemeler açık olmalı.
  • Kullanıcı hesapları: Yönetici hesabı “admin” mi? Cevabınız evet ise hemen değiştirin. Saldırganlar ilk olarak “admin” gibi tahmin edilebilir kullanıcı adlarını dener.

Bu üç madde, birçok sitenin kaderini belirler. Eksik kalan tek bir nokta bile sitenizi açık hedef haline getirebilir.

Parola ve Kullanıcı Politikaları: İlk Kilidiniz

Teknik önlemlerin en etkilisi, insan hatasına yer bırakmayan parola ve yetkilendirme kurallarıdır. Kaba kuvvet (brute force) saldırılarının hâlâ en yaygın giriş yöntemi olduğunu unutmayın.

Gerçekten Güçlü Bir Parola Ne Demek?

“Güçlü parola” tavsiyesi her yerde var, ama uygulaması seyrek. İşe yarar bir parola için şu üç kuralı uygulayın:

  • En az 16 karakter. Kısa parolalar, modern donanımlarla saniyeler içinde kırılabilir.
  • Rastgele kelime grupları veya anlamsız karakter dizileri. Örneğin “Kedi-Masa-33!Fırtına?” gibi birleşimler hem akılda kalır hem tahmin edilmesi zordur.
  • Asla tekrar kullanmayın. WordPress yönetici parolanız, e-posta veya sosyal medya hesaplarınızla aynı olmamalı. Bir yerde sızarsa, zincirleme kayıp yaşarsınız.

İki faktörlü kimlik doğrulamayı (2FA) mutlaka etkinleştirin. Wordfence veya Solid Security gibi eklentiler, ücretsiz 2FA desteği sunar. Parolanız ele geçse bile ikinci faktör olmadan giriş yapılamaz.

Kullanıcı Rollerini Gözden Geçirin

Her kullanıcıya yalnızca ihtiyacı olan yetkiyi verin. Bir içerik editörünün yönetici yetkisine sahip olması gereksizdir. Ayrıca, kullanılmayan hesapları silin veya devre dışı bırakın. Her fazla hesap, saldırı yüzeyini büyütür.

Eklentiler ve Temalar: En Büyük Risk Kapısı

WordPress güvenlik açıklarının yaklaşık %90’ı eklentilerden ve temalardan kaynaklanır. Bu, sektörde sıkça tekrarlanan bir veridir ve hiç abartılı değildir. Çözümü ise üç adımda özetlenebilir: azalt, güncelle, denetle.

Azaltma: Kullanmadığınızı Kaldırın

Sitenizde atıl duran eklentileri silin. “Bir gün lazım olur” diye tutulan eklentiler, güncellenmedikleri için zamanla ciddi açıklar barındırmaya başlar. Devre dışı bırakılmış olsalar bile kodlarına erişilebilir olabilir. Silmek, en garantili çözümdür.

Güncelleme: Otomasyonu Kurun

WordPress içindeki otomatik güncelleme ayarlarını kullanın veya yönetilen hosting çözümleriyle eklenti güncellemelerini otomatize edin. Kritik güvenlik güncellemeleri için manuel onay beklemek, sitenizi saatler hatta günler boyunca açıkta bırakabilir. Yine de büyük sürüm güncellemelerinden önce yedek almayı ihmal etmeyin.

Denetleme: Neyi Yüklediğinizi Bilin

Yeni bir eklenti kurmadan önce şunlara bakın:

  • Son güncelleme tarihi: 6 aydan eskiyse, geliştirici projeyi bırakmış olabilir.
  • Aktif kurulum sayısı ve puanı: Tek başına yeterli olmasa da fikir verir.
  • Destek forumundaki son yorumlar: Güvenlik şikayeti var mı?

Eklenti kaynağı olarak yalnızca WordPress.org deposu veya resmi geliştirici sitelerini kullanın. Korsan (nulled) eklentiler, içine gömülü arka kapılarla birlikte gelir.

Dosya ve Sunucu Ayarları: Arka Kapıları Kapatın

Birçok site sahibi, sunucu tarafındaki ayarları tamamen hosting firmasına bırakır. Oysa kendi yapabileceğiniz birkaç basit yapılandırma, sizi büyük dertlerden kurtarır.

wp-config.php’yi Koruyun

wp-config.php dosyası, veritabanı bağlantı bilgilerinizi içeren en kritik dosyadır. Kök dizinde durması risklidir. Şu iki yöntemden birini uygulayın:

  • Dosyayı kök dizinin bir üst seviyesine taşıyın. WordPress otomatik olarak bulur.
  • .htaccess (veya Nginx için yapılandırma) ile dosyaya doğrudan erişimi engelleyin.

Dosya İzinlerini Sıkılaştırın

Klasörler için 755, dosyalar için 644 izinleri genellikle doğru başlangıçtır. wp-config.php için 400 veya 440 izni yeterlidir. 777 izni vermek, “herkes okuyabilir ve yazabilir” demektir ve acil bir davettir.

xmlrpc.php’yi Değerlendirin

Uzaktan mobil uygulama veya bazı harici bağlantılar kullanmıyorsanız, xmlrpc.php dosyasını devre dışı bırakın. Bu dosya, yoğun kaba kuvvet saldırılarının ve DDoS amplifikasyonunun birincil hedefidir. Çoğu modern site için gereksizdir. .htaccess ile erişimi kapatabilir veya bir güvenlik eklentisi aracılığıyla devre dışı bırakabilirsiniz.

İzleme, Yedekleme ve Olay Müdahalesi

Güvenlik yalnızca saldırıları engellemek değildir; aynı zamanda bir şeyler ters gittiğinde hızlı toparlanabilmektir. Yedekleme stratejiniz yoksa, tüm önlemleriniz bir anda çöpe gidebilir.

Yedekleme: 3-2-1 Kuralı

En az üç kopya, iki farklı ortam, bir tanesi de farklı coğrafi konumda olmalı. Pratikte bu şu demek: otomatik günlük yedek alan bir eklenti (örn. UpdraftPlus) kullanın, yedekleri hem hosting sunucusunda hem de Google Drive veya Amazon S3 gibi bir bulut hizmetinde saklayın. Yedeğin çalıştığını test etmeden rahatlamayın. Ayda bir kez bir test ortamında yedeği ayağa kaldırın.

Güvenlik Eklentisi Seçerken Nelere Dikkat Etmeli?

Piyasada onlarca seçenek var. Temel ihtiyaçlar için Wordfence (ücretsiz sürümü yeterli), Solid Security veya Sucuri gibi köklü eklentilerden birini seçin. Seçim yaparken şu yetenekleri arayın:

Özellik Neden Önemli?
Güvenlik duvarı (WAF) Kötü niyetli trafiği sunucuya ulaşmadan engeller
Kötü amaçlı yazılım tarayıcı Dosya bütünlüğünü kontrol eder, şüpheli kodları yakalar
Kaba kuvvet koruması Belirli sayıda başarısız denemeden sonra IP’yi bloklar
Canlı trafik izleme Anlık saldırıları gösterir, hızlı tepki vermenizi sağlar

Bu dört özellik, ücretsiz bir eklentide bile bulunmalıdır. Daha fazlasına ihtiyacınız yoksa ücretli sürüme geçmeyin.

Beyaz Sayfa (Ölüm Ekranı) ve Acil Durum Kurtarma

Siteniz aniden beyaz ekran verirse panik yapmayın. Sorun genellikle bir eklenti veya tema kaynaklıdır. FTP üzerinden /wp-content/plugins/ klasörünün adını geçici olarak değiştirerek tüm eklentileri devre dışı bırakın. Site açılırsa, sorun eklentilerdedir. Klasör adını eski haline getirip eklentileri tek tek aktifleştirerek sorunlu olanı tespit edin. Aynı testi temalar için de yapın.

SSL ve Admin Paneli: Giriş Kapısını Tahkim Etmek

SSL sertifikası artık bir lüks değil, zorunluluk. Üstelik Let’s Encrypt sayesinde ücretsiz. SSL, ziyaretçinizin tarayıcısı ile sunucunuz arasındaki trafiği şifreler, ancak sitenizi saldırılara karşı tek başına korumaz. Yine de olmazsa olmazdır.

Admin paneline ek bir koruma katmanı eklemek isterseniz, .htaccess ile IP kısıtlaması getirebilirsiniz. Eğer sabit bir IP’niz varsa, wp-admin dizinine yalnızca sizin IP adresinizden erişim izni vermek, kaba kuvvet ve yetkisiz erişim denemelerini neredeyse sıfıra indirir. Dinamik IP kullanıyorsanız bu yöntem uygun değildir; güvenlik eklentilerindeki 2FA ve sınırlı giriş denemesi özellikleri sizin için daha pratiktir.

Ayrıca wp-admin dizinini varsayılan “/wp-admin” yerine farklı bir slug ile değiştiren eklentiler var. Ancak bu yöntem güvenliği yalnızca gizlilikle sağlamaya çalışır ve kararlı bir saldırganı uzun süre oyalayamaz. Asıl katmanlı güvenlik anlayışına sadık kalın: parola + 2FA + IP kısıtlaması + güvenlik duvarı.

Sık Yapılan Hatalar ve Gözden Kaçanlar

En çok rastlanan hataları bilmek, zaman kazandırır. İşte sitelerin sessizce savunmasız kalmasına neden olan üç yaygın hata:

  • Otomatik yedeklemeyi test etmemek. Yedek dosyası bozuksa, saldırı anında eliniz boş kalır.
  • Veritabanı ön ekini (prefix) “wp_” olarak bırakmak. Bu, SQL enjeksiyon saldırılarını kolaylaştırmaz ancak otomatik tarama araçları için yapbozun bir parçasını hazır verir. Kurulum sırasında değiştirmek temiz bir pratiktir.
  • “Güvenlik eklentisi her şeyi halleder” zihniyeti. Hiçbir eklenti, güncellenmemiş bir temayı veya zayıf bir parolayı telafi edemez.

Saldırı Sonrası: Panik Yerine Sistemli Hareket

Siteniz saldırıya uğradıysa yapmanız gereken ilk şey, hosting sağlayıcınıza durumu bildirmek ve siteyi geçici olarak bakım moduna almaktır. Ardından sırasıyla şu adımları izleyin:

  1. Temiz bir yedekten geri dönün – yedeğin temiz olduğundan eminseniz.
  2. Yedek yoksa, bir güvenlik eklentisiyle tam tarama yapın ve bulunan tehditleri temizleyin.
  3. Tüm şifreleri (WordPress, hosting, FTP, veritabanı) değiştirin.
  4. WordPress, tema ve eklentileri en güncel sürümlere getirin.
  5. Google Search Console’a girip “Güvenlik Sorunları” bölümünü kontrol edin ve varsa siteyi yeniden incelemeye gönderin.

Bu süreç teknik bilgi gerektirir; rahat hissetmiyorsanız profesyonel bir hizmetten destek almak, kalıcı hasarı önler.

Güvenliği Sürekli Kılmak İçin Basit Bir Rutin

WordPress güvenliği bir kerelik bir proje değil, sürekli bir alışkanlıktır. Haftada 15 dakikanızı ayırarak şu kontrolleri yapın:

  • Güncelleme bildirimlerini kontrol edin, kritik olanları hemen uygulayın.
  • Son bir haftadaki kullanıcı giriş kayıtlarını tarayın (güvenlik eklentiniz bu logu tutar).
  • Yedekleme raporuna göz atın; son yedeğin başarıyla alındığından emin olun.

Bu kısa rutin, yukarıdaki tüm önlemlerin bozulmadığını doğrular ve sizi büyük sürprizlerden korur. Ne kadar az sürpriz, o kadar az baş ağrısı.

Unutmayın, hiçbir site %100 güvenli değildir. Ancak doğru adımlarla saldırganlar için o kadar zahmetli bir hedef haline gelirsiniz ki, bir sonraki kolay siteye yönelirler.

İlgili Yazılar

15 yorum

  1. Barındırma seviyesindeki PHP sürümü uyarısı önemli, bu genelde gözden kaçıyor. Acaba hosting şirketim PHP 8.0’a geçişi destekliyor mu diye kontrol etmem gerekecek.

  2. Benim sitemde otomatik küçük güncellemeler açık ama bazen eklentilerle çakışıyor. Manuel güncellerken siteyi yedeğe almak şart oluyor. Sizce hangi sıklıkla güncelleme kontrolü yapmalıyız, haftalık yeterli mi?

  3. Kaba kuvvet saldırıları için login sayfasına ek koruma önerir misiniz? Mesela iki faktörlü doğrulama şart mı, yoksa IP sınırlama gibi daha basit yöntemler iş görür mü?

  4. Yönetici hesabını ‘admin’den farklı yapmak gerektiğini biliyordum ama parola uzunluğu konusunda tereddütlerim var. 16 karakter gerçekten kaba kuvveti imkansız hale getirir mi, yoksa saldırganlar artık sözlük tabanlı denemelerle uzun parolaları da kırabiliyor mu? Deneyimlerinizi paylaşır mısınız?

  5. Sunucu tarafında PHP güncellemesi yaparken tema uyumluluğunu test etmek lazım, yoksa beyaz ekran hatası alınabiliyor.

  6. Hosting kaynaklı güvenlik açıklarını denetlemek için kullandığınız bir araç var mı? Ben kendi başıma PHP sürümünü kontrol ediyorum ama başka neye bakmalıyım, özellikle paylaşımlı hostingte riskler daha fazla diye duydum.

  7. Otomatik güncellemeler güzel, fakat e-ticaret sitelerinde işler biraz daha hassas. Ödeme eklentileri güncellenmeden WordPress güncellemesi yapmak sorun çıkarabiliyor, sizce önce eklentileri mi kontrol etmeliyiz, yoksa güvenlik yaması için beklememek mi daha önemli?

Yorum Yaz

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir