WordPress Siteme Virüs Bulaştı: Ne Yapmalıyım?

WordPress sitenize virüs bulaştığını düşünüyorsanız ilk hedef, rastgele dosya silmek değil zararı sınırlamak ve kanıtı korumaktır. Yönlendirme, spam sayfaları, bilinmeyen yönetici hesapları veya güvenlik uyarıları farklı saldırı türlerine işaret edebilir. Eksik müdahale görünürdeki sorunu kaldırsa bile arka kapıyı bırakabilir.

Önce belirtileri ve zamanı kaydedin

WordPress.org’un hacklenmiş site rehberi ilk adımlardan biri olarak durumu belgelemeyi önerir. Ne zaman fark ettiniz? Hangi URL başka yere yönlendiriyor? Hosting veya tarayıcı hangi uyarıyı verdi? Son dönemde hangi eklenti güncellendi?

Ekran görüntüleri, güvenlik e-postaları ve sunucu logları saldırının kapsamını anlamaya yardımcı olur. Temizliğe başlamadan önce mevcut dosya ve veritabanının yedeğini alın. Bu yedek daha sonra doğrudan yayına dönmek için değil, inceleme ve veri kurtarma için saklanmalıdır.

Siteyi gerektiği kadar izole edin

Site ziyaretçilere zararlı dosya dağıtıyor, kimlik bilgisi topluyor veya başka sayfalara yönlendiriyorsa erişimi geçici olarak sınırlandırmak gerekebilir. Bakım sayfası yeterli olabilir; daha ciddi durumda hosting sağlayıcısından hesabı izole etmesini isteyin.

Aynı hosting hesabındaki diğer siteleri de kontrol edin. Paylaşılan kullanıcı, dosya izinleri veya bulaşmış bir hesap nedeniyle sorun tek kurulumla sınırlı olmayabilir.

Parolaları hemen ve doğru sırayla değiştirin

WordPress yönetici, hosting paneli, SFTP/FTP, veritabanı ve ilişkili e-posta hesaplarını gözden geçirin. Bilinmeyen yöneticileri kaldırın; tanınmayan oturumları sonlandırın. Parolaları temiz ve güvenilir bir cihazdan değiştirin.

Ancak yalnızca parola değişikliği virüsü temizlemez. WordPress rehberi, site temizlendikten sonra parolaların yeniden değiştirilmesini de önerir. Çünkü ilk değişiklik sırasında saldırganın erişimi veya zararlı kod hâlâ aktif olabilir.

Temiz bir yedek var mı, doğrulayın

Olaydan önce alınmış, çalıştığı bilinen bir yedek en hızlı kurtarma yolu olabilir. Yine de yedeğin tarihi, içerdiği kullanıcılar ve eklenti sürümleri kontrol edilmelidir. Bulaşma yedekten daha eskiyse geri yükleme zararlı kodu yeniden taşır.

Yedek geri yüklense bile saldırıya yol açan açık kapatılmadan iş bitmiş sayılmaz.

WordPress çekirdeğini, eklentileri ve temayı güvenilir kaynaktan yenileyin

WordPress çekirdek dosyaları resmî paketle karşılaştırılabilir veya temiz kopyayla değiştirilebilir. Aynı yaklaşım, bilinen kaynaktan edinilmiş eklenti ve temalar için de geçerlidir. Nulled tema/eklenti, kullanılmayan uzantılar ve kaynağı belirsiz dosyalar kaldırılmalıdır.

wp-content/uploads içinde PHP dosyaları, beklenmeyen yönetici kullanıcıları, zamanlanmış görevler, değiştirilmiş .htaccess, wp-config.php, tema functions.php ve bilinmeyen mu-plugin dosyaları özellikle incelenir. Bunlar yalnızca kontrol noktalarıdır; tek bir dosyayı silmek tüm saldırıyı gidermez.

Veritabanını da kontrol edin

Zararlı içerik her zaman dosyada bulunmaz. Veritabanında spam bağlantıları, değiştirilmiş site adresi, şüpheli yönetici kaydı, enjekte edilmiş JavaScript veya bilinmeyen seçenekler bulunabilir. Yazılar, widget alanları ve tema ayarları da incelenmelidir.

Temizlik sırasında SQL üzerinde doğrudan işlem yapılacaksa önce yedek alınmalı ve değişiklikler kayıt altına alınmalıdır.

Arka kapıyı ve bulaşma kaynağını bulmadan yayına dönmeyin

Virüs temizleme ile kök neden analizi aynı işin iki parçasıdır. Güncel olmayan eklenti, zayıf parola, çalınmış yönetici oturumu, yanlış dosya izni veya aynı hosting hesabındaki başka bir site başlangıç noktası olabilir.

Kaynak belirlenmezse site temiz göründükten kısa süre sonra yeniden bulaşabilir. Güvenlik taraması, erişim logları ve dosya değişiklik zamanları birlikte değerlendirilmelidir.

Temizlikten sonra yapılacaklar

  • WordPress, tema ve eklentileri desteklenen güncel sürümlere yükseltin.
  • Kullanılmayan yönetici hesaplarını, eklentileri ve temaları kaldırın.
  • Yönetici hesaplarında çok faktörlü doğrulama kullanın.
  • Dosya izinlerini ve hosting kullanıcılarını gözden geçirin.
  • Otomatik, site dışı ve düzenli test edilen yedekleme kurun.
  • Güvenlik ve uptime izleme bildirimlerini açın.
  • Search Console’daki güvenlik sorunlarını kontrol edin; uyarı varsa temizlik sonrası inceleme talep edin.
  • Önbellek ve CDN’i temizleyip siteyi farklı cihazlardan yeniden test edin.

Neleri yapmamak gerekir?

İnternetten bulunan rastgele bir “temizleme” kodunu çalıştırmayın. Kaynağını bilmediğiniz eklenti kurmayın. Sadece ana sayfayı kontrol edip sorun bitti sanmayın. Saldırı sırasında alınmış yedeği üretime geri döndürmeden önce inceleyin. Güvenlik uyarısını gizlemeye çalışmak yerine nedenini giderin.

Temizlik mi, temiz kurulum mu?

Karar bulaşmanın kapsamına ve eldeki kanıta göre verilmelidir. WordPress çekirdeği ve ücretsiz eklentiler güvenilir kaynaktan yeniden kurulabilir. Ancak özel tema değişiklikleri, kullanıcı yüklemeleri ve işletmeye ait veriler körlemesine silinemez. Temiz kurulum yaklaşımında bile uploads klasörü ve veritabanı incelenmeden taşınırsa zararlı kod yeni ortama taşınabilir.

Dosya bazlı temizlikte ise yalnızca tarayıcının bulduğu imzaları silmek yeterli değildir. Resmî çekirdek checksum karşılaştırması, eklenti ve tema kaynaklarının doğrulanması, son değişen dosyalar, çalıştırılabilir yüklemeler ve kalıcılık mekanizmaları birlikte ele alınmalıdır. Ticari eklentilerin orijinal paketleri yoksa “temiz” kopyanın nereden geldiği ayrıca belgelenmelidir.

E-ticaret ve kişisel veri varsa ek olarak ne yapılmalı?

Olay yalnızca teknik kesinti olarak görülmemelidir. Sipariş, müşteri, iletişim formu veya üyelik verisi bulunan sitelerde hangi veriye erişilmiş olabileceği değerlendirilmelidir. Ödeme çoğu zaman üçüncü taraf sağlayıcıda işlense bile yönetici oturumları, müşteri adresleri veya sipariş kayıtları etkilenmiş olabilir.

Logların saklama süresi kısa olabileceği için erişim kayıtlarını erken kopyalayın. Olay zaman çizelgesini, etkilenen hesapları ve alınan aksiyonları kaydedin. Hukuki bildirim gerekip gerekmediği; işletmenin bulunduğu ülke, veri türü ve olayın kapsamına göre yetkili hukuk veya uyum uzmanıyla değerlendirilmelidir.

Sitenin yeniden açılma kontrolü

Canlıya dönüşten önce temiz bir cihaz ve farklı kullanıcı rolleriyle ana sayfa, önemli hizmet sayfaları, formlar, giriş, ödeme ve e-posta akışları test edilmelidir. Kaynak kodunda istenmeyen betikler, bilinmeyen harici alan adları ve mobil yönlendirmeler kontrol edilmelidir. CDN, sunucu ve eklenti önbellekleri temizlenmeli; eski zararlı yanıtın ziyaretçilere sunulmadığı doğrulanmalıdır.

Son kontrol tek seferlik değildir. İlk günlerde dosya değişimleri, başarısız girişler, yeni yönetici hesapları, dış bağlantılar, işlemci kullanımı ve Search Console uyarıları daha sık izlenmelidir. Yeniden bulaşma belirtisi görülürse site tekrar izole edilmeli ve ilk incelemede kaçan erişim yolu araştırılmalıdır.

Olay dosyasında neler bulunmalı?

İlk belirti zamanı, alınan yedeklerin hash ve konumu, değiştirilen parolalar, şüpheli IP ve kullanıcılar, temizlenen dosyalar, yenilenen paketler ve yapılan testler tek bir kayıtta tutulmalıdır. Bu kayıt hem geri dönüş gerektiğinde hem de benzer olay tekrarlandığında karşılaştırma sağlar. Parolalar raporun içine yazılmamalı; güvenli parola yöneticisinde saklanmalıdır.

Temizlik sırasında hangi dosyanın neden kaldırıldığı belgelenirse tema veya eklenti işlevinin yanlışlıkla bozulması daha kolay teşhis edilir. İşletme, teknik ekip ve hosting sağlayıcısı aynı zaman çizelgesini kullandığında eksik veya çelişkili müdahaleler azalır.

Sorunun kapsamını güvenli biçimde belirlemek, siteyi temizlemek ve yeniden bulaşma riskini azaltmak için WordPress virüs temizleme ve güvenlik desteğimizi inceleyebilirsiniz.