WordPress Siteleri Neden Hacklenir

Dünyadaki tüm web sitelerinin %40'ından fazlasına güç veren WordPress, popülerliği nedeniyle siber korsanların ve zararlı yazılımların (malware) bir numaralı hedefi konumundadır. Açık kaynak kodlu bu ekosistemde, sitenize virüs bulaşması dünyanın sonu değildir; ancak hızlı ve profesyonel müdahale gerektirir.
WordPress sitelerine virüs bulaşmasının en yaygın nedenleri arasında güncellenmemiş eklenti ve temalar, warez (nulled/korsan) tema kullanımı, zayıf admin şifreleri ve kalitesiz barındırma (hosting) hizmetleri yer alır. Siteniz hacklendiğinde yalnızca prestij kaybetmezsiniz; aynı zamanda Google arama sonuçlarından silinebilir (kara listeye alınma), reklam gelirleriniz düşebilir ve hosting firmanız sitenizi tamamen askıya alabilir.
Bu rehberde, teknik bilgi seviyeniz ne olursa olsun, bir uzman gibi WordPress virüs temizleme işlemlerini nasıl gerçekleştireceğinizi tüm detaylarıyla öğreneceksiniz.
WordPress Sitenize Virüs Bulaştığını Nasıl Anlarsınız? (Belirtiler)
Sitenizde bir şeylerin ters gittiğini anlamanın birden fazla yolu vardır. Bazı virüsler kendilerini gizlerken, bazıları sitenizi tamamen kullanılmaz hale getirir. İşte en yaygın hacklenme belirtileri:
- Google Güvenli Tarama Uyarıları: Sitenize girmeye çalıştığınızda kırmızı bir ekranla "Bu site saldırıya uğramış olabilir" veya "Gideceğiniz site zararlı yazılım içeriyor" uyarısı almak.
- İstenmeyen Yönlendirmeler: Sitenize tıklayan ziyaretçilerin bahis, yetişkin içerikli veya sahte ödül sitelerine yönlendirilmesi.
- Beyaz Ekran Hatası (White Screen of Death): Sitenizin ve admin panelinizin tamamen beyaz bir ekrana dönüşmesi, hiçbir hata kodu göstermemesi.
- Arama Sonuçlarında Yabancı Karakterler: Google'da sitenizi arattığınızda Japonca, Çince veya Rusça alakasız başlıklar ve açıklamalar görmek (Japonca SEO Spamı).
- Sunucu Kaynaklarının Tüketilmesi: Hosting panelinizde CPU ve RAM kullanımının aniden %100'e vurması, sitenin aşırı yavaşlaması.
- Bilinmeyen Kullanıcılar: WordPress admin panelinizdeki "Kullanıcılar" sekmesinde sizin oluşturmadığınız, genellikle "Yönetici" yetkisine sahip yabancı profillerin belirmesi.
WordPress Virüs Temizleme İşleminden Önce Yapılması Gerekenler
Temizlik operasyonuna başlamadan önce sitenizi tamamen kaybetmemek adına almanız gereken hayati önlemler bulunmaktadır.
1. Mevcut Durumun Yedeğini Alın (En Önemli Adım)
"Virüslü sitenin yedeği neden alınır?" diye düşünebilirsiniz. Temizlik esnasında yanlışlıkla kritik bir sistem dosyasını silerseniz siteniz tamamen çökebilir. Geri dönebileceğiniz bir noktanın olması için virüslü de olsa cPanel/Plesk üzerinden hem Dosyaları hem de Veritabanını (MySQL) bilgisayarınıza indirin.
2. Sitenizi Bakım Moduna Alın
Temizlik esnasında ziyaretçilerin virüslü kodlarla etkileşime girmesini engellemek ve arama motoru botlarına sitenin bakımdı olduğunu bildirmek için .htaccess dosyanıza aşağıdaki kodu ekleyerek veya bir bakım modu eklentisi kullanarak sitenizi dış dünyaya kapatın.
Not: Bakım modu, temizlik esnasında siber korsanın sitenizde aktif olarak işlem yapmasını da zorlaştıracaktır.
7 Adımda Gelişmiş WordPress Virüs Temizleme Yöntemi
Aşağıdaki adımları sırasıyla ve dikkatle uygulayarak sitenizi zararlı yazılımlardan tamamen temizleyebilirsiniz.
Adım 1: Güvenlik Eklentileri ile İlk Taramayı Yapın ve Rapor Alın
Sitenizin yönetim paneline (wp-admin) hala erişebiliyorsanız, virüsün türünü ve konumunu belirlemek için profesyonel bir güvenlik eklentisi kullanmalıyız.
- Wordfence Security veya Sucuri Security eklentisini kurun ve etkinleştirin.
- Eklenti panelinden "Scan" (Tarama) sekmesine gelin.
- Tarama seçeneklerinden "High Sensitivity" (Yüksek Hassasiyet) modunu seçin ve taramayı başlatın.
- Tarama bitiminde eklenti size değiştirilmiş çekirdek dosyaları, şüpheli kodları ve arka kapıları (backdoor) listeleyecektir. Bu listeyi bir yere not edin.
Adım 2: Çekirdek (Core) Dosyalarını Tamamen Yenileyin
Virüsler genellikle WordPress'in kendi sistem dosyalarına sızar. Bu dosyaları tek tek temizlemek yerine orijinal ve temiz olanlarıyla değiştirmek en güvenli çözümdür.
- WordPress.org adresinden sitenizin şu an kullandığı sürümün orijinal ZIP dosyasını indirin.
- Bilgisayarınızda ZIP dosyasını açın.
- Bu klasörün içinden wp-content klasörünü silin (Çünkü sitenizin resimleri, temaları ve eklentileri buradadır, burayı ezmemeliyiz).
- FTP programı (FileZilla) veya cPanel Dosya Yöneticisi ile sitenizin kök dizinine (public_html) bağlanın.
- Sitenizdeki wp-admin ve wp-includes klasörlerini tamamen silin.
- Bilgisayarınızda kalan temiz WordPress dosyalarını (wp-admin, wp-includes ve kök dizindeki temiz .php dosyalarını) sunucunuza yükleyin. Üzerine yazılsın mı sorusuna "Evet" deyin.
Bu işlem sonucunda yazılarınız, sayfalarınız veya görselleriniz zarar görmez; yalnızca WordPress sistem dosyaları %100 temizlenmiş olur.
Adım 3: wp-config.php ve .htaccess Dosyalarını Manuel İnceleyin
Bu iki dosya WordPress'in beynidir ve sistem dosyası yenileme aşamasında silinmemiştir. Korsanlar bu dosyalara yönlendirme kodları ekler.
- wp-config.php: Dosyayı düzenleme modunda açın. <?php etiketinden hemen sonra gelen satırlarda karmaşık, anlamsız karakterlerden oluşan (eval, base64_decode, gzinflate gibi fonksiyonlar içeren) kodlar varsa bunları temizleyin. Dosyanın en altını da kontrol edin.
- .htaccess: Bu dosyayı açın ve içeriğini temizleyin. Standart bir WordPress .htaccess dosyası şu şekilde olmalıdır:
Apache
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Bu kodlar dışındaki şüpheli tüm satırları silin ve dosyayı kaydedin.
Adım 4: wp-content Klasörünü ve Uploads Dizinini Ayıklayın
Virüslerin en çok gizlendiği yer wp-content klasörüdür. Burası manuel olarak temizlenmelidir.
- wp-content/uploads Klasörü: Bu klasör yalnızca resim, PDF ve medya dosyalarını barındırmalıdır. Bu klasör içinde kesinlikle .php uzantılı dosya olamaz. Arama çubuğuna .php yazarak aratın ve uploads klasörü altındaki tüm PHP dosyalarını istisnasız silin.
- Eklentiler (Plugins) Klasörü: wp-content/plugins dizinine giren tüm eklentilerin listesini alın. Ardından bu klasörün içindeki her şeyi silin. WordPress admin panelinden veya orijinal kaynaklarından bu eklentilerin en güncel sürümlerini sıfırdan indirin ve kurun. (Böylece eklenti dosyalarındaki virüsler tamamen yok olur).
- Temalar (Themes) Klasörü: Kullanmadığınız tüm temaları silin. Aktif kullandığınız temanın içindeki functions.php, header.php ve footer.php dosyalarını açarak en üst kısımlarında şüpheli şifrelenmiş kod blokları olup olmadığını kontrol edin. Eğer lisanslı bir tema kullanıyorsanız, en temiz yolu temanın yapımcısından orijinal dosyaları indirip mevcut temayla değiştirmektir.
Adım 5: Veritabanı (Database) Virüs Temizliği
Zararlı yazılımlar bazen kendilerini dosyalara değil, veritabanındaki tablolara (özellikle wp_options ve wp_posts) enjekte ederler.
- phpMyAdmin'e giriş yapın.
- Sitenizin veritabanını seçin ve "Arama" sekmesine tıklayın.
- Arama alanına yaygın virüs fonksiyonlarını veya şüpheli linkleri yazın (Örn: <script>, eval(, base64_, iframe).
- Bulunan satırları inceleyerek sitenize ait olmayan iframe veya javascript yönlendirme kodlarını tablolardan temizleyin.
- wp_users tablosunu kontrol edin. Sizin dışınızda oluşturulmuş yabancı kullanıcıları seçip silin.
Adım 6: Backdoor (Arka Kapı) Tespiti ve Yok Edilmesi
Korsanlar, siz virüsü temizledikten sonra sitenize tekrar kolayca girebilmek için gizli dosyalar bırakırlar. Buna Backdoor (Arka Kapı) denir. Genellikle wp-user.php, hello.php, class-wp-cache.php gibi masum isimlerle gizlenirler.
Bu dosyaları bulmak için cPanel Dosya Yöneticisinde arama yaparak dosya boyutlarına ve son değiştirilme tarihlerine bakın. Yakın zamanda, sizin işlem yapmadığınız bir tarihte değiştirilmiş dosyalar doğrudan şüphelidir. İçeriğinde şu fonksiyonları barındıran dosyaları inceleyin:
- shell_exec
- passthru
- system
- phpinfo
- base64_decode
Adım 7: Tüm Şifreleri ve Güvenlik Anahtarlarını Sıfırlayın
Temizlik bitti ancak hackerın elinde hala eski şifreleriniz olabilir. Bu nedenle tüm kapıları kilitlememiz gerekiyor.
- WordPress yönetici şifrenizi değiştirin (En az 16 karakterli, harf, rakam ve sembol içeren şifreler seçin).
- cPanel / Plesk panel şifrenizi değiştirin.
- FTP ve Veritabanı (MySQL) kullanıcı şifrelerinizi sıfırlayın.
- WordPress Salt Key (Güvenlik Anahtarları) Sıfırlama: wp-config.php dosyasında bulunan AUTH_KEY, SECURE_AUTH_KEY gibi alanlardaki tanımlı uzun karakterleri değiştirin. WordPress Salt Generator adresine giderek yeni anahtarlar üretip dosyanıza yapıştırın. Bu işlem, sitenize daha önce giriş yapmış olan herkesin (hacker dahil) oturumunu anında sonlandıracaktır.
Güvenlik Eklentilerinin Karşılaştırması
Virüs temizleme sonrası sitenizi koruma altında tutmak için bir güvenlik duvarı (Firewall) kullanmalısınız. Aşağıdaki tablodan bütçenize ve ihtiyacınıza uygun olanı seçebilirsiniz.
| Eklenti Adı | Malware Tarama Gücü | Güvenlik Duvarı (Firewall) | Ücretsiz Sürüm Yeterliliği | Öne Çıkan Özellik |
|---|---|---|---|---|
| Wordfence | Çok Yüksek | Canlı (Endpoint) | Mükemmel | Gerçek zamanlı trafik izleme ve IP engelleme |
| Sucuri | Yüksek | Bulut Tabanlı (Cloud) | Orta | Sunucu yormayan bulut güvenlik duvarı |
| MalCare | Çok Yüksek | Bulut Tabanlı | Sınırlı | Tek tıkla otomatik virüs temizleme |
| Solid Security | Orta | Giriş Güvenliği | İyi | Kullanıcı odaklı güvenlik ve 2FA desteği |
Google Kara Listesinden (Blacklist) Çıkma Adımları
Sitenizi tamamen temizledikten sonra sıra Google'ın kırmızı uyarı ekranını kaldırmaya geldi. Siteniz temizlenmiş olsa bile siz bildirimde bulunana kadar Google bu uyarıyı kaldırmaz.
- Google Search Console hesabınıza giriş yapın.
- Sol menüde bulunan "Güvenlik ve Manuel İşlemler" sekmesinden "Güvenlik Sorunları" alanına tıklayın.
- Burada listelenen zararlı yazılım uyarılarını göreceksiniz.
- "İnceleme İste" (Request Review) butonuna tıklayın.
- Açılan metin kutusuna yaptığınız işlemleri detaylıca yazın. (Örnek: "Sitemizdeki tüm virüslü dosyalar temizlenmiş, eklentiler güncellenmiş ve çekirdek dosyalar orijinal haliyle değiştirilmiştir. Sitemizin yeniden taranmasını talep ediyoruz.")
- Talebi gönderin. Google genellikle 24 ila 72 saat içerisinde sitenizi yeniden tarayarak temiz raporu verecek ve uyarıları kaldıracaktır.
WordPress Sitenizi Gelecekteki Saldırılardan Korumak İçin Altın Kurallar
Sitenizi bir kez temizlemek yetmez, tekrar hacklenmesini önlemek için şu proaktif adımları alışkanlık haline getirmelisiniz:
Unutmayın: En ucuz güvenlik önlemi, siteniz hacklenmeden önce alınan önlemdir.
- Asla Nulled (Korsan) Tema/Eklenti Kullanmayın: Warez sitelerinden indirilen temaların %99'unda geriye bırakılmış gizli virüs kodları bulunur.
- Her Şeyi Güncel Tutun: WordPress çekirdeğini, temanızı ve eklentilerinizi haftada en az bir kez kontrol ederek güncelleyin.
- İki Faktörlü Doğrulama (2FA) Kullanın: Admin paneli girişine Google Authenticator gibi 2FA doğrulamaları ekleyin.
- Giriş Denemelerini Sınırlayın: "Limit Attempts" tarzı eklentilerle hatalı giriş denemesi yapan IP adreslerini otomatik olarak engelleyin.
- Güvenilir Hosting Firmaları ile Çalışın: Sunucu düzeyinde izolasyon sağlayan, her gün otomatik yedek alan ve malware koruması sunan kurumsal hosting firmalarını tercih edin.
Sonuç
WordPress virüs temizleme işlemi sabır, dikkat ve sistematik bir yaklaşım gerektirir. Bu rehberde yer alan adımları eksiksiz uygulayarak sitenizi eski sağlıklı günlerine döndürebilirsiniz. Eğer tüm bu adımlara rağmen sorun yaşamaya devam ediyorsanız, virüs sunucu düzeyine (root) sızmış olabilir. Bu durumda profesyonel bir WordPress güvenlik uzmanından veya hosting firmanızın destek ekibinden yardım almanız en doğrusu olacaktır.
Sitenizin güvenliğini her zaman en üst düzeyde tutmanız dileğiyle!
comments[] (0)
Henüz yorum yok. İlk yorumu siz yazın.
Yorum Yaz