Düzenli Kötü Amaçlı Yazılım Taramasının Önemi
Geniş kapsamlı rehber: Düzenli Kötü Amaçlı Yazılım Taramasının Önemi. Detaylı ipuçları, kurulumlar ve dikkat edilmesi gereken noktalar.
Web sitesi kötü amaçlı yazılımları neden fark edilmez
Çoğu kişi kötü amaçlı yazılımı bir siteyi çökerten veya uyarılarla dolduran bir şey olarak hayal eder. Uygulamada ise ele geçirilmiş web siteleri çoğu zaman sessiz kalacak şekilde tasarlanır. Enjekte edilen kod spam bağlantılarını yalnızca arama motoru tarayıcılarına gösterebilir, yalnızca arama sonuçlarından gelen ziyaretçileri yönlendirebilir veya yalnızca mobil cihazlarda devreye girebilir. Site sahibi oturum açar, normal bir ana sayfa görür ve bir şeylerin ters gittiğinden haberi olmaz.
Düzenli taramayı önemli kılan da bu sessizliktir. Bir enfeksiyon ne kadar uzun sürerse o kadar çok zarar verebilir: kötü amaçlı betiklere maruz kalan ziyaretçiler, alan adınız altında dizine eklenen spam sayfalar, sunucunuzdan giden ve spam olarak işaretlenen e-postalar ve temizlikten sonra bile kalkması zaman alabilen tarayıcı veya arama motoru uyarıları. Tarama, bilinmeyen ve ucu açık bir sorunu bilinen ve düzeltilebilir bir soruna dönüştürür.
Alan Adınızı ve Web Sitenizi Anında İnceleyin
TLDix'in WHOIS Domain, Hosting Tespiti ve Domain Oracle (AI) servisleri ile herhangi bir web sitesinin arka plan altyapısını saniyeler içinde analiz edin.
Web sitesi kötü amaçlı yazılımları genellikle nasıl görünür
Web sunucularındaki kötü amaçlı yazılımlar birkaç tekrarlayan biçimde ortaya çıkar. Bunları tanımak araç seçmenize ve sonuçları yorumlamanıza yardımcı olur.
| Tür | Ne yapar | Nerede saklanır |
|---|---|---|
| Arka kapılar / web shell’ler | Saldırgana uzaktan komut çalıştırma veya dosya yükleme erişimi verir | Masum görünen PHP veya betik dosyaları, yükleme klasörleri, tema ya da eklenti dizinleri |
| SEO spam | Sıralamaları manipüle etmek için gizli bağlantılar enjekte eder veya spam sayfalar üretir | Veritabanı içeriği, şablon dosyaları, yeniden yazma kuralları |
| Kötü amaçlı yönlendirmeler | Bazı ziyaretçileri dolandırıcılık, oltalama veya kötü amaçlı yazılım sitelerine gönderir | .htaccess veya sunucu yapılandırması, enjekte edilmiş JavaScript, veritabanı seçenekleri |
| Skimmer’lar | Tarayıcıda form veya ödeme verilerini ele geçirir | Ödeme sayfası şablonları, üçüncü taraf betik eklemeleri |
| Kripto madenciler | Ziyaretçinin veya sunucunun CPU’sunu kripto para kazmak için kullanır | Enjekte edilmiş betikler, yabancı işlemler, cron görevleri |
| Oltalama kitleri | Başka markalar için sahte giriş sayfaları barındırır | Belge kök dizininin derinlerindeki yeni klasörler |
Birçok enfeksiyon bunlardan birkaçını bir arada içerir. Arka kapı çoğu zaman ilk parçadır; diğer her şeyi yerleştirmek ve kısmi bir temizlikten sonra siteyi yeniden enfekte etmek için kullanılır.
Harici ve sunucu tarafı tarama
İki genel yaklaşım vardır ve farklı şeyleri yakalarlar.
Harici (uzaktan) tarama
Harici bir tarayıcı sayfalarınızı bir ziyaretçi veya arama botu gibi çeker ve dönen içeriği inceler: enjekte edilmiş betikler, bilinen kötü amaçlı URL’ler, spam anahtar kelimeler, beklenmedik yönlendirmeler ve kara liste durumu. Sunucu erişimi gerektirmediği için kurulumu kolaydır ve dış dünyanın ne gördüğünü kontrol etmek için faydalıdır.
Sınırları da aynı derecede nettir. Bağlantı verilmemiş dosyaları, uykuda bekleyen arka kapıları, kötü amaçlı cron görevlerini veya yalnızca belirli koşullarda tetiklenen kodu göremez.
Sunucu tarafı tarama
Sunucu tarafı tarayıcı dosya sistemini, bazen de veritabanını doğrudan inceler. Dosyaları bilinen kötü amaçlı yazılım imzalarıyla karşılaştırır, gizlenmiş (obfuscated) kod gibi şüpheli desenleri işaretler ve bir CMS’in veya eklentinin orijinal sürümlerine göre bütünlük kontrolü yapabilir.
Daha kapsamlıdır ancak erişim ve biraz dikkat gerektirir: aşırı agresif desenler yanlış pozitifler üretir ve zaten ele geçirilmiş bir sunucuda çalışan tarayıcı kurcalanmış olabilir. İdeal olan, iki yaklaşımı birlikte kullanmaktır.
Pratik bir tarama rutini oluşturmak
Ne sıklıkla tarama yapacağınız sitenin karmaşıklığına ve riskine bağlıdır. Az değişen bir tanıtım sitesi, düzinelerce eklentiye sahip bir online mağazadan daha az ilgi gerektirir. Aşağıdaki takvim sabit bir standart değil, uyarlanabilecek makul bir başlangıç noktasıdır:
| Kontrol | Önerilen sıklık |
|---|---|
| Harici tarama ve kara liste kontrolü | İşletme siteleri için günlük, düşük riskli siteler için haftalık |
| Sunucu tarafı dosya taraması | Günlükten haftalığa, ayrıca değişikliklerden sonra |
| Güvenilir sürümlerle dosya bütünlüğü karşılaştırması | Haftalık ve güncellemelerden sonra |
| Enjekte edilmiş betik veya bağlantılar için veritabanı içeriği incelemesi | Haftalıktan aylığa |
| Kullanıcıların, cron görevlerinin ve zamanlanmış işlerin gözden geçirilmesi | Aylık |
Ayrıca şu olaylardan herhangi birinin ardından takvim dışı bir tarama yapın:
- Özellikle tanımadığınız kaynaklardan tema, eklenti veya uzantı kurmak ya da güncellemek.
- Kullandığınız bir yazılımda güvenlik açığı duyurulması.
- Açıklanamayan trafik değişiklikleri, arama sonuçlarında beliren yeni sayfalar veya yönlendirme bildirimleri.
- Ekipten birinin ayrılması veya kimlik bilgisi sızıntısından şüphelenilmesi.
- Hosting taşımaları veya yedekten geri yüklemeler.
Tarama sonuçlarını eyleme dönüştürün
Bir takvim ancak birisi çıktıyı okursa işe yarar. Tarama raporlarını kimin alacağına, ne kadar hızlı incelemesi gerektiğine ve neyin acil sayılacağına önceden karar verin. Tatillerin ve personel değişikliklerinin kör noktalar yaratmaması için uyarıları tek bir kişinin gelen kutusu yerine izlenen ortak bir adrese veya destek talep kuyruğuna gönderin. Her bulguyu ve çözümünü kısaca kaydedin; zamanla hangi eklentilerin, klasörlerin veya işlemlerin tekrar tekrar sorun çıkardığını gösterir.
Temiz olduğu doğrulanmış bir durumdan sonra bir referans (baseline) kaydetmek de faydalıdır: yönetici kullanıcıların listesi, cron kayıtları, dizin başına dosya sayıları ve çekirdek dosyaların sağlama toplamları. Bu referansla karşılaştırma yapmak, hiçbir imza eşleşmese bile beklenmedik değişiklikleri öne çıkarır. Gürültülü kuralları görmezden gelmek yerine ayarlayın; yanlış pozitiflerle dolu bir rapor, insanları kısa sürede onu atlamaya alıştırır.
Faydalı komut satırı kontrolleri
Kabuk (shell) erişiminiz varsa, birkaç basit komut özel tarayıcıları tamamlar. Bir sitenin temiz olduğunu kanıtlamazlar, ancak araştırmaya değer değişiklikleri ortaya çıkarırlar.
# Web kök dizini altında son 3 günde değiştirilen dosyalar
find /var/www/example -type f -mtime -3 -print
# Yükleme dizinlerindeki PHP dosyaları (genellikle bulunmamalı)
find /var/www/example/uploads -type f -name "*.php"
# Yaygın gizleme desenleri (bazı yanlış pozitifler beklenir)
grep -rlE "eval[[:space:]]*[(]|base64_decode[[:space:]]*[(]|gzinflate[[:space:]]*[(]" /var/www/example
# Web kullanıcısının zamanlanmış görevleri
crontab -l -u www-data
ClamAV gibi açık kaynak araçlar, web dosyalarına yönelik imza setleriyle birlikte Linux sunucularda imza taramasını otomatikleştirebilir. Birçok CMS platformu da bütünlük kontrolü sunan güvenlik eklentilerine sahiptir; örneğin WordPress’te resmi komut satırı aracı çekirdek dosyaları sağlama toplamlarıyla doğrulayabilir:
wp core verify-checksums
wp plugin verify-checksums --all
Her eşleşmeyi bir hüküm değil, bir ipucu olarak ele alın. Meşru kod bazen base64 çözme gibi fonksiyonlar kullanır; herhangi bir şeyi silmeden önce işaretlenen dosyaları inceleyin.
Taramayı otomatikleştirmek
Komutları elle çalıştırmak yerine, sonuçları bir dosyaya yazan ve yeni bulgu olduğunda e-posta gönderen küçük bir betiği cron ile zamanlayabilirsiniz. Paylaşımlı hostingde kabuk erişimi yoksa, panelin sunduğu tarama aracını veya CMS güvenlik eklentisinin zamanlanmış tarama özelliğini kullanın. Ağır taramaları trafiğin düşük olduğu saatlere koyun; büyük dosya ağaçlarını taramak, özellikle paylaşımlı paketlerde kaynak limitlerini zorlayabilir.
Tarama bir şey bulduğunda ne yapmalı
Bir tespit stresli olabilir, ancak sakin ve düzenli bir müdahale, dosyaları rastgele silmekten çok daha iyi sonuç verir.
- Kanıtları koruyun. Herhangi bir şeyi değiştirmeden önce etkilenen dosyaların, günlüklerin ve veritabanının bir kopyasını alın. Saldırganın nasıl girdiğini bulmanıza yardımcı olur.
- Yayılmayı durdurun. Ziyaretçiler zarar görüyorsa siteyi bakım moduna alın veya erişimi kısıtlayın.
- Kimlik bilgilerini değiştirin. Hosting, FTP/SFTP, veritabanı, CMS yöneticileri, API belirteçleri ve herhangi bir risk varsa kayıt firması ve DNS hesaplarınızın parolalarını ve anahtarlarını değiştirin.
- Güvenilir kaynaklardan temizleyin. Çekirdek dosyaları, temaları ve eklentileri resmi kaynaktan alınan temiz kopyalarla değiştirin veya enfeksiyondan önce alınmış bir yedeği geri yükleyin; bilinmeyen dosyaları ve yönetici kullanıcıları kaldırın.
- Giriş noktasını bulup kapatın. Güncel olmayan yazılım, güvenlik açığı olan bir eklenti, zayıf parolalar veya açıkta kalan yapılandırma yaygın nedenlerdir. Bunu düzeltmeden yeniden enfeksiyon olasıdır.
- Yeniden tarayın ve inceleme isteyin. İçeriden ve dışarıdan tekrar tarayın. Bir arama motoru veya tarayıcı siteyi işaretlediyse, temiz olduğundan emin olduğunuzda onların inceleme sürecini kullanın.
Site ödeme veya kişisel veri işliyorsa, ihlal bildirimiyle ilgili yükümlülüklerinizi (Türkiye’de örneğin KVKK kapsamında) yetkin bir danışmanla kontrol edin. Bu yazı hukuki tavsiye değildir.
Enfeksiyon olasılığını baştan azaltmak
Tarama sorunları yakalar; sıkılaştırma ise yakalanacak sorunların sayısını azaltır. Temel adımlar iyi bilinir ama sık sık atlanır:
- CMS’i, eklentileri, temaları ve sunucu yazılımını güncel tutun, kullanılmayan her şeyi kaldırın.
- Her yönetici ve hosting hesabı için benzersiz parolalar ve çok faktörlü kimlik doğrulama kullanın.
- Hesaplara ve dosya izinlerine yalnızca ihtiyaç duydukları erişimi verin, mümkünse yükleme dizinlerinde PHP çalıştırmayı kapatın.
- Siteyi yalnızca HTTPS üzerinden, ideal olarak HSTS ile sunun.
- Temiz bir sürümü hızla geri yükleyebilmek için düzenli, test edilmiş ve sunucu dışında tutulan yedekler alın.
Hesap düzeyindeki güvenlik de önemlidir: kayıt firması hesabınızı ele geçiren bir saldırgan, sunucuya dokunmadan tüm alan adını yönlendirebilir. Bu taraf için kayıt firması yönetici hesabınızı güvenceye alma rehberine göz atın.
Son olarak, bu sıkılaştırma adımlarını tarama rutininizle birlikte belgeleyin; böylece yeni ekip üyeleri sitenin nasıl korunduğunu tek bir kişinin hafızasına dayanmadan ikisini birden devralır.
Tüm yapıyı göz önünde tutmak
Kötü amaçlı yazılım taraması; yenilemeler, sertifikalar ve hosting ile birlikte operasyonel hijyenin bir parçasıdır. Birden fazla site yönetiyorsanız, hiçbir şeyin gözden kaçmaması için her alan adının, barındırıldığı firmanın ve yenileme tarihlerinin tek bir envanterini tutun. TLDix hosting takibi bu envanteri tutup hatırlatmalar gönderebilir; hosting sorgulama aracı da taramaya başlamadan önce eski veya devraldığınız bir sitenin gerçekte nerede çalıştığını doğrulamanıza yardımcı olur.
Devralınan siteler için ilk tarama
Bir müşteriden veya önceki bir ekipten site devraldığınızda, onu temiz kabul etmeden önce kapsamlı bir ilk tarama yapın. Yönetici kullanıcıları, cron görevlerini, yükleme klasörlerini ve sunucudaki gereksiz dosyaları gözden geçirin, tüm parolaları değiştirin ve ardından referans kaydınızı oluşturun. Bu başlangıç incelemesi, önceki dönemden kalan sessiz bir arka kapının sizin döneminizde sorun çıkarmasını önler.