WordPress kullanıcılarının en büyük korkularından biride web sitelerine virüs girme ihtimalidir. Virüs bulaşanların da nasıl temizleyecekleri sorusu sıkça sorulmaktadır. Bu yazımızda virüs bulaşan WordPress dosyalarını nasıl temizleyeceksiniz sorusunu ele aldık.
Her ne kadar WordPress’te asla warez tema ve eklenti kullanmamanızı önermesek de WordPress sitenize indirdiğiniz warez tema, eklenti veya bir açık yüzünden sistemimize erişildi. Burada saldırgan öncelikle FTP alanına daha rahat çalışabileceği yada diğer dille shell (c99,r57) atıp sistemde açık arayacaktır. Eğer sistemde açık bulamaz ise başka exploitler atıp sunucuyu hacklemeye çalışacaktır. Bu sürekli devam eder yapamasa bile denemek amaçlı sürekli girip birşeyler deneyecektir.
Bazı SEO’cu olarak iş yapanlar ise bu tip sitelere erişip açıkları kapatır ve WordPress dosyaları içerisine kendi dosyalarını barındırırlar. İleri bir tarihte tekrar girip istediği gibi at koşturabilmek için. Birde eski tarihli içeriklere link ekleyip backlink elde ederler. (Hacklink dediğimiz ve Google aslında hiçbir şekilde tasvip etmediği farkına varıldığında ağır sonuçları olan bir durumdur.)
Temizleme işlemimiz şu şekilde gidecek;
- Wp-admin, wp-includes ve ana dizindeki dosyaların temizlenmesi.
- Wp-content temizlenmesi.
- Anti-Malware and Brute-Force Security – WordPress Eklentisi
- Kullanılmayanlar
- Yeniden: Eklentiler
- Wp-config.php temizlenmesi.
- Mysql kullanıcı şifresi değiştirme
- Admin şifresi değiştirme
Not: WordPress’te eğer önemli değişikliler ve virüs temizleme işlemi yapacaksanız kesinlikle yedeklerinizi almayı unutmayın. Bu yedeklerde;
- cPanel yedek alma ve geri yükleme
- WordPress sql yedeği alma ve geri yükleme
- Sql ve Tam yedek alma ve geri yükleme
- WordPress eksiksiz yedek almak
- Plesk panel yedek full almak
1) Wp-admin, Wp-includes ve Ana Dizin
Öncelikle WordPress sistemde bu dosyaları siliyoruz çünkü sistem kurulduktan sonra tema ve eklentileri bu klasöre atmadığımız için bu klasör her zaman sabit kaliyor. Bu yüzden önceliğimiz bu dosyalar. Daha sonra son sürüm içerisindeki wp-admin, wp-includes ve ana dizin dosyalarını .zip’liyoruz. Daha sonra cPanel‘den “wp-admin, wp-includes, ana dizin dosyalarını” siliyoruz. Silme işlemi FTP’ye göre çok hızlı biteceği için hızlı bir şekilde wordpress.zip dosyamız üzerine gelip sağ tıklıyoruz. Extract diyip dosyalarımızı çıkartıyoruz. Şu anda wp-admin, wp-includes ve ana dizin dosyalarını temizledik artık bunlardan bir korkumuz yok.
2) Wp-content Temizliği
En çok uğraşacağımız klasör bu. Bu yüzden bunun üzerinde iyi inceleme yapmamız gerekiyor.
Öncelikle bu klasörü bilgisayarımıza indiriyoruz ve bilgisayarımızdaki anti virüs aracılığı ile tarama yaptırıyoruz. Anti virüs eğer shell dosyaları varsa zaten uyarı verecektir. Herhangi bir virüs bulamadıysa alttaki eklentiyi kullanarak devam ediyoruz.
a) Anti-Malware and Brute-Force Security – WP Plugins
Bu eklenti sistemdeki tüm dosyaları tarayıp aralarında zararlı olanlar varsa tespit ediyor ve size bu dosyaları listeliyor.
b) Kullanılmayanlar
Eklentinin bulduklarını inceleyip sildik şimdi sırada kullanmadığımız tema ve eklentide. Genelde tema kuruyoruz ve WordPress’in standart temalarını kullanmıyoruz. Sistemin başka alanlarından içeri sızıp bu kullanmadığınız temalar içerisine shell atabilirler bu yüzden kullanmadığınız tema ve eklentileri mutlaka silin.
c) Eklentileri Tekrar Yükleyin
Kullandığınız eklentileri tespit edip WordPress.org Plugins sayfasından hepsini bilgisayarımıza indiriyoruz.
Daha sonra FTP alanından tüm eklentileri silip aynı isimlerde güncel indirdiklerimizi yüklüyoruz. Bu sayede eklentiler klasörümüzde artık güvenli hale gelmiş oluyor.
ç) Cache Temizliği
WP Super Cache veya W3 Total Cache gibi cache eklentileri kullanıyorsanız wp-content içerisinde cache klasörleriniz olacaktır. FTP’den cache klasörünü tamamiyle silip eklentinizle tekrardan oluşturabilirsiniz.
d) Upgrade Temizliği
WordPress bu klasörü güncelleştirme yaparken kullanır. Güncelleştirme yaparken öncelikle klasörü buraya indirir klasöre çıkartır ve nereye atması gerekiyorsa oraya gönderir. Bu yüzden bu klasör daima boştur eğer siz başka bir dosya görürseniz mutlaka silin.
e) Uploads
Öncelikle yukarıdaki söylediklerimi yaptıysanız uploads klasörünü bilgisayarınıza indirip taratmış olmanız gerekiyor. Burası resim, pdf, mp3 gibi dosyaları yükleme alanıdır. Yani bu alanda php, pl gibi dosyalara yer yoktur ve olmaması gerekiyor.
f) Languages
Bu klasör standart olduğu için bunuda silip son sürüm wordpress içerisindekini buraya atıyoruz.
g) Tema Klasörü
En sona bunu bıraktım çünkü bunda ne olduğunu bilmiyoruz. Temanın orjinalini indirebiliyorsak tekrar indirip atmanızı tavsiye ederim. Eğer temada bir güncelleme yaptıysanız bunuda kaydedin temayı yeniden ekledikten sonra güncellemenizi tekrar ekleyin.
- Warez temaysa silip yeni tema arayışına geçin.
- Ücretsiz tema ise kodları iyi inceleyin içerisinde crypto edilmiş kodlar varsa kullanmayın o temayı.
- WordPress.org’dan tema indirin oradakiler güvenlidir.
- Son çare kendiniz tema yazın.
3) Wp-config.php Temizliği
Tüm dosyaları neredeyse temizledik ama wp-config.php dosyasını hiç ellemedik. Bu yüzden bu dosyayıda iyi incelememiz gerekiyor belki bu php dosyasının içerisine kod eklediler ve uzaktan bağlanabiliyorlar. Eğer wp-config.php içerisinde ne olduğunu biliyorsanız bunu anlamanız 2-3 saniye gibi bir süre olacaktır. Ama eğer bu dosyada daha önceden ne olduğunu bilmiyorsanız alttaki söylediklerimi yapım.
wp-config.php dosyasını silin. FTP ana dizindeki “wp-config-sample.php” dosyasının adını wp-config.php olarak değiştirin.
Yeni wp-config içerisine veritabanı bilgilerinizi yazın. Birde config içerisinde 45.satırda “Eşsiz doğrulama anahtarı” yer alıyor. O alanada benzersiz kodlarımızı eklemek için alttaki siteye giriyoruz ve oradaki kodu alıp wp-config.php içerisine yerleştiriyoruz. wp-config-sample.php içerisindeki boş geliyor genellikle. wp-config dosyamızı da temizlemiş olduk.
4) MySQL Kullanıcı Şifresi Değiştirme
MySQL veritabanınıza uzaktan erişim eğer kısıtlı değil ise wp-config bilgileri ile sürekli şifrelerinizi değiştirip yönetim panelinize girebilirler. Veritabanı ile alakalı herşeyi yapabilirler.
MySQL Uzaktan Erişim Programı ile bunu yapmak mümkün tabi biz bu programı zarar vermek için değil iş yapmak için kullanıyoruz.
cPanel‘e giriş yapıp “MySQL Veritabanları” kısmına tıklıyoruz.
En alt kısımda kullanıcılarımız var ve bunların hemen sağında “Şifreyi Ayarla” yazıyor.
Son olarak wp-config.php dosyasına bağlanıp yeni şifremizi tanımlıyoruz ve bu güvenliğide almış oluyoruz.
5) Admin Şifresi Değiştirme
Yönetim panelinize girip şifrenizi değiştirin ve diğer tüm yöneticileride inceleyin sizden başka yönetici olmasın.
Birde “admin” kullanıcısını kullanıyorsanız onu silin yeniden farklı bir kullanıcı adı ve şifreyle yeni bir kullanıcı oluşturun.