Sitenizin hacklendiğini nasıl anlarsınız?
Saldırıların çoğu siteyi bozmaz, sessizce çalışır. Fark etmenizi sağlayacak altı işaret ve fark ettikten sonra ilk bir saatte yapılması gerekenler.
Sitesi ele geçirilen müşterilerin çoğu durumu kendisi fark etmiyor. Ya bir müşteri arayıp “sitenizde tuhaf bir yönlendirme var” diyor, ya Google arama sonuçlarında kırmızı bir uyarı çıkıyor, ya da hosting firması hesabı askıya alıyor.
Bunun nedeni basit: saldırıların büyük kısmı siteyi bozmayı hedeflemiyor. Sitenizi bozarsa fark edilir ve temizlenir. Amaç genelde sunucunuzu spam göndermek, başka sitelere saldırmak veya arama motorlarına gizli sayfalar sunmak için sessizce kullanmak. Bu yüzden aylarca sürebiliyor.
Altı işaret
1. Sunucu kaynak kullanımında açıklanamayan artış
cPanel’de “Resource Usage” bölümüne bakın. Ziyaretçi sayınız sabitken CPU veya bellek kullanımı iki katına çıktıysa, arka planda sizin çalıştırmadığınız bir şey çalışıyor demektir. En sık görülen senaryo bu.
2. Arama sonuçlarında olmayan sayfalar
Google’da site:sitenizinadresi.com yazıp arayın. Çıkan sonuçlar arasında hiç yazmadığınız sayfalar varsa — genelde ilaç, kumar veya sahte ürün içerikli — siteniz “SEO spam” için kullanılıyor. Bu, ziyaretçiye normal sayfa gösterip arama motoruna başka sayfa sunan bir yöntemle yapılıyor, o yüzden sitenizde gezerken göremezsiniz.
3. Yönetici paneline giriş denemelerinde artış
Panelinizde başarısız giriş kaydı tutuluyorsa günlük sayıya bakın. Normalde birkaç taneyken yüzlerce olduysa, otomatik bir deneme yanılma saldırısı altındasınız. Bu henüz ele geçirildiğiniz anlamına gelmez ama zamanınızın azaldığı anlamına gelir.
4. Değiştirilmemiş olması gereken dosyaların tarihi
Dosya yöneticisinde dosyaları değiştirilme tarihine göre sıralayın. Siz aylardır dokunmadığınız halde geçen hafta değişmiş bir PHP dosyası varsa, o dosyayı açıp içine bakın. Uzun, okunamayan, base64_decode veya eval içeren satırlar kötü niyetli koddur.
5. Giden e-postalarda patlama
cPanel’de “Email Deliverability” veya mail kuyruğuna bakın. Kuyrukta sizin göndermediğiniz yüzlerce e-posta bekliyorsa sunucunuz spam gönderiyor. Bu, alan adınızın kara listeye girmesine ve gerçek e-postalarınızın da teslim edilmemesine yol açar.
6. Sitenin mobilde başka yere yönlenmesi
Bazı saldırılar yalnızca telefondan gelen ziyaretçiyi başka bir siteye yönlendirir. Masaüstünden baktığınızda her şey normal görünür. Ayda bir kendi sitenizi telefonunuzdan, mobil veriyle (Wi-Fi’siz) açın.
Fark ettiniz — ilk bir saat
Sıralama önemli. Paniğe kapılıp dosya silmek en sık yapılan hata.
- Önce yedek alın. Mevcut halin — virüslü haliyle birlikte — tam yedeğini indirin. Temizliğe başlamadan önce kanıtın durması gerekiyor; hangi dosyanın ne zaman değiştiğini sonra ancak bu yedekten anlarsınız.
- Siteyi geçici olarak kapatın. Bakım sayfasına alın. Ziyaretçilerin zarar görmesini ve Google’ın zararlı içeriği görmesini engeller.
- Tüm şifreleri değiştirin. cPanel, FTP, veritabanı, yönetim paneli ve alan adı paneli. Hepsi, aynı gün.
- FTP hesaplarını gözden geçirin. Saldırganlar genelde kendilerine kalıcı bir FTP hesabı açar. Tanımadığınız her hesabı silin.
- Zamanlanmış görevleri (cron) kontrol edin. Silinen kötü kodu geri getiren bir görev bırakılmış olabilir; bunu temizlemezseniz site birkaç saat sonra yeniden bulaşır.
Temizlik yeterli değil
Kötü kodu silmek yalnızca yarısı. Asıl soru şu: içeri nasıl girildi? Bunu bulmadan yapılan temizlik, aynı kapı açık kaldığı için birkaç hafta içinde tekrarlanıyor.
En yaygın üç giriş yolu:
- Güncellenmemiş eklenti. WordPress sitelerinde vakaların çoğu buradan. Açığı bilinen bir eklenti, internete açık her siteyi tarayan otomatik yazılımlar tarafından günler içinde bulunuyor.
- Zayıf veya tekrar kullanılmış şifre. Başka bir sitede sızan şifrenizi burada da kullanıyorsanız, kimse sizi “hacklemek” zorunda kalmıyor.
- Eski PHP sürümü. Desteği bitmiş bir PHP sürümü, bilinen açıkları artık yamanmıyor demek.
Bir daha olmaması için
Güvenlik tek seferlik bir iş değil, düzen meselesi. Yayına aldığımız sistemlerde uyguladığımız asgari düzen şu:
- Otomatik günlük yedek, sunucunun dışında bir yerde. Sunucudaki yedek, sunucu ele geçirildiğinde birlikte gidiyor.
- PHP ve tüm bileşenlerin güncel sürümde tutulması.
- Yönetim paneline giriş denemelerinin sınırlanması ve iki adımlı doğrulama.
- Dosya değişikliklerinin izlenmesi — beklenmedik bir değişiklikte haber gelmesi.
- Ayda bir dışarıdan güvenlik taraması.
Bu maddeleri kendiniz de kurabilirsiniz; hosting paneliniz çoğunu destekliyor. Uğraşmak istemiyorsanız yayına aldığımız sistemlerde bunlar zaten teknik destek kapsamımızda duruyor.
Mevcut sitenizde bir şüpheniz varsa, siteyi inceleyip ne bulduğumuzu yazılı bir raporla iletiyoruz — yazmanız yeterli.
Yazan: Kodvanta