Güvenlik

WordPress güvenlik kontrol listesi

Bu WordPress güvenlik kontrol listesiyle en yaygın saldırı yollarını kapatın; güncellemelerden şifre yönetimine, güvenlik duvarından yedeklemeye kadar. Önceliklendirilmiş pratik çözümler.

Güvenlik

WordPress güvenliği neden her şeyden çok sizin alışkanlıklarınıza bağlıdır?

WordPress hack'lerinin çoğu karmaşık hatalardan veya gelişmiş saldırılardan değil, en basit hatalardan kaynaklanır: zayıf şifreler, güncellenmemiş eklentiler ve hassas dosyaların ihmal edilmesi. WordPress güvenliğini ciddiye almak istiyorsanız, önce saldırganın nereden girdiğini bilmeniz ve ardından bu yolları öncelik sırasına göre kapatmanız gerekir.

Bu makalede, WordPress güvenliği için pratik ve önceliklendirilmiş bir kontrol listesi hazırladım. Her bölüm net talimatlar, gerçek örnekler ve yaygın hatalar hakkında uyarılar içerir. Tüm işleri bir anda yapmanıza gerek yok; ilk bölümden başlayın ve sırayla ilerleyin.

Öncelik Bir: Şifre ve kimlik doğrulama ile giriş yollarını kapatma

Başarılı WordPress saldırılarının %80'inden fazlası giriş sayfası (wp-login.php) üzerinden gerçekleştirilir. Saldırgan, brute-force (şifre tahmin) saldırıları veya diğer sitelerden sızan şifreleri kullanarak yönetim paneline girmeye çalışır. Bu yüzden WordPress güvenliğinde ilk adım, tam olarak bu noktayı zorlaştırmaktır.

Tüm kullanıcılar için güçlü ve zorunlu şifreler

Site yöneticisinin şifresi 14 karakterden kısa olmamalı ve büyük harf, küçük harf, rakam ve sembol kombinasyonu içermelidir. Güvenli şifre üretmek için LastPass veya Bitwarden gibi araçları kullanabilirsiniz. Ayrıca wp-config.php dosyasında şifreyi varsayılan olarak güçlendirebilirsiniz:

define('WP_AUTO_UPDATE_CORE', true);
// Yönetim panelinden dosya düzenlemeyi devre dışı bırak
define('DISALLOW_FILE_EDIT', true);

Önemli not: Sitenizde birden fazla yazar varsa, rolleri mutlaka kontrol edin. Sadece içerik yayınlayan kullanıcılara "yönetici" değil "yazar" rolü verin. İhtiyaçtan yüksek her rol, ekstra bir risktir.

Giriş denemelerini sınırlama (Login Lockdown)

Limit Login Attempts Reloaded gibi bir eklenti kurun; böylece 3 ila 5 başarısız denemeden sonra IP adresi 15 dakika kilitlenir. Bu, brute-force saldırılarını pratik olarak etkisiz hale getirir. Önerilen ayarlar:

  • Maksimum izin verilen deneme: 3 kez
  • Kilit süresi: 15 dakika
  • IP ve User-Agent bazlı kilitleme

Yaygın hata: Birçok yönetici eklentiyi kurar ancak varsayılan ayarları değiştirmez. Bu eklentilerin varsayılanı genellikle 20 denemeye izin verir, bu da saldırgan için yeterlidir. Mutlaka sayıyı düşürün.

Yöneticiler için iki faktörlü kimlik doğrulama (2FA)

WordPress güvenliği için tek bir şey yapacaksanız, bunu yapın: tüm yönetici hesapları için 2FA'yı etkinleştirin. WP 2FA veya Google Authenticator gibi eklentileri kurun. Bu sayede şifre sızdırılsa bile, saldırgan tek kullanımlık kod olmadan giriş yapamaz.

Öncelik İki: Çekirdek, eklenti ve temaların düzenli güncellenmesi

Başarılı hack'lerin çoğu, eski eklentilerdeki bilinen güvenlik açıkları üzerinden gerçekleşir. Saldırgan siteleri tarayarak eski sürümleri bulur ve genel hatalardan yararlanır. Güncelleme, en basit ve en etkili savunma önlemidir.

Otomatik güncellemeleri etkinleştirme

wp-config.php dosyasına şu satırı ekleyerek WordPress çekirdeğinin otomatik güncellenmesini sağlayın:

define('WP_AUTO_UPDATE_CORE', true);

Eklentiler ve temalar için WordPress yönetim panelinden "Güncellemeler" bölümüne gidin ve "Otomatik güncelleme" seçeneğini etkinleştirin. Uyumluluk konusunda endişeliyseniz, en azından haftalık manuel kontrol için bir hatırlatıcı ayarlayın.

Devre dışı bırakılmış eklenti ve temaları silme

Devre dışı bırakılmış ancak silinmemiş bir eklenti hâlâ savunmasız olabilir. Saldırgan dosyalarını kullanabilir. Basit kural: Bir eklentiyi kullanmıyorsanız, sadece devre dışı bırakmayın, silin.

Yaygın hata: Birçok yönetici yıllardır güncellenmemiş eski eklentileri kurulu tutar. Bir eklenti 6 aydan uzun süredir güncellenmediyse, terk edilme olasılığı yüksektir ve bir alternatif bulmalısınız.

Öncelik Üç: Hassas dosya ve klasörlerin korunması

wp-config.php dosyası veritabanı bağlantı bilgilerini içerir ve sızdırılırsa tüm site risk altındadır. Ayrıca wp-content/uploads klasörü kullanıcı dosyalarının yüklendiği yerdir ve burada script çalıştırılmasını engellemelisiniz.

wp-config.php dosyasını htaccess ile kilitleme

Site kökündeki .htaccess dosyasına şu kodu ekleyerek yapılandırma dosyasına erişimi engelleyin:

<Files wp-config.php>
Order Allow,Deny
Deny from all
</Files>

Bu, wp-config.php dosyasına yapılan doğrudan tüm isteklerin 403 hatası almasını sağlar.

Yükleme klasöründe PHP çalıştırılmasını engelleme

wp-content/uploads klasöründe bir .htaccess dosyası oluşturun ve şu kodu ekleyin:

<FilesMatch "\.(php|php5|phtml)$">
Deny from all
</FilesMatch>

Bu, form yükleme yoluyla giren kötü amaçlı dosyaların çalıştırılmasını engeller.

Canlı ortamda hata gösterimini devre dışı bırakma

wp-config.php dosyasına şu ayarları ekleyerek PHP hatalarının kullanıcıya gösterilmesini engelleyin:

ini_set('display_errors', 0);
ini_set('log_errors', 1);
define('WP_DEBUG', false);

Hata gösterimi, saldırgana site yapısı hakkında değerli bilgiler verir.

Öncelik Dört: Düzenli yedekleme ve geri yükleme testi

Hiçbir güvenlik %100 değildir. Site hacklenirse, tek kurtuluş yolu sağlam bir yedektir. Yedek, dosyaları ve veritabanını içermeli ve ana sunucunun dışında bir yerde saklanmalıdır.

Önerilen yedekleme planı

  • Veritabanından günlük yedek (düşük hacim, hızlı)
  • Tüm dosyalardan haftalık yedek
  • Son 30 sürümün saklanması
  • S3 veya Google Drive gibi bulut depolamaya otomatik aktarım

UpdraftPlus veya BackWPup gibi eklentiler bu işi otomatikleştirir. Yedek hedefinin aynı sunucuda olmadığından emin olun; sunucu hacklenirse yedek de kaybolur.

Aylık geri yükleme testi

Hiç test edilmemiş bir yedeğin değeri yoktur. Ayda bir kez, yedeği bir test ortamında (localhost veya alt alan adı gibi) geri yükleyin ve sitenin sorunsuz çalıştığından emin olun. Bu iş 30 dakika sürer ancak olay gününde saatlerce zaman kazandırır.

Öncelik Beş: Güvenlik duvarı ve ağ düzeyinde koruma

Doğrudan yolları kapattıktan sonra sıra ağ düzeyinde korumaya gelir. Web uygulaması güvenlik duvarı (WAF), kötü amaçlı trafiği WordPress'e ulaşmadan önce filtreleyebilir.

Güvenlik duvarı çözümü seçimi

İki seçeneğiniz var: Wordfence gibi bir güvenlik duvarı eklentisi veya CDN ve güvenlik duvarı katmanı olarak Cloudflare. Siteniz paylaşımlı sunucudaysa eklenti daha iyi bir seçenektir. Özel sunucu veya VPS'niz varsa Cloudflare'i öneririm çünkü işlem yükünü sunucudan alır.

Cloudflare için önerilen ayarlar:

  • Saldırı sırasında "Under Attack Mode"u etkinleştirme
  • Bot Fight Mode'u etkinleştirme
  • Giriş sayfası için Rate Limiting kuralları ayarlama

Siteniz bulut altyapısında barındırılıyorsa, ServerNet gibi barındırma şirketinin sağladığı ve genellikle güvenlik duvarı ile DDoS koruması içeren güvenlik hizmetlerini kullanabilirsiniz.

Düzenli kötü amaçlı yazılım taraması

Wordfence gibi bir eklenti kurun ve haftalık taramayı etkinleştirin. Bu eklenti çekirdek dosyalarını orijinal sürümle karşılaştırır ve yetkisiz her değişikliği raporlar. Çekirdek dosyalarda bir değişiklik görürseniz, site enfekte olmuş demektir.

Öncelik Altı: Aktarım katmanı ve DNS güvenliği

SSL ve DNS, genellikle göz ardı edilen ancak WordPress güvenliğinde önemli rol oynayan iki katmandır.

SSL'yi etkinleştirme ve HTTPS'ye zorunlu geçiş

Let's Encrypt'ten ücretsiz SSL sertifikası alın ve zorunlu geçiş için .htaccess dosyasına şu kodu ekleyin:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

SSL'yi etkinleştirdikten sonra, WordPress ayarlarında site adresini https:// ile güncellediğinizden emin olun. Aksi takdirde, yönlendirme döngüsü (redirect loop) oluşur.

DNS koruması

Barındırma sağlayıcınızın varsayılan DNS'ini kullanıyorsanız, hesabınızın güçlü bir şifresi olduğundan ve 2FA'nın etkin olduğundan emin olun. DNS ele geçirme en tehlikeli saldırılardan biridir çünkü saldırgan site trafiğini kendi sunucusuna yönlendirebilir.

Özet: WordPress güvenliği yol haritası

WordPress güvenliği bir süreçtir, bir hedef değil. Bu kontrol listesiyle öncelik sırasına göre ilerleyin:

  1. Tüm yöneticiler için güçlü şifreler ve 2FA
  2. Giriş denemelerini sınırlama
  3. Çekirdek, eklenti ve temaların otomatik güncellenmesi
  4. Hassas dosyaları kilitleme ve yükleme klasöründe PHP çalıştırılmasını engelleme
  5. Günlük yedekleme ve aylık geri yükleme testi
  6. Güvenlik duvarı ve düzenli kötü amaçlı yazılım taraması
  7. Zorunlu SSL ve DNS koruması

Bugün sadece ilk üç maddeyi yaparsanız, yaygın saldırı yollarının %90'ını kapatmış olursunuz. Geri kalanını önümüzdeki haftalarda tamamlayın. Unutmayın: WordPress güvenliği bir günlük iş değildir, ancak bu kontrol listesiyle hacklenme riskini ciddi şekilde azaltabilirsiniz.

ServerNet Destek

ServerNet mühendislik ve yayın ekibi — altyapı, ağ ve web barındırma uzmanları.

Güvenlik Hizmetleri
Paylaş:

Yorumlar 0

Henüz yorum yok — ilk siz olun!

Yorum bırakın

İlgili hizmet

Güvenlik Hizmetleri

OSCP sertifikalı uzmanlarla sızma testi, altyapı sıkılaştırma ve 7/24 güvenlik izleme.