cPanel ve Exim’de Spam Script’ini Bulma

⚠️ Önce şunu bilin: Kara listeden çıkarma talebi son adımdır. Script’i silmeden çıkarma istemek IP’nizi hemen yeniden listeler ve self-service çıkarma hakkınızı yakar. Önce kaynağı kapatın. Bkz. çıkarma öncesi kontrol listesi.

Paylaşımlı hostingde spam kaynağı genelde ele geçirilmiş bir e-posta hesabı değil, istismar edilen bir PHP dosyasıdır. Exim’in cwd= (current working directory) alanı, mailin hangi dizinden tetiklendiğini doğrudan verir — bu, setin en yüksek isabetli tekniğidir. Platform emin değilseniz teşhis akışına bakın (cPanel portları: 2083/2087, DirectAdmin: 2222 — o da Exim tabanlıdır, aynı komutlar geçerlidir).

cwd= Yöntemi: Mail Hangi Dizinden Çıkıyor?

# Mail hangi dizinden çıkıyor — istismar edilen script'i barındıran dizini bulur
grep cwd /var/log/exim_mainlog | grep -v /var/spool \
  | awk -F'cwd=' '{print $2}' | awk '{print $1}' \
  | sort | uniq -c | sort -n | tail

Çıktının en üstünde beliren dizin (ör. /home/kullanici/public_html/wp-content/uploads) suçlunun bulunduğu klasördür. /var/spool satırları normal kuyruk işlemidir, o yüzden elenir.

Kuyruk Analizi

# Kuyruk büyüklüğü ve en çok bekleyen alan adları
exim -bpc
exim -bp | exiqsumm | tail

Bir Mesajın Başlığından Script Yolu (X-PHP-Script)

# Bir mesajın başlıklarından script yolunu oku
exim -Mvh <mesaj-id>
# Çıktıda X-PHP-Script başlığı, maili üreten dosyanın tam yolunu verir

Kritik Adım: Dosyayı Daraltma (cwd’den Sonra)

Çoğu rehber cwd= komutunu verip bırakır. Asıl iş, o dizindeki hangi dosyanın sorumlu olduğunu bulmaktır. İki sinyali birleştirin:

# 1) Şüpheli dizinde son değişen PHP dosyaları (arka kapı sık sık yeni/değişmiştir)
find /home/kullanici/public_html -name '*.php' -mtime -3 \
  -printf '%TY-%Tm-%Td %TH:%TM  %p\n' | sort

# 2) Apache erişim logu: o script'e hangi IP, ne zaman POST atmış
grep 'supheli-dosya.php' /home/kullanici/access-logs/* | grep POST | tail

Dosya değişiklik zamanı ile Apache POST kaydının çakıştığı an, arka kapının çalıştığı andır. Bu iki sinyal, doğru dosyayı neredeyse kesin biçimde işaret eder.

WHM Tarafı

  • Mail Delivery Reports: WHM üzerinden hangi hesabın ne kadar mail gönderdiğini raporlar.
  • Saatlik gönderim limitleri (Max hourly emails): Hesap başına limit koyarak tek bir sitenin IP’yi batırmasını önleyin.

Sıralama Uyarısı: Önce Script, Sonra Kuyruk

İstismar edilen script’i silmeden kuyruğu temizlerseniz, script çalışmaya devam ettiği için kuyruk yeniden dolar. Doğru sıra: (1) script’i sil/karantinaya al, (2) hesabın parolasını değiştir, (3) sonra kuyruğu temizle.

Temiz ve limitli bir gönderim ortamı için yönetilen cPanel hosting çözümleri saatlik limit ve tarama katmanlarını hazır sunar. PHP kaynaklı gönderimin derinlemesine tespiti için PHP mail() spam makalesine bakın.

Kaynak Kapandı mı? Son Kontrol

  • ☐ cwd= ile bulunan dizindeki zararlı dosya silindi/karantinada
  • ☐ İlgili hesabın parolası değişti, eklentiler/CMS güncellendi
  • ☐ Kuyruk (exim -bpc) temizlendi
  • ☐ Hesap başına saatlik gönderim limiti WHM’de ayarlandı
  • ☐ IP yeni tespit almıyor — kontrol edin, sonra çıkarmayı değerlendirin
Powered by IHS Telekom