WordPress Sitelerde Virüs Belirtileri
Sitenizin ele geçirilip geçirilmediğini gösteren işaretler, şüpheyi doğrulama yöntemleri, saldırganların nereden girdiği, yedekten dönmenin sınırları ve kalıcı koruma katmanları.
WordPress siteleri, yaygınlığı nedeniyle otomatik saldırıların sık hedefidir. Saldırılar genellikle sizi hedef aldıkları için değil, tarama sırasında açık bulundukları için gerçekleşir. Ele geçirilen sitelerin çoğunda saldırgan görünürlük istemez; site normal çalışmaya devam ederken arka planda spam gönderir, ziyaretçileri yönlendirir veya arama sonuçlarına kendi bağlantılarını ekler.
Dikkat edilmesi gereken işaretler
Aşağıdakilerden biri bile görülüyorsa siteyi incelemek gerekir:
- Google arama sonuçlarında sitenizin altında sizin yazmadığınız açıklamalar görünüyor.
- Site mobilde veya belirli tarayıcılarda başka bir adrese yönleniyor — masaüstünde normal çalışıyor olması sizi yanıltmasın.
- Yönetici panelinde tanımadığınız kullanıcı hesapları var.
- Sunucudan gönderilen e-postalar spam olarak işaretlenmeye başladı.
- Site belirgin biçimde yavaşladı veya sunucu kaynak kullanımı arttı.
- Dosya yöneticisinde tarihi yakın, tanımadığınız PHP dosyaları var.
- Hosting sağlayıcınızdan olağan dışı trafik uyarısı geldi.
Mobilde yönlendirme özellikle sinsi bir belirtidir; site sahibi genellikle masaüstünden baktığı için haftalarca fark edilmeyebilir.
Şüpheyi nasıl doğrularsınız?
Belirtilerden biri görüldüğünde, paniğe kapılmadan önce birkaç somut kontrol yapılabilir. Bunlar teknik bilgi gerektirmeyen, herkesin uygulayabileceği adımlardır:
- Arama motorunda alan adınızı 'site:' önekiyle aratın. Sizin oluşturmadığınız sayfalar listeleniyorsa site üzerinden içerik yayınlanıyor demektir.
- Siteyi gerçek bir telefondan, hiç girmediğiniz bir tarayıcıyla ve oturum açmadan ziyaret edin. Yönlendirmeler genellikle giriş yapmış kullanıcıları ve bilinen ziyaretçileri atlar.
- Google Search Console'da güvenlik sorunları bölümünü kontrol edin. Bir bildirim varsa arama sonuçlarında uyarı gösteriliyor olabilir.
- Dosya yöneticisinde yüklemeler klasörünü inceleyin. Bu klasörde görsel ve belge dışında PHP dosyası bulunmaz; varsa neredeyse kesin olarak zararlıdır.
- Barındırma panelinden giden e-posta sayısına bakın. Sitenizin normalde gönderdiğinden çok daha yüksek bir rakam, sunucunun spam gönderdiğini gösterir.
Dosya tarihlerine bakarken dikkatli olun. Saldırganların bir kısmı yerleştirdiği dosyanın tarihini geriye çeker; yakın tarihli dosya bulamamak, temiz olduğunuz anlamına gelmez. Tarih yalnızca destekleyici bir işarettir, tek başına kanıt değildir.
Nereden giriyorlar?
Kaynak neredeyse her zaman aynı üç yerden biridir. Birincisi güncellenmemiş bir eklenti veya tema. Yayınlanmış bir açık, güncelleme çıktıktan sonra herkes tarafından bilinir hâle gelir; güncellemeyi yapmayan siteler kolay hedeftir.
İkincisi zayıf veya başka bir sitede sızmış bir yönetici parolası. Üçüncüsü ise aynı sunucuda barındırılan başka bir sitenin ele geçirilmiş olması; hesaplar birbirinden yalıtılmamışsa saldırgan yan siteye de geçebilir.
Üçüncü maddeyi özellikle vurgulamak gerekir. Aynı barındırma hesabında duran eski, artık kullanılmayan bir site — birkaç yıl önce yapılmış bir kampanya sayfası, bir test kurulumu — hiç güncellenmediği için en zayıf halka olur. Saldırgan oradan girer, ana sitenize yatay olarak geçer. Kullanılmayan kurulumların silinmesi, çalışan siteyi güncellemek kadar önemlidir.
Ayrıca lisanssız veya 'nulled' temalar önemli bir risk kaynağıdır; içlerine yerleştirilmiş arka kapılar, sitenin ilk günden itibaren açık olması anlamına gelir.
Şüphelendiğinizde ilk adımlar
- Mevcut durumun tam yedeğini alın — temizliğe başlamadan önce inceleme için gerekir.
- Tüm yönetici parolalarını, hosting panel ve FTP parolalarını değiştirin.
- Tanımadığınız kullanıcı hesaplarını kaldırın ve mevcut oturumları sonlandırın.
- Eklenti ve temaları kontrollü şekilde güncelleyin.
- Zararlı dosyaları temizleyin ve değiştirilmiş çekirdek dosyalarını orijinaliyle değiştirin.
- Giriş yolunu bulun ve kapatın.
En kritik adım sonuncusudur. Yalnızca zararlı kodu temizlemek yeterli değildir; giriş yolu kapatılmazsa aynı şey kısa sürede tekrarlar. Temizlik sonrası tekrar bulaşan sitelerin neredeyse tamamında sebep budur.
Yedekten geri dönmek çözüm mü?
İlk akla gelen refleks, siteyi eski bir yedekten geri yüklemektir. Bu bazen işe yarar, ama iki koşula bağlıdır. Birincisi, bulaşmanın ne zaman gerçekleştiğini biliyor olmanız gerekir. Saldırganlar genellikle sessiz kalır; bulaşma, fark edilmesinden haftalar önce olmuş olabilir. Bilmeden seçilen bir yedek, arka kapıyı da geri getirir.
İkincisi, yedeğin dönüldüğü tarih ile bugün arasındaki içerik ve sipariş verilerinin kaybolacağını kabul etmiş olmanız gerekir. E-ticaret sitelerinde bu genellikle kabul edilemez.
Pratikte en sağlıklı yol karma bir yaklaşımdır: WordPress çekirdeği, temalar ve eklentiler resmi kaynaklardan temiz kopyayla değiştirilir; veritabanı ve yükleme klasörü ise temizlenerek korunur. Böylece hem zararlı kodun büyük bölümünden kurtulunur hem de veri kaybı yaşanmaz.
Temizlik sonrası yapılması gerekenler
Site temizlendikten sonra iş bitmiş sayılmaz. Google Search Console üzerinden sitenizin güvenlik bildirimi alıp almadığını kontrol edin; almışsa temizlik sonrası yeniden inceleme talebinde bulunun. Arama sonuçlarındaki uyarı, temizlikten sonra otomatik olarak kalkmaz.
Ayrıca e-posta itibarınızı kontrol edin. Siteniz spam gönderdiyse sunucu IP adresiniz kara listelere girmiş olabilir ve bu, kurumsal e-postalarınızın da teslim edilmemesine yol açar.
Önlemek temizlemekten kolay
Düzenli güncelleme, güçlü ve benzersiz parola, çok adımlı doğrulama ve çalışan bir yedek — bu dördü, temizlik maliyetinin çok altında bir çabayla sorunların büyük bölümünü baştan engeller.
Buna ek olarak kullanılmayan eklenti ve temaları silin. Devre dışı bırakılmış bir eklenti bile, dosyaları sunucuda durduğu sürece açık taşıyabilir.
Bunların üstüne kurulabilecek birkaç katman daha var. Hiçbiri tek başına yeterli değildir, ama birlikte otomatik saldırıların büyük bölümünü baştan eler:
- Giriş denemelerini sınırlayın. Kaba kuvvet denemeleri, birkaç başarısız denemeden sonra engellendiğinde işlevsiz kalır.
- Yönetim panelindeki dosya düzenleyicisini kapatın. Bir hesap ele geçirildiğinde saldırganın kod yazabildiği en kolay yer burasıdır.
- Yükleme klasöründe PHP çalıştırmayı sunucu düzeyinde engelleyin. Yüklenen bir dosya çalıştırılamıyorsa, yüklenmiş olması tek başına zarar üretmez.
- Eklenti sayısını gerçekten ihtiyaç duyulanla sınırlayın. Her eklenti ayrı bir bakım yükü ve ayrı bir olası giriş noktasıdır.
- Sitenin barındırıldığı hesabın diğer sitelerden yalıtıldığını doğrulayın.
Son olarak temizliğin sınırını bilmek gerekir. Ele geçirilmiş bir sitede ödeme bilgisi veya kişisel veri işleniyorsa, iş yalnızca teknik bir temizlik değildir; verinin sızıp sızmadığının değerlendirilmesi ve gerekiyorsa bildirim yükümlülüğünün yerine getirilmesi gerekir. Bu noktada işi tahminle sürdürmek yerine destek almak doğru olur.