Site Hacklendi Ne Yapmalı? 10 Adımlık Acil Müdahale Planı

Siteniz başka adreslere yönleniyor, Google'da "Bu site saldırıya uğramış olabilir" uyarısı çıkıyor ya da tarayıcı kırmızı ekran gösteriyorsa paniğe gerek yok — ama her saat önemli. Doğru sırayla ilerlerseniz veri kaybetmeden kurtulursunuz.
Bu rehber "site hacklendi ne yapmalı?" sorusunu iki bölümde cevaplıyor: ilk 60 dakikada hasarı durduracak beş acil adım ve sonraki saatlerde kök nedeni bulup siteyi kalıcı olarak temizleyecek beş adım. Adımlar WordPress için yazıldı; çoğu, başka PHP tabanlı sitelerde de aynen geçerlidir.
Siteniz gerçekten hacklendi mi? Belirtiler
Her yavaşlama ya da hata bir saldırı değildir. Aşağıdaki belirtilerden biri varsa sitenizin ele geçirilmiş olma ihtimali yüksektir:
- Ziyaretçiler bahis, reklam ya da sahte ödül sayfalarına yönleniyor; çoğu zaman yalnızca mobilde veya yalnızca Google'dan gelen ziyaretçilerde.
- Arama sonuçlarında sitenizin altında "Bu site saldırıya uğramış olabilir" ya da "Bu site bilgisayarınıza zarar verebilir" yazıyor.
- Chrome veya Safari sitenizi açarken tam ekran kırmızı bir uyarı gösteriyor.
- Google'da site:alanadiniz.com araması yaptığınızda Japonca, Çince ya da sizin yazmadığınız ürün sayfaları çıkıyor.
- Kullanıcılar listesinde tanımadığınız yönetici hesapları var.
- Hosting firmanız siteyi kapattı, "zararlı dosya" ya da "spam gönderimi" bildirimi yaptı.
- Sunucuda sizin yüklemediğiniz PHP dosyaları, tanımadığınız zamanlanmış görevler (cron) ya da ani kaynak tüketimi var.
Bazı zararlı kodlar yalnızca arama motoruna ya da ilk kez gelen ziyaretçiye görünür; siz kendi bilgisayarınızdan girdiğinizde her şey normal görünebilir. Emin olmak için gizli pencereden, mobil veriyle ve Google Search Console'daki URL denetimi aracıyla kontrol edin. Dışarıdan görünen belirtileri hızlıca görmek için ücretsiz site analizini de kullanabilirsiniz.
İlk 60 dakika: hasarı durdurun
İlk saatin amacı temizlik değil, yayılmayı durdurmak ve delili korumaktır. Aşağıdaki beş adımı sırayla yapın; her birinin yanındaki süre yaklaşık bir plandır.
1. Paniğe kapılıp dosya silmeyin (0–5. dakika)
Zararlı görünen dosyaları elle silmek siteyi tamamen çökertebilir ve delilleri yok eder. Saldırganın nereden girdiğini gösteren izler çoğu zaman bu dosyaların değişiklik tarihlerinde ve sunucu kayıtlarındadır. Gördüğünüz belirtilerin ekran görüntüsünü alın, yönlendirilen adresleri ve saati not edin. Tarihi bilinmeyen eski bir yedeğe hemen geri dönmek de riskli: yedek zaten enfekte olabilir ya da son günlerin siparişlerini ve içeriklerini silebilir.
2. Enfekte hâliyle tam yedek alın (5–15. dakika)
Önce mevcut durumun tam yedeğini alın: tüm dosyalar ve veritabanı. Hosting panelinizin yedekleme aracı, SFTP ile dosya indirme ve phpMyAdmin ya da mysqldump ile veritabanı dökümü yeterlidir. Yedeği sunucunun dışına indirin ve "enfekte" diye adlandırın. Bu kopya iki işe yarar: temizlik sırasında bir şey bozulursa geri dönersiniz ve uzman, enfeksiyonun giriş yolunu bu izlerden bulur.
3. Tüm şifreleri ve oturumları sıfırlayın (15–30. dakika)
Şifreleri, zararlı yazılım bulaşmamış bir cihazdan değiştirin. Sıralama önemlidir; önce en geniş yetkiye sahip olanlar:
- Hosting paneli ve varsa SSH anahtarları.
- FTP/SFTP hesapları; kullanmadığınız FTP kullanıcılarını silin.
- Veritabanı kullanıcısı — yeni şifreyi wp-config.php dosyasındaki DB_PASSWORD satırına da yazın.
- Tüm WordPress yönetici hesapları ve kullanıcı profillerindeki uygulama parolaları.
- Alan adınızdaki e-posta hesapları; şifre sıfırlama bağlantıları bu kutulara gelir.
Ardından wp-config.php içindeki güvenlik anahtarlarını (salt) yenileyin. Bu, çalınmış oturum çerezlerini geçersiz kılar ve herkesi oturumdan çıkarır. Anahtarları WordPress'in resmi üreticisinden (api.wordpress.org/secret-key/1.1/salt) alabilir ya da WP-CLI ile wp config shuffle-salts komutunu çalıştırabilirsiniz. Yönetici hesaplarında iki adımlı doğrulamayı (2FA) açın.
4. Siteyi izole edin; bakım modu eklentisine güvenmeyin (30–45. dakika)
Bakım modu eklentileri WordPress'in içinde çalışır; zararlı kod da aynı yerde çalışmaya devam eder. Ziyaretçiyi korumak için sunucu katmanında önlem alın: hosting panelinden siteye geçici parola koruması ekleyin ya da yalnız sizin IP adresinize izin verin. E-ticaret sitesiyseniz ödeme almayı geçici olarak durdurun; ödeme sayfasına eklenmiş bir kart kopyalama kodu, en pahalı hasardır. Hosting firmanız siteyi kapattıysa, kapatma gerekçesini ve tespit ettikleri dosya listesini isteyin.
5. Yetkisiz hesapları ve erişimleri kaldırın (45–60. dakika)
WordPress'te Kullanıcılar ekranını "Yönetici" rolüne göre süzün; tanımadığınız her hesabı not alın, sonra silin. Saldırganlar hesabı listede gizleyebildiği için WP-CLI ile wp user list --role=administrator çıktısını da karşılaştırın. Hosting panelinde tanımadığınız FTP kullanıcılarına, zamanlanmış görevlere (cron) ve SSH anahtarlarına bakın. Google Search Console'da Ayarlar → Kullanıcılar ve izinler ekranını kontrol edin: bazı saldırılarda saldırgan kendini sitenin sahibi olarak ekler.
Bu adımların tamamını sizin için biz yapalım: ücretsiz ön inceleme, 2 saatte net fiyat, 24 saatte garantili temizlik.
Ücretsiz Analiz BaşlatSonraki saatler: kök nedeni bulun ve temizleyin
Hasar durduğunda asıl iş başlar. Enfeksiyonu yalnızca görünen yerden silmek yetmez; giriş kapısı açık kaldıkça site birkaç gün içinde yeniden enfekte olur.
6. Google Search Console'daki güvenlik raporunu okuyun
Güvenlik ve Manuel İşlemler → Güvenlik sorunları raporu, Google'ın gördüğü sorunun türünü ve örnek adresleri listeler: kimlik avı sayfası, zararlı yazılım ya da enjekte edilmiş spam içerik. Aynı bölümdeki Manuel işlemler raporuna da bakın. Raporda sorun görünüyorsa temizlik bittikten sonra buradan inceleme isteyeceksiniz; süreci Google yanıltıcı site uyarısı rehberinde adım adım anlattık.
7. Giriş kapısını bulun
Temizlikten önce saldırganın nereden girdiğini anlamaya çalışın. En sık karşılaşılan kapılar şunlardır:
- Güncel olmayan eklenti ve temalar: Kurulu sürümleri WPScan, Patchstack ya da Wordfence Intelligence gibi açık veritabanlarında aratın.
- Nulled (korsan) tema ve eklentiler: Lisansı kırılmış dosyalar çoğu zaman arka kapıyla birlikte gelir; ayrıntılar nulled tema yazımızda.
- Zayıf ya da tekrar kullanılan şifreler ve virüslü bir bilgisayarda kayıtlı FTP bilgileri.
- Aynı hosting hesabındaki diğer siteler: Unutulmuş eski bir kurulum, temizlediğiniz siteyi yeniden enfekte edebilir.
Sunucu erişim kayıtlarında (access log) olağan dışı dosyalara giden POST isteklerini, yoğun wp-login.php ve xmlrpc.php denemelerini arayın. Bu kayıtlar giriş kapısını ve saldırının tarihini gösterir.
8. Dosyaları inceleyin ve çekirdeği temiz kopyayla değiştirin
- wp-config.php: beklenmeyen include satırları, eklenmiş kod parçaları.
- .htaccess: yalnızca arama motorundan ya da mobilden gelenleri başka siteye gönderen koşullu yönlendirme kuralları.
- wp-content/uploads: bu klasörde PHP dosyası bulunmamalıdır.
- wp-content/mu-plugins: buradaki dosyalar eklenti listesinde görünmeden her istekte çalışır.
- Son değişen dosyalar: SSH erişiminiz varsa find . -name "*.php" -mtime -7 son yedi günde değişen PHP dosyalarını listeler.
- Karartılmış kod: eval, base64_decode, gzinflate, str_rot13 gibi fonksiyonlarla çözülen uzun, anlamsız metin blokları.
WordPress çekirdeğini elle düzeltmeye çalışmayın; wp core verify-checksums komutu değiştirilmiş çekirdek dosyalarını gösterir, çekirdeği resmi kopyayla yeniden yükleyin. Eklentileri de resmi kaynaklarından silip yeniden kurun; wp plugin verify-checksums --all WordPress.org'daki eklentiler için aynı karşılaştırmayı yapar.
9. Veritabanını temizleyin
Dosyalar temizlense bile veritabanındaki enjeksiyon siteyi enfekte göstermeye devam eder. İşlem öncesinde veritabanı yedeğiniz olduğundan emin olun ve şu tablolara bakın:
- wp_options: siteurl ve home değerleri, active_plugins listesi, zamanlanmış görevleri tutan cron kaydı ve widget içerikleri.
- wp_posts: yazı ve sayfalara eklenmiş script etiketleri, gizli bağlantılar, sizin oluşturmadığınız spam sayfalar.
- wp_users ve wp_usermeta: yönetici yetkisi verilmiş yabancı hesaplar.
Arama yaparken "<script", "eval(", "base64" ve tanımadığınız alan adlarını kullanın. Tablo önekiniz farklıysa (örneğin wp_ yerine abc_) aynı tabloları o önekle arayın.
10. Güncelleyin, sertleştirin ve inceleme isteyin
Temizlik bittiğinde WordPress çekirdeğini, eklentileri ve temayı güncelleyin; kullanmadığınız eklenti ve temaları tamamen silin. Tema ve eklenti düzenleyicisini wp-config.php'ye define('DISALLOW_FILE_EDIT', true); satırını ekleyerek kapatın. Dosya izinlerini WordPress'in önerdiği gibi ayarlayın: dosyalar 644, klasörler 755, wp-config.php 440 ya da 400. Bir web uygulaması güvenlik duvarı (WAF) kurun, yöneticilerde iki adımlı doğrulamayı zorunlu tutun ve sunucu dışında saklanan düzenli yedek alın. Son olarak Search Console'dan inceleme isteyin.
Temizlikten sonraki ilk hafta
Yeniden enfeksiyon çoğunlukla ilk günlerde görülür; bu yüzden bir hafta boyunca şunları izleyin:
- Search Console'da yeni güvenlik bildirimi ve dizindeki sayfa sayısında ani artış.
- Değişen dosyalar ve yeni oluşturulan yönetici hesapları.
- Sunucu kaynak kullanımı ve giden e-posta sayısı.
- site:alanadiniz.com aramasında yabancı dilde sayfa kalıp kalmadığı.
Sitede Japonca ya da Çince spam sayfalar oluşmuşsa dizinin toparlanması haftalar sürebilir; bu durumu Japonca SEO spam rehberinde ayrıca ele aldık.
Ne zaman profesyonel destek almalısınız?
Siteniz temizlendikten sonra tekrar enfekte olduysa, ödeme alan bir e-ticaret sitesiyseniz, aynı hesapta birden fazla site varsa ya da Google uyarısı reklamlarınızı durdurduysa işi uzmana bırakmak daha az maliyetlidir. WordPress virüs temizleme hizmetimizde her iş tam yedekle başlar; otomatik tarama araçlarının yanında kod manuel olarak incelenir, zararlı kod dosya ve veritabanından temizlenir, giriş kapısı kapatılır ve hangi dosyada ne bulunduğu raporlanır. Paket kapsamlarını virüs temizleme fiyatları yazımızda karşılaştırabilir, acil durumda doğrudan temizlik siparişi başlatabilirsiniz. Temizlik sonrası sürekli koruma için aylık koruma ve Kalkan Hosting seçeneklerine göz atın.
Sıkça Sorulan Sorular
Hacklenen site kendiliğinden düzelir mi?
Hayır. Zararlı kod çoğu zaman kendini yeniden oluşturacak şekilde kurulur; arka kapı ve zamanlanmış görev kaldırılmadıkça belirtiler kaybolsa bile saldırganın erişimi sürer.
Güvenlik eklentisi kurmak siteyi temizler mi?
Eklentiler bilinen imzaları yakalamakta faydalıdır, ancak özel yazılmış arka kapıları ve veritabanındaki enjeksiyonları her zaman bulamaz. Ayrıca eklenti, enfekte WordPress'in içinde çalışır; tarama sonucu temiz görünse de dosya ve veritabanını ayrıca kontrol etmek gerekir.
Eski bir yedeğe dönmek yeterli mi?
Yalnızca yedek enfeksiyondan önceye aitse ve giriş kapısı kapatıldıysa yeterlidir. Enfeksiyon tarihi çoğu zaman bilinmez; açık kapatılmadan geri dönülen yedek kısa sürede yeniden enfekte olur ve son içerikler kaybolur.
Hosting firmam siteyi askıya aldı, nasıl yeniden açtırırım?
Firmadan askıya alma gerekçesini ve tespit ettikleri dosya listesini isteyin, siteyi temizleyin ve yaptığınız işlemleri açıklayan kısa bir raporla yeniden açılmasını talep edin. Temizliği belgelemek, hesabın yeniden açılmasını kolaylaştırır.
Aynı hosting hesabındaki diğer sitelerim de etkilenir mi?
Çoğu zaman evet. Aynı hesaptaki siteler aynı sistem kullanıcısıyla çalıştığı için enfeksiyon kolayca birinden diğerine geçer. Temizlik ve şifre değişikliği hesaptaki tüm siteleri kapsamalıdır; aksi hâlde temizlenen site kısa sürede yeniden enfekte olur.