WordPress Güvenliği: Site Hacklenmeden Önce Alınması Gereken 12 Önlem
WordPress siteleri sık hedef alınır. Güncellemeler, 2FA, güvenlik eklentisi ve dosya izinleri dahil 12 kritik önlem rehberi.
WordPress Neden Hedef Alınır?
WordPress, dünya genelinde web sitelerinin yaklaşık %43'ünü oluşturduğundan, siber saldırganların en büyük hedeflerinden biridir. Açık kaynaklı yapısı, geniş eklenti ekosistemi ve yaygın kullanımı WordPress'i hem güçlü hem de potansiyel güvenlik açıklarına karşı hassas kılar. Günde milyonlarca WordPress sitesi otomatik tarama botları tarafından tarıyor; eski eklentiler, zayıf şifreler ve yanlış yapılandırmalar saldırganlara kapı aralıyor.
İyi haber şu: Doğru güvenlik önlemleri alındığında WordPress oldukça güvenli bir platform olabilir. Aşağıdaki 12 önlem, sitenizi hacklenme riskine karşı önemli ölçüde koruyacaktır.
12 Kritik WordPress Güvenlik Önlemi
1. WordPress Çekirdeğini, Eklentileri ve Temayı Güncel Tutun
WordPress güvenlik açıklarının büyük çoğunluğu güncel olmayan eklentilerden kaynaklanır. Güncellemeleri otomatik yapmak için wp-config.php'ye ekleyin:
define('WP_AUTO_UPDATE_CORE', true);
# veya WP-CLI ile toplu güncelleme:
wp core update
wp plugin update --all
wp theme update --all
2. Güçlü Şifre Kullanın ve Varsayılan "admin" Kullanıcısını Silin
Saldırganların ilk denediği kullanıcı adı "admin"dir. Bunu mutlaka değiştirin:
# WP-CLI ile admin kullanıcısını değiştir:
wp user update 1 --user_login=yeni_kullanici
# Şifreyi güvenli bir şekilde sıfırla (en az 16 karakter, büyük/küçük harf + sembol):
wp user update 1 --user_pass="Guc!u_S1fr3_2024"
3. Login URL'sini Değiştirin
Varsayılan /wp-admin ve /wp-login.php URL'lerini değiştirmek brute force saldırılarını azaltır. WPS Hide Login eklentisiyle kolayca yapılabilir:
- Eklentiler → WPS Hide Login → Yeni giriş URL'si belirleyin (örn.
/giris-yap-2024)
4. İki Faktörlü Kimlik Doğrulama (2FA) Aktifleştirin
2FA, şifre çalınsa bile hesabı koruyan en etkili yöntemlerden biridir. Wordfence Login Security veya Google Authenticator eklentileri kullanılabilir:
- Wordfence → Login Security → Enable 2FA for administrator
5. Güvenlik Eklentisi Kurun (Wordfence veya Sucuri)
Wordfence (ücretsiz sürümü bile çok kapsamlı):
- Web Application Firewall (WAF)
- Malware scanner
- Login attempt limiting
- Gerçek zamanlı IP blacklist
wp plugin install wordfence --activate
6. Dosya İzinlerini Doğru Ayarlayın
WordPress dosya izinleri için güvenli standartlar:
# Dizinler için 755, dosyalar için 644:
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;
# wp-config.php için daha kısıtlayıcı:
chmod 440 /var/www/html/wp-config.php
# wp-content/uploads için yazma izni:
chmod 755 /var/www/html/wp-content/uploads
7. wp-config.php'yi Koruyun
wp-config.php'yi web üzerinden erişilemez yapın. .htaccess'e ekleyin:
order allow,deny
deny from all
Ayrıca wp-config.php'yi web kök dizininin bir üst dizinine taşıyabilirsiniz; WordPress otomatik bulur.
8. XML-RPC'yi Devre Dışı Bırakın
XML-RPC modern WordPress'te nadiren kullanılır ama brute force ve DDoS amplifikasyon saldırılarında kullanılır. .htaccess'e ekleyin:
order deny,allow
deny from all
9. Kullanılmayan Eklenti ve Temaları Silin
Devre dışı bırakmak yeterli değildir; kullanılmayan eklenti ve temalar güvenlik açığı olmaya devam eder. WP-CLI ile toplu silme:
wp plugin delete $(wp plugin list --status=inactive --field=name)
wp theme delete $(wp theme list --status=inactive --field=name)
10. Giriş Denemelerini Sınırlayın
Limit Login Attempts Reloaded eklentisiyle veya Wordfence aracılığıyla brute force koruması sağlayın:
- Maksimum giriş denemesi: 3-5
- Kilit süresi: 30 dakika ile başlayın, tekrar deneme sonrası 24 saat
Nginx seviyesinde rate limiting:
limit_req_zone $binary_remote_addr zone=wp_login:10m rate=1r/m;
location = /wp-login.php {
limit_req zone=wp_login burst=3 nodelay;
}
11. SSL Sertifikası Kullanın ve HTTPS Zorlayın
HTTP üzerinden giriş yapmak şifrenizi açık ağda ifşa eder. .htaccess veya wp-config.php'de HTTPS zorlayın:
define('FORCE_SSL_ADMIN', true);
12. Düzenli Yedek Alın
Herhangi bir güvenlik önlemi %100 garanti vermez. Düzenli yedek, saldırı sonrası hızlı kurtarma imkanı sağlar:
# WP-CLI ile yedek:
wp db export backup_$(date +%Y%m%d).sql
# Dosyaları yedekle:
tar -czf wp_files_$(date +%Y%m%d).tar.gz /var/www/html/
UpdraftPlus eklentisiyle otomatik yedekleri Google Drive, Dropbox veya S3'e gönderin.
Özet: Öncelikli Adımlar
- Hemen yapın: güncelleme, güçlü şifre, "admin" kullanıcısını değiştirme, 2FA
- Bu hafta yapın: güvenlik eklentisi, XML-RPC engelleme, dosya izinleri
- Bu ay yapın: login URL değiştirme, giriş limiti, düzenli yedek sistemi kurma
- WPScan ile sitenizi düzenli olarak tarayın:
wpscan --url https://example.com --enumerate
İlgili Makaleler
Yorumlar
Henüz yorum yok. İlk yorumu siz yapın!