WordPress dünyanın en yaygın içerik yönetim sistemi olduğu için saldırganların da bir numaralı hedefi. Çoğu ihlal sıfırıncı gün açıklarından değil; güncellenmemiş eklentilerden, zayıf parolalardan ve gözden kaçan dosya izinlerinden kaynaklanıyor. Aşağıda hem sunucu hem uygulama katmanında uygulayabileceğiniz, sahada karşılığı olan korumaları topladık.
Saldırı Yüzeyini Anlamak
Bir WordPress kurulumunda riskin büyük bölümü çekirdek dosyalarında değil, etrafındaki ekosistemde toplanır. wp-login.php ve xmlrpc.php brute force ile sürekli yoklanır, eklenti ve tema kodları SQL injection veya XSS taşıyabilir, yanlış yapılandırılmış dosya izinleri ise yüklenen bir kabuk dosyasının tüm siteyi ele geçirmesine yol açabilir. Korumayı katmanlı düşünmek, tek bir önlemin başarısız olduğunda bile sızıntıyı sınırlar.
Pratikte saldırılar üç ana koldan gelir: kimlik doğrulama yüzeyine yönelik otomatik denemeler, yazılım açıklarını hedefleyen botlar ve sunucu yapılandırmasındaki zafiyetleri tarayan jenerik araçlar. Bunların hiçbiri kişisel değildir; çoğu durumda binlerce siteyi aynı anda tarayan otomatik sistemlerdir. Bu yüzden savunmanın da otomatik, kalıcı ve sürdürülebilir olması gerekir.
Çekirdek, Eklenti ve Tema Güncellemeleri
İstismar edilen açıkların önemli bölümü, yaması aylar önce yayımlanmış bileşenlere ait. Otomatik küçük sürüm güncellemeleri zaten varsayılan olarak açıktır; ana sürümler ve eklentiler için de otomatik güncellemeyi etkinleştirebilirsiniz. wp-config.php içine eklenecek tek satır çekirdek için tüm güncellemeleri açar:
define( 'WP_AUTO_UPDATE_CORE', true );
# WP-CLI ile eklenti ve temaları toplu güncelleme
wp plugin update --all
wp theme update --all
wp core updateKullanmadığınız eklenti ve temaları yalnızca devre dışı bırakmayın, tamamen silin; pasif bir eklenti bile dosya sisteminde durduğu sürece doğrudan çağrılarak istismar edilebilir.
Eklenti seçerken kaynağına dikkat edin. Resmî depo dışından, nulled veya korsan sürümlerle dağıtılan premium eklentilerin önemli bölümü gizli arka kapı kodu taşır. Bir eklentinin son güncelleme tarihine, aktif kurulum sayısına ve geliştiricisinin desteğe yanıt verip vermediğine bakmak, ileride başınıza açılacak çoğu dertten daha en başta kurtulmanızı sağlar.
Giriş Noktalarını Sertleştirme
Yönetici girişi en sık hedeflenen yüzeydir. Birkaç basit ayar otomatik saldırıların ezici çoğunluğunu eler:
- Admin kullanıcı adını değiştirin: Varsayılan
adminhesabını kullanmayın, tahmini güç kullanıcı adları seçin. - İki faktörlü doğrulama: WP 2FA veya benzeri bir eklentiyle TOTP tabanlı doğrulamayı zorunlu kılın.
- Deneme sınırlaması: Limit Login Attempts türü bir çözümle ardışık başarısız girişlerde IP'yi geçici engelleyin.
- xmlrpc.php kapatın: Jetpack veya mobil uygulama kullanmıyorsanız bu uç noktayı tamamen engelleyin.
Sunucu seviyesinde, wp-login.php erişimini belirli IP'lerle sınırlamak güçlü bir önlemdir. LiteSpeed veya Apache için .htaccess örneği:
<Files wp-login.php>
Require ip 203.0.113.10
Require ip 198.51.100.0/24
</Files>
# xmlrpc.php tümüyle engelle
<Files xmlrpc.php>
Require all denied
</Files>Dosya İzinleri ve wp-config Koruması
Doğru dosya izinleri, yüklenen kötü amaçlı bir dosyanın çalıştırılmasını veya yapılandırmanın okunmasını engeller. Genel kural olarak dizinler 755, dosyalar 644 olmalı; wp-config.php ise mümkünse 640 ya da 600 ile daha sıkı tutulmalı.
find /home/site/public_html -type d -exec chmod 755 {} \;
find /home/site/public_html -type f -exec chmod 644 {} \;
chmod 640 /home/site/public_html/wp-config.phpwp-uploads dizininde PHP çalıştırmayı engellemek de kritik bir adımdır; böylece uploads klasörüne sızdırılan bir .php dosyası asla yürütülemez:
# wp-content/uploads/.htaccess
<FilesMatch "\.php$">
Require all denied
</FilesMatch>Veritabanı ve Yapılandırma Önlemleri
Kurulum sırasında varsayılan wp_ tablo önekini değiştirmek, otomatik SQL injection denemelerini zorlaştırır. Güvenlik anahtarlarını (AUTH_KEY, SECURE_AUTH_KEY vb.) WordPress'in resmî secret-key üreticisinden alıp düzenli olarak yenilemek, çalınan oturum çerezlerini geçersiz kılar. Ayrıca yönetim panelinden dosya düzenleyiciyi kapatmak, ele geçirilen bir hesabın doğrudan tema/eklenti koduna kötü amaçlı PHP yazmasını engeller:
define( 'DISALLOW_FILE_EDIT', true );
define( 'DISALLOW_FILE_MODS', true );Veritabanı kullanıcısına yalnızca o siteye ait şemada yetki verin; tek bir MySQL hesabını birden çok site arasında paylaştırmak, bir sitedeki ihlalin diğerlerine sıçramasına zemin hazırlar. Mümkün olduğunda her WordPress kurulumu için ayrı bir veritabanı ve ayrı bir kullanıcı tanımlayın.
WAF, SSL ve Sunucu Katmanı
Uygulama sertleştirmesi tek başına yeterli değildir; trafiğin sunucuya ulaşmadan filtrelenmesi en etkili kalkandır. Bir web uygulama güvenlik duvarı (WAF) bilinen exploit imzalarını, kötü botları ve katman 7 saldırılarını kaynağa varmadan eler. Cloudflare gibi bir önbellek/WAF katmanı ile birlikte origin tarafında ModSecurity kurallarını da etkin tutmak yaygın bir yaklaşımdır. Tüm trafiğin HTTPS üzerinden aktığından emin olun ve HSTS başlığını ekleyin.
İzole ve güncellenebilir bir altyapı bu önlemlerin tamamını mümkün kılar. Performans odaklı, LiteSpeed ve günlük yedeklerle gelen bir WordPress hosting paketi çoğu küçük ve orta ölçekli site için yeterli koruma sağlar; trafiği yüksek ya da özel güvenlik kuralları gereken projelerde kök erişimine sahip bir sanal sunucu üzerinde fail2ban ve özelleştirilmiş firewall kurallarıyla çok daha sıkı bir yapı kurabilirsiniz.
Bogahost Önerisi: Güvenlik önlemlerini canlı sitede denemeden önce bir staging kopyası oluşturun; özellikle
.htaccessve dosya izni değişiklikleri yanlış uygulandığında siteyi erişilemez hale getirebilir.Yedekleme ve İzleme
En iyi sertleştirme bile bir gün aşılabilir; bu yüzden geri dönüş planı şarttır. Otomatik, sürüm tutan ve site dışında saklanan yedekler olmadan hiçbir güvenlik stratejisi tamam sayılmaz. Dosya bütünlüğü taraması yapan eklentiler (örneğin Wordfence veya Sucuri) çekirdek dosyalarındaki yetkisiz değişiklikleri yakalar ve şüpheli oturumları bildirir.
- Günlük + haftalık yedek: Hem dosya hem veritabanını ayrı tutun, en az bir kopya farklı bir lokasyonda olsun.
- Geri yükleme tatbikatı: Yedeği yılda birkaç kez gerçekten geri yükleyerek çalıştığını doğrulayın.
- Log takibi: Başarısız giriş ve 404 yoğunluğundaki ani artışları izleyin; çoğu durumda saldırının erken sinyalidir.
Önlemlerin Karşılaştırması
Önlem Engellediği Saldırı Uygulama Zorluğu Otomatik güncelleme Bilinen açık istismarı Düşük 2FA + giriş limiti Brute force / kimlik bilgisi doldurma Düşük Dosya izinleri & uploads PHP engeli Web shell yürütme Orta WAF (Cloudflare / ModSecurity) Katman 7, bot, exploit imzaları Orta Düzenli yedek & bütünlük taraması İhlal sonrası kurtarma Orta Özetle
WordPress güvenliği tek bir eklentiyle değil, üst üste binen katmanlarla sağlanır: güncel kod, sertleştirilmiş giriş, sıkı dosya izinleri, sunucu önündeki WAF ve güvenilir yedekler. Bu adımları bir kez kurup ardından düzenli kontrol alışkanlığına dönüştürdüğünüzde, sitenizi hedefleyen otomatik saldırıların neredeyse tamamı kaynağa ulaşmadan elenecektir.
Reklam Alanı
İçerik Altı (728x90)
Yorumlar (0)
Henüz yorum yapılmamış. İlk yorumu siz yapın!
Yorum Yap