Sitemin Hacklendiğini Nasıl Anlarım? 9 Kesin Kontrol Adımı
Kısa cevap
Sitenizin hacklendiğini anlamanın en hızlı yolu üç kaynağı çapraz kontrol etmektir: Google'da 'site:alanadiniz.com' araması (yabancı/spam sayfalar), Search Console güvenlik uyarıları ve sunucu logları. Bu üçünden herhangi biri anomali gösteriyorsa büyük olasılıkla ele geçirilmişsinizdir. Aşağıdaki 9 adım kesin teşhis için sırayla uygulanır.
Bir sitenin ele geçirildiği çoğu zaman gürültüsüz olur. Ana sayfa hâlâ açılır, e-posta gelir, panel çalışır; ama arama sonuçlarında Japonca ürün sayfaları belirir, sunucu geceleri kızışır ya da bir sabah tarayıcı kırmızı bir uyarıyla siteyi engeller. Saldırganların çoğu fark edilmemek için uğraşır, çünkü fark edilmeyen bir erişim daha uzun süre para kazandırır. Bu yüzden "sitem hacklendi mi?" sorusuna tek bir bakışla değil, birkaç bağımsız kaynağı çapraz kontrol ederek yanıt vermek gerekir.
Aşağıdaki dokuz adımı sırayla uygulayın. Herhangi birinde net bir anomali görürseniz durup sitem hacklendi, ne yapmalıyım rehberindeki müdahale sırasına geçin — çünkü teşhis ile temizlik farklı işlerdir ve panik içinde dosya silmek çoğu zaman kanıtı yok eder.
1. Google'da site: Sorgusuyla Dizini Kontrol Edin
En hızlı ve en açık ele veren yöntem budur: Google'a site:alanadiniz.com yazın ve dizine giren sayfalara bakın. Sizin hiç oluşturmadığınız ürün, ilaç, kumar, replika ya da yabancı dilde sayfalar çıkıyorsa site büyük olasılıkla ele geçirilmiştir.
Toplam sonuç sayısına ve başlıklara dikkat edin. 40 sayfalık bir siteniz varken Google "yaklaşık 9.000 sonuç" gösteriyorsa, aradaki fark cloaking ile enjekte edilmiş spam sayfalardır. Belirli desenleri daraltmak için:
site:alanadiniz.com viagra
site:alanadiniz.com 電話
site:alanadiniz.com casino
Bu tür bir kirlenme genellikle Japon anahtar kelime hacki veya farmasötik spam enjeksiyonudur. Sayfaları tarayıcınızda değil, önce Google önbelleğinden görüntüleyin; çünkü bu sayfalar çoğu zaman yalnızca Googlebot'a gösterilir, sizin ziyaretinizde normal içerik döner.
Aynı kontrolü Bing için site: operatörüyle tekrarlamak da işe yarar — bazı spam enjeksiyonları önce ikincil arama motorlarında görünür hâle gelir. Ek olarak, Google'da site:alanadiniz.com sorgusunun altındaki başlık ve açıklama metinlerine bakın: sizin yazdığınız meta açıklamalar yerine Çince, Rusça ya da alakasız ürün metinleri çıkıyorsa, ana sayfanız değil ama site geneli meta verileriniz kirlenmiş olabilir. Bu, cloaking'in en görünür belirtilerinden biridir.
2. Google Search Console Güvenlik Uyarılarına Bakın
Search Console, Google'ın sitenizde tespit ettiği güvenlik sorunlarını doğrudan size bildirdiği en güvenilir kanaldır. "Güvenlik ve Manuel İşlemler > Güvenlik Sorunları" bölümünü açın; burada "Karma içerik", "Zararlı yazılım", "Aldatıcı sayfalar" veya "Saldırıya uğramış içerik" gibi başlıklar görüyorsanız teşhis nettir.
Search Console'a henüz mülk eklemediyseniz, bu iyi bir sebep: doğrulama birkaç dakika sürer ve enjekte edilmiş sayfaların tam listesini "Sayfalar > Dizine eklendi" raporundan görebilirsiniz. Uyarı e-postalarının spam klasörüne düşmüş olabileceğini de unutmayın — Google bu tür bildirimleri kayıtlı e-postaya gönderir.
3. Tarayıcı ve Antivirüs Uyarılarını Ciddiye Alın
Siteyi ziyaret ettiğinizde Chrome "Bu site saldırıya uğramış olabilir" ya da "Aldatıcı site" uyarısı veriyorsa, bu Google Safe Browsing'in sitenizi kara listeye aldığı anlamına gelir. Aynı şekilde ziyaretçilerin antivirüs yazılımının bağlantıyı kesmesi de güçlü bir işarettir.
Bu uyarılar sonuçtur, sebep değildir; yani uyarı çıkana kadar geçen sürede site zaten bir süredir kirliydi. Aldatıcı site uyarısının kaldırılması ancak temizlik tamamlandıktan sonra Search Console'dan inceleme talep edilerek yapılır — uyarıyı görmezden gelmek trafiğinizin çökmesine yol açar.
4. Ani Trafik ve Sıralama Değişimlerini İnceleyin
Analitikte açıklanamayan sıçramalar ya da düşüşler güçlü bir sinyaldir. Belirli ülkelerden gelen ani ve alakasız trafik artışı, tanımadığınız sayfalara yönelen ziyaretler ya da tam tersine organik trafikte sert bir düşüş, arka planda dönen spam sayfalara veya Google'ın uyguladığı bir cezaya işaret eder.
Analytics'te "Açılış Sayfaları" raporunu açın ve en çok trafik alan URL'leri kontrol edin. Sizin bilmediğiniz bir /wp-content/uploads/2019/06/ altındaki bir PHP dosyası ya da tuhaf bir dizin en çok ziyaret edilenler arasındaysa, orası büyük olasılıkla enjekte edilmiş içeriktir. Search Console'daki "Performans" raporunda ise aniden yükselen alakasız arama sorguları (ilaç adları, marka replikaları) doğrudan hack belirtisidir.
5. Sunucu Kaynak Anomalilerini Kontrol Edin
Ele geçirilmiş sunucular çoğu zaman başkaları için çalışır: spam gönderir, kripto kazar ya da başka sitelere saldırı düzenler. Bunların hepsi CPU, RAM ve ağ trafiğinde iz bırakır. Sunucuda beklenmedik bir yük varsa, süreçleri anlık olarak inceleyin.
top -c
ps aux --sort=-%cpu | head -20
Tanımadığınız, rastgele isimli (kdevtmpfsi, xmrig, tek harfli adlar) veya /tmp, /dev/shm altından çalışan yüksek CPU'lu süreçler klasik cryptominer belirtisidir. Giden ağ bağlantılarını da kontrol edin:
ss -tunp | grep ESTAB
Bilinmeyen IP'lere kurulmuş, özellikle 3333/4444/14444 gibi madencilik havuzu portlarına giden kalıcı bağlantılar, sunucunuzun devşirildiğinin kanıtıdır.
Kaynak anomalisinin bir başka biçimi de giden e-posta trafiğidir: sunucunuz spam gönderme aracına dönüştüyse, mail kuyruğu ani biçimde şişer. Postfix kullanan bir sistemde mailq | tail -1 ya da postqueue -p | grep -c "^[A-F0-9]" ile kuyruktaki mesaj sayısına bakın — normalde birkaç olması gereken kuyrukta binlerce mesaj varsa, sunucunuz büyük olasılıkla bir spam kampanyasının parçası olmuştur ve bu durum IP itibarınızı da kara listeye taşır. Yük anomalilerini yalnızca "yavaşlık" olarak değil, birinin sunucunuzu kendi işi için kullandığının işareti olarak okuyun.
6. Dosya Değişiklik Tarihlerini Karşılaştırın
Bir saldırgan sisteme girdiğinde dosyalara dokunur, ve dosya sistemleri bu dokunuşun zamanını tutar. Uzun süredir güncelleme yapmadığınız bir sitede son 48 saatte değişmiş dosyalar varsa, bunlar mercek altına alınmalıdır.
find /var/www/siteniz -type f -name "*.php" -mtime -3 -ls
Bu komut son 3 günde değişmiş tüm PHP dosyalarını listeler. Çekirdek dosyaların (WordPress'te wp-load.php, index.php, tema functions.php) beklenmedik şekilde değişmiş olması güçlü bir işarettir. Ek olarak, base64 ile gizlenmiş kod aramak da işe yarar:
grep -rl "eval(base64_decode" /var/www/siteniz --include="*.php"
eval, gzinflate, str_rot13 ve uzun base64 blokları içeren dosyalar çoğu zaman arka kapı (backdoor) barındırır. Değişiklik tarihi yaklaşımının sınırı şudur: gelişmiş saldırganlar touch ile tarihleri geri alabilir, bu yüzden bunu tek delil saymayın.
Değişiklik tarihi kadar önemli bir başka ipucu da dosya konumudur. wp-content/uploads/ klasörü resim ve doküman içindir; burada bir .php dosyası görmek neredeyse her zaman kötü niyetlidir, çünkü meşru bir eklenti asla upload dizinine çalıştırılabilir PHP bırakmaz. Aynı şekilde site kökünde rastgele adlı (wp-x8f2.php, radio.php) dosyalar ya da tema klasöründe olmaması gereken ek dosyalar dikkat çekicidir. Bulduğunuz şüpheli dosyayı hemen silmeyin — önce içeriğini ve değişiklik zamanını not edin; bu bilgi saldırının kapsamını anlamak için değerlidir ve temizlikte hangi dosyaların birlikte enjekte edildiğini eşleştirmenizi sağlar.
7. Kullanıcı ve Yönetici Hesap Listesini Denetleyin
Kalıcılık kurmanın en sessiz yollarından biri, meşru görünen ek bir hesap açmaktır. Hem uygulama (WordPress vb.) hem de sunucu seviyesinde kullanıcı listesini gözden geçirin; tanımadığınız her hesap potansiyel bir arka kapıdır.
Sunucudaki shell erişimli kullanıcıları görmek için:
awk -F: '$3 >= 1000 && $7 ~ /sh$/ {print $1}' /etc/passwd
WordPress tarafında yönetici rollerini kontrol edin ve son giriş tarihlerine bakın. Tuhaf e-posta adresli ("admin2", rastgele karakterli kullanıcı adları), Cyrillic/karışık karakter içeren ya da sizin oluşturmadığınız yönetici hesapları doğrudan tehlike işaretidir. /etc/passwd içinde UID'si 0 olan (root ayrıcalıklı) ikinci bir kullanıcı varsa durum kritiktir.
8. Sunucu Loglarındaki Saldırı İzlerini Okuyun
Loglar, saldırının nasıl ve ne zaman gerçekleştiğini gösteren en dürüst kayıttır. SSH giriş loglarında yoğun başarısız denemeleri veya beklenmedik bir başarılı girişi, web sunucusu loglarında ise POST istekleriyle çağrılan tuhaf dosyaları arayın.
grep "Accepted" /var/log/auth.log | tail -20
grep -E "POST .*(\.php)" /var/log/nginx/access.log | grep -Ev "wp-admin|wp-login" | tail -30
İlk komut başarılı SSH girişlerini gösterir — tanımadığınız bir IP'den "Accepted" satırı varsa bu doğrudan izinsiz erişimdir. İkincisi, upload dizinlerine yapılan POST isteklerini ortaya çıkarır; wp-content/uploads/ altındaki bir .php dosyasına gelen POST istekleri neredeyse her zaman web shell trafiğidir. Zaman damgalarını 6. adımdaki dosya değişiklik tarihleriyle örtüştürün; ikisi çakışıyorsa saldırı anını yakalamışsınız demektir.
9. Harici Tarayıcılarla Bağımsız Bir Bakış Alın
Kendi sunucunuzdan yaptığınız kontroller cloaking nedeniyle temiz görünebilir; bu yüzden dışarıdan, farklı bir bakış açısıyla tarama yapmak önemlidir. Sucuri SiteCheck, VirusTotal URL taraması ve Google Safe Browsing durum kontrolü, sitenizi Googlebot ve harici bir istemci gözünden değerlendirir.
Bu araçlar özellikle yalnızca arama motoru botlarına gösterilen gizli içeriği ve kara liste durumunu yakalamakta iyidir. Ancak sınırlarını bilin: yüzeysel tarama yaparlar, sunucu içindeki arka kapıları göremezler. "Temiz" sonucu, sitenizin kesinlikle temiz olduğu anlamına gelmez — yalnızca dışarıdan görünür bir enfeksiyon bulunmadığını gösterir. Kesin sonuç için sunucu içi denetim şarttır.
Bu dokuz adımı birlikte değerlendirin. Tek bir işaret yanıltıcı olabilir — ani trafik düşüşü bir algoritma güncellemesi de olabilir, yüksek CPU meşru bir yoğunluk da. Ancak bu sinyallerden ikisi ya da üçü aynı anda çakışıyorsa (örneğin site: sorgusunda yabancı sayfalar + son 48 saatte değişmiş PHP dosyaları + loglarda tanınmayan bir başarılı giriş), teşhis pratikte kesindir. Müdahale ettiğimiz vakaların çoğunda site sahibi bu işaretlerden birini haftalarca "tuhaflık" olarak görmezden gelmiş, ancak birkaçı bir araya gelince durumu fark etmiştir. Şüpheniz varsa, benzer olayların çözüm süreçlerini vaka çalışmalarımızda inceleyebilirsiniz.
Sık Sorulan Sorular
Sitem normal açılıyor, yine de hacklenmiş olabilir miyim?
Evet, hatta en yaygın senaryo budur. Modern saldırıların çoğu siteyi çökertmez; aksine görünürde hiçbir şeyi değiştirmeden arka planda spam sayfaları yayınlar, kripto kazar veya arka kapı bırakır. "Site açılıyor" bir güvence değildir. Kesin sonuç için Google site: sorgusu, log kontrolü ve dosya değişiklik taramasını birlikte yapmanız gerekir.
Antivirüs programı sunucumu hack'e karşı korur mu?
Masaüstü antivirüsleri sunucu tarafındaki web shell'leri, PHP arka kapılarını ve enjekte edilmiş spam'i tespit etmek için tasarlanmamıştır. Sunucu için doğru araçlar dosya bütünlüğü izleme, log analizi ve ImunifyAV/maldet gibi sunucu tarayıcılarıdır. Ziyaretçinin tarayıcı uyarısı, koruma değil, geç kalmış bir alarmdır.
Dosyaları kontrol ederken hangi süreçler tehlikelidir?
/tmp, /dev/shm veya /var/tmp altından çalışan, rastgele adlı, yüksek CPU tüketen süreçler; ayrıca eval(base64_decode, gzinflate, system(, shell_exec( içeren PHP dosyaları en yaygın tehlike işaretleridir. Ancak temiz görünen bir dosyada gizlenmiş tek satırlık arka kapılar da vardır; şüpheniz varsa dosyayı silmeden önce yedekleyip uzman görüşü alın.
Hacklendiğimden emin oldum, önce ne yapmalıyım?
Panikle dosya silmeyin — bu kanıtı yok eder ve temizliği zorlaştırır. Önce sitenin tam bir yedeğini (dosya + veritabanı + loglar) alın, ardından yapılandırılmış müdahale sırasını izleyin. Adım adım süreç için sitem hacklendi, ne yapmalıyım rehberimize bakın veya doğrudan bizimle iletişime geçin.
Yukarıdaki adımlardan biri bile anomali gösterdiyse, kaybedecek vaktiniz yok demektir; enfeksiyon her saat büyür ve kara liste riski artar. Acil müdahale ekibimiz 7/24 WhatsApp üzerinden ulaşılabilir ve sitenizin ele geçirilip geçirilmediğini bağlayıcı olmayan ücretsiz bir teşhisle net olarak ortaya koyar. Şüpheniz varsa beklemeyin — yazın, birlikte bakalım.