“Sitem hacklendi” diye gelen WordPress sitelerinde gördüğüm tablo çoğu zaman aynı: aylardır güncellenmemiş eklentiler, “admin” kullanıcı adı ve kolay bir parola, bir de lisanssız indirilen bir tema. Saldırganlar sitenizi özel olarak seçmiyor; bilinen açığı olan eklentileri otomatik araçlarla tarayıp buldukları her siteye giriyorlar. Bu yüzden güvenliğin büyük kısmı, bu otomatik taramalara takılmayacak kadar düzenli olmaktan ibaret.
En önemli üç adım: 1) WordPress çekirdeğini, temaları ve eklentileri güncel tutun. 2) Yönetici hesaplarında güçlü, benzersiz parola ve iki adımlı doğrulama kullanın. 3) Sunucu dışında duran, düzenli bir yedek alın. Geri kalan her şey bu üçünün üzerine gelir.
Temel
1. Her şeyi güncel tutun
WordPress çekirdeğinin küçük güvenlik güncellemeleri varsayılan olarak otomatik kuruluyor. Eklentiler ve temalar için de otomatik güncellemeyi açabilirsiniz (Eklentiler sayfasında her eklentinin yanında “Otomatik güncellemeleri etkinleştir” bağlantısı var). Büyük sitelerde önce bir test kopyasında denemek daha güvenli; küçük bir blog için otomatik güncelleme, güncellenmemiş kalmaktan çok daha az risk taşıyor.
2. Kullanılmayan eklenti ve temaları silin
Devre dışı bırakılmış bir eklentinin dosyaları sunucuda durmaya devam eder ve bazı açıklar devre dışı eklentilerde bile kullanılabilir. Kullanmıyorsanız silin. Varsayılan temalardan yalnızca bir tanesini yedek olarak tutun.
3. Eklentiyi indirmeden önce bakın
- Son güncellemesi ne zaman yapılmış? İki yıldır güncellenmeyen bir eklenti büyük olasılıkla terk edilmiş.
- Aktif kurulum sayısı ve destek forumundaki cevaplar.
- Lisanssız (“nulled”) tema ve eklentiler: Ücretli bir eklentinin ücretsiz dağıtılan kopyaları, zararlı kodun en yaygın taşıyıcılarından. Hiçbir şekilde kullanmayın.
Hesaplar
4. “admin” kullanıcı adını kullanmayın
Otomatik saldırıların ilk denediği kullanıcı adı. Kurulumda farklı bir kullanıcı adı seçin; varsa yeni bir yönetici hesabı açıp içeriği ona aktarın ve eskisini silin. Ayrıca yazar arşiv adresinin (/author/kullanici-adi/) giriş kullanıcı adınızı ele vermediğinden emin olun; “Herkese açık görünen ad” ile kullanıcı adı farklı olsun.
5. Güçlü parola ve iki adımlı doğrulama
Parola yöneticisiyle üretilmiş, en az 16 karakterlik benzersiz bir parola. Üzerine iki adımlı doğrulama (2FA): Wordfence Login Security ya da Two Factor gibi ücretsiz eklentiler kimlik doğrulayıcı uygulama desteği sunuyor.
6. Rolleri doğru verin
Yazı yazan birine “Yönetici” değil “Yazar” ya da “Editör” rolü verin. Yönetici sayısını en aza indirin. Ayrılan kişilerin hesabını silin ya da rolünü düşürün.
7. Giriş denemelerini sınırlayın
Kaba kuvvet (brute force) saldırılarına karşı giriş denemelerini sınırlayan bir eklenti ya da sunucu tarafında fail2ban kuralı kullanın. Cloudflare gibi bir hizmet kullanıyorsanız wp-login.php için ek koruma kuralları tanımlayabilirsiniz.
Yapılandırma
8. Panelden dosya düzenlemeyi kapatın
Yönetici hesabı ele geçirilirse saldırganın ilk yapacağı şeylerden biri, tema düzenleyiciden zararlı kod eklemek. wp-config.php dosyasına şu satırı ekleyin:
define( 'DISALLOW_FILE_EDIT', true );
9. XML-RPC’yi kapatın (kullanmıyorsanız)
xmlrpc.php, eski mobil uygulamalar ve bazı entegrasyonlar için kullanılan bir arayüz; kaba kuvvet saldırılarında da sık hedef alınıyor. Jetpack gibi buna ihtiyaç duyan bir eklenti kullanmıyorsanız kapatabilirsiniz. Küçük bir eklentiyle ya da tema dosyası yerine bir “must-use” eklentiyle:
add_filter( 'xmlrpc_enabled', '__return_false' );
10. Dosya izinleri ve HTTPS
Dosyalar genellikle 644, klasörler 755, wp-config.php 600 ya da 640 olmalı. Hiçbir şeye 777 izni vermeyin. Siteniz tamamen HTTPS üzerinden çalışmalı; yönetim paneli için FORCE_SSL_ADMIN ayarı da açık olsun.
Hazırlık
11. Yedek: sunucunun dışında, düzenli, test edilmiş
Veritabanı ve wp-content klasörü en az haftada bir, sık güncellenen sitelerde her gün. Yedeği aynı sunucuda tutmak, sunucu ele geçirildiğinde yedeği de kaybetmek demek. Genel yedekleme stratejisini KOBİ yedekleme rehberinde anlattım.
12. İzleme
- Search Console: Google sitenizde zararlı yazılım ya da spam tespit ederse “Güvenlik sorunları” bölümünde bildirir. Kurulumu yeni site için SEO temelleri yazısında.
- Çalışma süresi izleme: Siteniz kapandığında e-posta ya da bildirim gönderen ücretsiz hizmetler var.
- Dosya bütünlüğü: WP-CLI ile çekirdek dosyalarının değiştirilip değiştirilmediğini kontrol edebilirsiniz:
wp core verify-checksums
wp plugin verify-checksums --all
Site hacklendiyse
- Panik yapmadan kayıt alın: Neler gördüğünüzü, tarih ve saatleri not edin; mevcut hâlin bir yedeğini alın (sonradan inceleme için).
- Bütün parolaları değiştirin: WordPress yöneticileri, hosting paneli, FTP/SFTP, veritabanı.
wp-config.phpiçindeki güvenlik anahtarlarını (salt) yenileyin; bu, açık oturumların hepsini kapatır. - Temiz kaynaktan yeniden kurun: WordPress çekirdeğini, eklentileri ve temayı resmî kaynaklardan yeniden indirin.
wp-content/uploadsklasöründe.phpdosyası olmamalı. - Veritabanını kontrol edin: Tanımadığınız yönetici hesapları, yazılara eklenmiş gizli bağlantılar ve
wp_optionstablosundaki şüpheli değerler. - Açığı kapatın: Hangi eklenti ya da parola üzerinden girildiğini bulmadan temizlik yarım kalır.
- Google’a bildirin: Search Console’da güvenlik sorunu varsa temizlikten sonra “İnceleme iste” ile yeniden değerlendirme talep edin.
Sık sorulan sorular
Güvenlik eklentisi şart mı?
Tek başına yeterli değil, ama giriş koruması, 2FA ve dosya taraması için ücretsiz sürümler iyi bir destek. Birden fazla güvenlik eklentisini aynı anda kullanmayın; çakışıp siteyi yavaşlatabilirler.
Paylaşımlı hostingde güvenlik mümkün mü?
Evet, bu listenin tamamı paylaşımlı hostingde de uygulanabilir. Hosting firmasının hesapları birbirinden yalıttığından (her site ayrı kullanıcı) emin olun.
Giriş adresini (/wp-admin) değiştirmek işe yarar mı?
Otomatik taramaların gürültüsünü azaltır ama gerçek koruma değildir. Güçlü parola ve 2FA varsa ek bir katman olarak düşünülebilir.
WordPress, diğer sistemlerden daha mı güvensiz?
Çekirdeği iyi bakımlı ve güvenlik ekibi aktif. Sorunların büyük kısmı eklenti ve temalardan ve bakımsızlıktan kaynaklanıyor. Popülerliği, saldırganlar için cazip bir hedef olmasının asıl sebebi.
WordPress sitenizin güncellemelerini, yedeğini ve güvenlik kontrollerini düzenli olarak bize bırakmak isterseniz Burgaz Bilişim’in web sitesi bakımı ve güncelleme sayfasına göz atabilirsiniz.