Teknoloji

WordPress Siteniz Sürekli Hackleniyorsa Ne Yapmalısınız?

WordPress Siteniz Sürekli Hackleniyorsa Ne Anlama Geliyor?

WordPress siteniz birkaç haftada bir temizlenmesine rağmen tekrar tekrar hackleniyorsa, ortada genelde tek bir açık değil, birden fazla zayıf halka vardır: güncellenmeyen eklentiler, zayıf parolalar, paylaşımlı hosting’in doğası, eksik yedekleme stratejisi ve çoğu zaman da aceleyle yapılmış yüzeysel temizlikler. Bu yazıda tam da bu noktada takılan site sahipleri için, paylaşımlı hosting üzerinde neleri gerçekten yapabileceğinizi, nerede sınırlarınıza çarpacağınızı ve hangi aşamada daha izole bir ortama (VPS, dedicated ya da yönetilen çözüm) geçmeniz gerektiğini, sahada sıkça gördüğümüz senaryolara dayanarak anlatacağız.

Amacımız, “bir kere temizleyip kurtulmak” değil; sitenizi kalıcı olarak temizlemek, tekrar hacklenmeyi önlemek ve mümkünse süreci daha güvenli bir altyapıya taşıyarak kapatmaktır. Adım adım ilerleyeceğiz: önce zararı tespit edeceğiz, sonra temizliği yapacağız, ardından güvenliği sertleştireceğiz, son olarak da DCHost tarafında hangi barındırma stratejisinin sizin senaryonuz için mantıklı olduğuna değineceğiz.

Paylaşımlı Hosting ve Tekrarlayan Hack Sorunu

Önce sorunun köküne inelim: Neden bazı WordPress siteleri bir kere hacklenirken, bazıları sürekli hedef oluyor ve tekrar tekrar ele geçiriliyor?

Paylaşımlı hosting’in doğası

Paylaşımlı hosting, özellikle başlangıç ve düşük bütçeli projeler için harika bir çözümdür. Ancak güvenlik tarafında bazı yapısal sınırlamaları vardır:

  • Aynı sunucu üzerinde çok sayıda farklı hesap ve web sitesi barınır.
  • Sunucuya root erişimi sizde değil, güvenlik önlemlerinin çoğu hosting sağlayıcısı tarafından merkezi olarak uygulanır.
  • Çoğu zaman aynı IP ve benzer kaynaklar birçok site tarafından ortak kullanılır.

Bu, “bir site hacklenirse hepsi hacklenir” anlamına gelmek zorunda değildir; düzgün izole edilmiş altyapılarda hesaplar birbirinden ayrılır. Ancak kötü yapılandırılmış sunucularda veya eski panellerde, başka bir hesabın açığı üzerinden sizin dosyalarınıza da sızılması mümkündür. Ayrıca saldırganlar, zayıf parolalar veya güvenli olmayan eklentiler gibi tamamen sizin sitenize özel açıkları da sıkça kullanır.

Neden tekrar tekrar hackleniyor?

Gerçek dünyada sık gördüğümüz tekrar eden hack senaryolarının ortak noktaları şunlar:

  • Yüzeysel temizlik: Sadece görünür zararlı dosyalar siliniyor, ama arka kapılar (backdoor) kalıyor.
  • Güncel olmayan çekirdek, tema, eklenti: Güvenlik güncellemeleri aylarca hatta yıllarca erteleniyor.
  • Zayıf parolalar: admin/admin123, FTP ve cPanel parolalarının tekrar kullanılması, parola paylaşımı.
  • Eksik yedek stratejisi: Hackten önceki temiz bir noktaya güvenle dönemeyecek durumda olmak.
  • Yanlış izinler: 777 dosya izinleri, herkesin yazabildiği upload klasörleri.
  • Enfekte yedekten dönüş: Temiz sanılan ama aslında zararlı içeren yedeklerin tekrar geri yüklenmesi.

Bu tabloyu tersine çevirmek için önce hasarı kontrollü biçimde tespit edip, sonra bilinçli bir temizlik ve güvenlik sertleştirme süreci yürütmemiz gerekiyor.

İlk 24 Saat: Panik Yapmadan Hasar Tespiti ve İzolasyon

Hack fark edildiğinde ilk refleks genelde “şu birkaç dosyayı sileyim, site geri gelsin” oluyor. Bu, kısa vadede işe yarasa bile uzun vadede tekrarlayan hack döngüsünü besler. İlk 24 saatte şu yolu izlemek çok daha sağlıklı:

1. Siteyi geçici olarak korumaya alın

  • Mümkünse WordPress’i bakım moduna alın veya .htaccess ile IP kısıtlaması yaparak sadece kendi IP’nizden erişilebilir hale getirin.
  • Yoğun trafiğiniz varsa, anasayfaya “Geçici bakım” mesajı koymak, zararlı içeriğin ziyaretçilere gösterilmesini engeller.
  • Eğer ciddi phishing veya zararlı yazılım yayma durumu varsa, siteyi kısa süreliğine tamamen kapatmak da mantıklı olabilir.

2. Mevcut durumu kaydedin (log ve dosya tarihleri)

Temizliğe başlamadan önce, saldırının nasıl gerçekleştiğini anlamaya yarayacak izleri saklamak önemli:

  • cPanel veya paneliniz üzerinden erişim loglarını indirin (access_log, error_log).
  • FTP veya Dosya Yöneticisi üzerinden, özellikle wp-content ve wp-includes altındaki son değişiklik tarihlerini not alın veya bir liste olarak indirin.
  • Bu veriler, ileride kalıcı güvenlik önlemleri alırken hangi açığın kullanıldığını anlamanıza yardım eder.

3. Tam yedek alın (ama hemen geri yüklemeyin)

İlk içgüdü, hemen önceki yedeğe dönmek oluyor. Ancak yedeğinizin temiz olduğundan emin değilseniz, bu sizi sadece hack’in başlangıç noktasına geri götürür. Bunun yerine:

  • Tüm dosya yapısını (home dizini + public_html) bir arşiv halinde indirin.
  • Veritabanının MySQL dump’ını alın.
  • Bu yedeği “adli kopya” gibi düşünün; temizlikten önce ve sonra karşılaştırma yapmak için kullanacağız.

Sağlıklı bir yedekleme düzeni kurmak için paylaşımlı hosting ve VPS senaryolarını ayrıntılı ele aldığımız WordPress yedekleme stratejileri rehberimize mutlaka göz atın.

Paylaşımlı Hosting Üzerinde Adım Adım WordPress Temizliği

Şimdi en kritik kısma geldik: Temizlik. Buradaki amaç, sadece görünen zararlı dosyaları silmek değil, çekirdek dosyaları, temaları, eklentileri ve veritabanını sistematik şekilde tarayıp arka kapıları imha etmek.

1. Çekirdek WordPress dosyalarını sıfırlayın

En güvenli yol, WordPress çekirdeğini resmi kaynakla birebir eşitlemektir:

  • WordPress’in kullandığınız sürümünü resmi kaynaktan indirin.
  • Sunucudaki wp-admin ve wp-includes klasörlerini tamamen silin.
  • İndirdiğiniz paketten gelen temiz wp-admin ve wp-includes klasörlerini sunucuya yükleyin.
  • Kök dizindeki WordPress dosyalarını (wp-*.php) da orijinaliyle karşılaştırıp, bozulmuş olanları sıfırlayın.

Bu adım genelde enjekte edilmiş zararlı kodların önemli bir kısmını temizler. Ancak asıl risk wp-content altında ve veritabanında saklanan arka kapılardır.

2. Tema ve eklentileri manuel tarayın

wp-content/themes ve wp-content/plugins altı, saldırganların en çok oynadığı alanlardır. Şu adımları izleyin:

  • Kullanmadığınız tüm temaları ve eklentileri tamamen silin (sadece devre dışı bırakmak yetmez).
  • Aktif tema klasörünüz içinde garip isimli PHP dosyaları, tek satırlık uzun base64 kodları, eval, gzinflate, shell_exec gibi fonksiyonları arayın.
  • Şüpheli dosyaları silin ve mümkünse temayı resmi kaynaktan yeniden yükleyin.
  • Premium temalar/eklentiler için mutlaka orijinal lisanslı sürümleri kullanın; null edilmiş sürümler çoğu zaman bilerek arka kapı içerir.

3. Upload klasörünü kontrol edin

wp-content/uploads klasörü, normalde sadece medya dosyaları (jpg, png, pdf vb.) içermelidir. Eğer burada PHP dosyaları görüyorsanız bu ciddi bir işarettir:

  • uploads altında .php, .php7, .phtml uzantılı dosyalar olup olmadığını tarayın.
  • Varlarsa, büyük ihtimalle bunlar web shell veya arka kapı dosyalarıdır; kaldırın.
  • Uzun, rastgele isimli .ico, .js veya .txt dosyalarını açıp içeriğini kontrol edin; zararlı kod saklanmış olabilir.

4. Veritabanını temizleyin

Hack temizliğinde en çok atlanan kısım veritabanıdır. Oysa saldırganlar sık sık:

  • wp_options içine otomatik zararlı kod yürüten kayıtlar ekler,
  • wp_posts içindeki yazı ve sayfalara gizli iframeler, JS script’leri gömer,
  • admin yetkili yeni kullanıcılar açar.

Yapmanız gerekenler:

  • wp_users tablosunu kontrol edin, tanımadığınız admin hesaplarını silin.
  • wp_usermeta’da admin rolü atanmış şüpheli kullanıcılar olup olmadığına bakın.
  • wp_options tablosunda garip isimli autoload = yes</strong kayıtlarını inceleyin; uzun ve karmaşık içerikli olanlar zararlı olabilir.
  • wp_posts içindeki yazı ve sayfalarda, temizlik sonrası hâlâ spam link veya script kalıp kalmadığını tarayın.

5. Tüm parolaları değiştirin

Temizlik yapılırken bile çoğu zaman en basit ama en kritik adım atlanıyor: parolalar. Aşağıdaki her şey için benzersiz ve güçlü parolalar belirleyin:

  • WordPress admin hesapları
  • FTP/SFTP hesapları
  • cPanel veya yönetim paneli hesabınız
  • Veritabanı kullanıcısı (wp-config.php içindeki user/pass)

Ayrıca wp-config.php dosyasındaki SALT anahtarlarını yenileyin. Bu, aktif oturumları geçersiz kılar ve çalınmış çerezlerle giriş yapılmasını zorlaştırır.

6. Dosya izinlerini düzeltin

Yanlış dosya izinleri, özellikle paylaşımlı hosting’de saldırganların işini kolaylaştırır.

  • Genel kural: dizinler 755, dosyalar 644 olmalı.
  • Asla 777 izin kullanmayın; bu, herkesin yazabildiği anlamına gelir.
  • wp-config.php için daha kısıtlı izinler (örneğin 600 veya 640) kullanın.

Güvenliği Sertleştirme: Aynı Saldırının Tekrarını Nasıl Engellersiniz?

Siteyi bir şekilde ayağa kaldırdınız, ama asıl kritik nokta şu: Aynı film tekrar oynamasın. Bunun için WordPress tarafında ve hosting tarafında güvenliği sertleştirmeniz gerekiyor.

WordPress güvenlik sertleştirme adımları

Detaylı bir kontrol listesi için WordPress güvenlik sertleştirme rehberimizi mutlaka okuyun. Burada öne çıkan bazı kritik adımları özetleyelim:

  • Her şeyi güncel tutun: Çekirdek, tema, eklentiler için otomatik güncellemeleri mümkün olduğunca etkinleştirin.
  • Gereksiz eklentileri kaldırın: Kullanmadığınız her eklenti potansiyel saldırı yüzeyidir.
  • Dosya düzenleyicisini kapatın: wp-config.php içine define('DISALLOW_FILE_EDIT', true); ekleyerek panelden tema/eklenti düzenlemeyi devre dışı bırakın.
  • XML-RPC’yi sınırlandırın: Kullanımı zorunlu değilse kapatın veya sadece belirli IP’lere izin verin.
  • İki faktörlü kimlik doğrulama (2FA) kullanın; özellikle admin hesaplarında.

wp-login ve brute-force saldırılarını sınırlayın

Pek çok saldırı, aslında çok basit parola denemeleriyle başlar. Paylaşımlı hosting’de uygulayabileceğiniz bazı önlemler:

  • Giriş deneme sayısını sınırlandıran güvenilir bir güvenlik eklentisi kullanın.
  • Giriş URL’nizi özelleştirin (varsayılan /wp-login.php yolunu değiştirmek tek başına çözüm değildir ama gürültüyü azaltır).
  • Mümkünse .htaccess ile wp-login’e IP kısıtlaması getirin (sadece ofis IP’leriniz gibi).

Daha gelişmiş seviyede, kendi VPS’inizde Nginx ve Fail2ban kullanarak brute-force saldırılarını nasıl susturabileceğinizi wp-login.php ve XML-RPC brute-force saldırılarını sınırlama rehberimizde detaylıca anlattık. Paylaşımlı hosting’den daha izole bir mimariye geçtiğinizde bu teknikler çok işinize yarar.

cPanel ve hosting tarafını sertleştirin

Sadece WordPress’i değil, kontrol panelinizi de güvenceye almanız gerekir:

  • cPanel kullanıcı adınızı ve parolanızı tahmin edilmesi zor hale getirin.
  • Varsa iki faktörlü kimlik doğrulama özelliğini aktif edin.
  • Kritik hesaplara IP kısıtlaması ekleme imkânınız varsa kullanın.

Panel seviyesinde alabileceğiniz önlemleri ayrıntılı bir kontrol listesi halinde görmek için cPanel güvenlik sertleştirme rehberimize göz atabilirsiniz.

HTTP güvenlik başlıkları ve SSL

Uygun SSL yapılandırması ve HTTP güvenlik başlıkları, XSS ve içerik enjeksiyonu gibi bazı saldırı türlerine karşı fazladan bir katman sağlar:

  • Her zaman geçerli bir SSL sertifikası kullanın ve sitenizi sadece HTTPS üzerinden yayınlayın.
  • HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy gibi başlıkları doğru şekilde ayarlayın.
  • Gelişmiş güvenlik başlıklarını nasıl uygulayacağınıza dair teknik detayları HTTP güvenlik başlıkları rehberimizde bulabilirsiniz.

Paylaşımlı Hosting Yeterli mi? Ne Zaman VPS veya Dedicated Düşünmelisiniz?

Paylaşımlı hosting üzerinde makul ölçüde güvenlik sağlamak mümkündür. Ancak bazı durumlarda, tekrar tekrar hack yaşayan siteler için sorun sadece WordPress tarafında değildir; trafik hacmi, eklenti yükü, saldırı sıklığı ve izolasyon ihtiyacı paylaşımlı hosting’in doğal sınırlarını zorlar.

Paylaşımlı hosting’in zorlandığı tipik senaryolar

  • Yoğun trafik alan e-ticaret veya üyelik siteleri
  • Çok sayıda eklenti kullanan, karmaşık WordPress kurulumları
  • Sürekli brute-force ve DDoS benzeri saldırı alan, WAF ve rate limiting ihtiyacı yüksek siteler
  • Aynı sunucudaki diğer hesapların güvenlik hijyeninden endişe duyulan durumlar

Bu tip senaryolarda, daha izole bir ortamda (VPS veya dedicated sunucu) çalışmak, hem performans hem güvenlik açısından ciddi avantaj sağlar. Kaynakları ve güvenlik duvarını kendinize göre ayarlayabilir, WAF, Fail2ban, gelişmiş loglama gibi çözümleri doğrudan sunucuya kurabilirsiniz.

DCHost tarafında ne yapabilirsiniz?

DCHost olarak paylaşımlı hosting’in yanı sıra, VPS, dedicated sunucu ve colocation hizmetleri de sunuyoruz. Tekrarlayan hack sorunları yaşayan müşterilerde sıkça izlediğimiz yol şu:

  • Önce mevcut paylaşımlı hosting hesabında kapsamlı bir temizlik yapıyoruz.
  • Ardından, yeni bir DCHost VPS veya dedicated sunucu üzerinde temiz bir WordPress kurulumu hazırlıyoruz.
  • Yalnızca temizlenmiş verileri ve medyayı yeni ortama taşıyoruz.
  • Sunucu tarafında güvenlik sertleştirme (firewall, Fail2ban, güncel PHP, HTTP başlıkları, otomatik yedekler) yapıyoruz.

Paylaşımlı hosting’den daha izole bir ortama geçiş adımlarını planlarken, paylaşımlı hosting’den VPS’e geçiş rehberimizde anlattığımız kontrol listesi, taşıma sürecinizi çok daha öngörülebilir hale getirecektir.

Taşıma Stratejisi: Sıfırdan Kurulum mu, Temiz Yedekten Dönüş mü?

Tekrarlayan hack vakalarında belki de en kritik karar, “Bu WordPress kurulumunu kurtaralım mı, yoksa sıfırdan mı kuralım?” sorusudur. Net olmak gerekirse:

  • Hack uzun süredir fark edilmediyse,
  • Yedeklerinizin ne zamandan beri enfekte olduğunu bilmiyorsanız,
  • Çok sayıda arka kapı bulunduysa,

en temiz yol çoğu zaman yeni ve tertemiz bir WordPress kurulumu yapıp, sadece temizlenmiş içerik ve medyayı taşımaktır.

Temiz kurulum + veri taşıma yaklaşımı

  1. Yeni sunucu veya yeni hesap üzerinde güncel bir WordPress kurulumu yapın.
  2. Eski siteden sadece temizlenmiş veritabanını ve medya dosyalarını alın.
  3. Temalarınızı ve eklentilerinizi kesinlikle resmi kaynaklardan yeniden indirin; eski dosyaları taşımayın.
  4. Yeni kurulumda SALT anahtarlarını, admin hesabını ve parolaları baştan güvenli şekilde oluşturun.

Staging ortamı kullanmanın avantajı

Taşıma öncesi, sitenizi bir staging (önizleme) ortamında ayağa kaldırıp test etmek, hem SEO açısından hem de kullanıcı deneyimi açısından büyük rahatlık sağlar. cPanel üzerinde staging kurulumunu adım adım anlattığımız WordPress staging ortamı rehberine göz atarak:

  • Önce temiz sitenizi alt alan adında çalıştırabilir,
  • Tüm fonksiyonları ve formları test edebilir,
  • Daha sonra DNS yönlendirmesini yaparak kesintisiz geçiş sağlayabilirsiniz.

DCHost ile Pratik Yol Haritası ve Son Söz

Özetleyelim: WordPress siteniz sürekli hackleniyorsa sorun sadece “bir dosyada virüs var” meselesi değildir. Çoğu zaman; eksik yedekleme, zayıf parolalar, güncel olmayan eklentiler, yanlış dosya izinleri ve paylaşımlı hosting’in doğal sınırlarının birleşiminden oluşan yapısal bir problemdir. Bu yüzden çözüm de tek adımlık değildir; temizlik + sertleştirme + doğru altyapı seçimi üçlüsünü birlikte düşünmek gerekir.

DCHost tarafında müşterilerle çalışırken genelde şu adımları öneriyoruz:

  • Mevcut sitede kapsamlı temizlik ve analiz (dosya, veritabanı, log’lar).
  • WordPress ve cPanel için güvenlik sertleştirme, otomatik yedeklerin devreye alınması.
  • Sitenin profilini (trafik, eklenti yükü, güvenlik ihtiyacı) değerlendirip, gerektiğinde VPS veya dedicated gibi daha izole çözümlere geçiş.
  • Yeni ortamda staging → test → canlıya alma akışıyla kesintisiz taşıma.

Eğer siz de “Artık bu hack döngüsünü kırmak istiyorum” noktasındaysanız, önce bu yazıdaki adımlarla mevcut sitenizi olabildiğince temizleyin ve sertleştirin. Ardından, yedekleme, güvenlik ve altyapı tarafında daha kalıcı bir yol haritası çizmek için DCHost ekibiyle birlikte sitenizin profilini gözden geçirebilirsiniz. Böylece, her saldırıda panik olmak yerine, önceden tasarlanmış ve test edilmiş bir güvenlik ve taşıma stratejisi ile çok daha sakin kalırsınız.

Sıkça Sorulan Sorular

Hosting’i hemen değiştirmek bazen refleks bir karar oluyor ama her zaman ilk adım olmak zorunda değil. Önce mevcut sitenizde kapsamlı bir temizlik yapmanız, veritabanını ve dosyaları taramanız, tüm parolaları değiştirmeniz ve WordPress ile cPanel tarafında güvenlik sertleştirmesi uygulamanız gerekir. Eğer buna rağmen saldırılar devam ediyorsa, trafik ve eklenti yükünüz de yüksekse, paylaşımlı hosting doğal sınırlarına dayanmış olabilir. Bu noktada DCHost üzerinde izole bir VPS veya dedicated sunucuya geçip, temiz bir WordPress kurulumu üzerinde sadece temizlenmiş veriyi taşımanız çok daha güvenli ve sürdürülebilir bir çözüm sağlar.

Hack kısa süredir fark edildiyse, elinizde ne zaman alındığı bilinen temiz yedekler varsa ve inceleme sırasında çok sayıda arka kapı bulunmadıysa, mevcut kurulumu temizlemek mantıklı olabilir. Bu durumda çekirdek dosyaları resmi kaynakla eşitleyip, tema ve eklentileri orijinal sürümleriyle yeniden kurarak, veritabanını da manuel kontrol ederek ilerleyebilirsiniz. Ancak hack uzun süredir devam ediyorsa, yedeklerin de enfekte olma ihtimali yüksekse ve farklı noktalarda çok sayıda zararlı kod tespit ediyorsanız, DCHost üzerinde temiz bir kurulum yapıp sadece temizlenmiş içerik ve medyayı taşımak çoğu zaman daha güvenli ve hızlı bir yoldur.

Paylaşımlı hosting’de güvenliği iyileştirmenin en etkili 5 adımı şunlardır: (1) WordPress çekirdeği, tema ve eklentileri daima güncel tutmak ve gereksiz eklentileri tamamen kaldırmak, (2) Tüm admin, FTP, cPanel ve veritabanı parolalarını benzersiz ve güçlü hale getirmek; mümkünse 2FA kullanmak, (3) Dosya izinlerini 755/644 standartlarına çekmek ve wp-config.php’yi daha kısıtlı izinlerle korumak, (4) wp-login.php’ye brute-force sınırlandırması ve mümkünse IP kısıtlaması uygulamak, (5) Otomatik ve harici yedekleme stratejisi kurmak. Bunlara ek olarak, DCHost üzerinde güvenlik sertleştirme ve düzenli izleme ile tekrar eden hack riskini ciddi şekilde azaltabilirsiniz.

Önce teknik tarafı yüzde 100 temizlediğinizden emin olmanız gerekiyor: zararlı kodlar kaldırılmış, arka kapılar kapatılmış, WordPress ve hosting tarafı sertleştirilmiş, yedekleme stratejisi oturtulmuş olmalı. Ardından, Google Search Console üzerinden güvenlik uyarıları varsa inceleyip, temizlik sonrasında yeniden değerlendirme isteği gönderebilirsiniz. Ziyaretçiler için de kısa bir bilgilendirme yazısıyla durumu şeffaf biçimde anlatmak, artık daha sıkı güvenlik önlemleri aldığınızı belirtmek güveni artırır. DCHost tarafında daha izole bir ortam (VPS/dedicated) ve düzenli yedekleme ile çalıştığınızı vurgulamanız da, özellikle kurumsal ve e-ticaret müşterilerinde güven hissini güçlendirir.

WAF (Web Application Firewall), özellikle bilinen WordPress açıklarına ve otomatik bot saldırılarına karşı ciddi avantaj sağlar; ama tek başına sihirli değnek değildir. Paylaşımlı hosting üzerinde de panel seviyesinde bazı WAF benzeri korumalar uygulanabilir; bu, temel seviye saldırıları filtrelemede yardımcı olur. Ancak yoğun saldırı altında olan, kritik veri işleyen veya yüksek trafikli sitelerde, WAF’in yanında izolasyon, gelişmiş firewall kuralları, rate limiting ve Fail2ban gibi önlemler de gerekir. Bu tür gelişmiş ayarları genellikle DCHost üzerindeki VPS veya dedicated sunucularda, sitenize özel politikalar tanımlayarak çok daha etkin biçimde kullanabilirsiniz.