Backscatter Spam Nedir, Nasıl Önlenir ?
Backscatter diye tanımlanan spam faliyetleri, her sistem yöneticisinin önlem alması gereken bir konudur. Kullandığınız MTA ne olursa olsun, kısaca, “spammer ya da worm’lar tarafından sahte gönderen adresleri ile atılan spam maillerden bounce edenlerin, ilgili sahte sender’ın posta sunucusunda yol açtığı bounce bombardımanı” olarak özetlenebilecek backscatter olaylarına mahal vermemek için çeşitli adımlar atmak icap etmektedir. Aksi halde, posta sunucunuz bir backscatter faliyetinin kurbanı ya da bir DDoS atağının bir elemanı olabilir. |
İşte bu nedenle, backscatter’in ne olduğu, nasıl önlenebileceği gibi konulara genel geçer olarak değinmek için bu yazıyı yazmak istedim. Zira, backscatter ile ilgili araştırma yaparken çevremizdeki bir çok posta sunucusunun backscatter için önlem almadığına şahit oldum.
TTNet’in SMTP (25) Portunu Engellemesi
Bildiğiniz gibi TTNet spam mailler ile mücadele için bugün itibari ile pilot bölge seçilen bazı şehirlerde, dinamik IP’ye sahip adsl abonelerinin 25. portlarını kapatıyor. Böylece bu aboneler 25 numaralı smtp portuna ulaşamayacaklar. Bu konu gündeme geldiği zaman üye olduğum bir çok mail listesine konuyla ilişkili eleştirel bir çok mail geldi.Fakat ben bu uygulamanın bu kadar eleştiriyi hakketmeyen, aksine tam da yerine bir uygulama olduğunu düşünüyorum. |
İşte bu nedenle de konunun teknik kısımları ile ilgili bu yazıyı yazmak istedim.
Spamdyke – Spam filter for qmail
Hatrı sayılır oranda mail trafiğine sahip bir qmail sunucusunun spam trafiği de o oranda fazla oluyor. Böyle bir sunucum var ve spam ile mücadele etmek için bu serverı, üzerinde spamassassin, qsheff ve rblsmtp kurulu olan bir smtp gateway arkasında çalıştırıyorum. Bu üçlü, kullanıcıları spam illetinden oldukça başarılı bir şekilde kurtarıyor. |
Ancak söz konusu spam ile savaş olduğunda, bazı zamanlar false positive durumlar yaşanmaması imkansız oluyor. Geçenlerden yine bir false positive sorunu ile karşılaştım. Ilgili qmail üzerinde hesabı bulunan ve Internet’e ADSL ile bağlanan bir kullanıcının ip’sinin, kullandığım block listte yer almasından dolayı gönderdiği mailler RBLSMTP tarafından reject ediliyordu.
Smtp authentication işleminden geçmesine rağmen adsl ip pool’undan aldığı kirli bir ip adresi nedeniyle ortaya çıkan bu sorun kafayi yemek için güzel bir false positive örneği değil mi?
Bu durum karşısında, yani smtp auth yapmış kişiler için rbl check işlemini pass geçmek için bir çözüm ararken Sam Clippinger’ın 2007’de yazdığı spamdyke isimli bir yazılıma rastladım. Qmail için yazılmış bu tool herhangi bir patch gerektirmeden sisteme kolayca kurulabiliyor ve yapılandırması oldukça basit. FreeBSD ports collectionda bulunan spamdyke’ı kurmam ve yapılandırmam 10 dakikamı almadı.
İşte üzerinde vpopmail çalışan bir qmail’in /var/qmail/supervise/qmail-smtpd/run dosyasının spamdyke ile ilgili temel satirları:
/usr/local/bin/spamdyke -l3 -d /var/qmail/control/rcpthosts -a 300 -T 60 -S /var/qmail/control/blacklist -x bl.spamcop.net --smtp-auth-command-encryption "/home/vpopmail/bin/vchkpw /usr/bin/true" --hostname hostname.domainname.com --access-file /etc/tcp.smtp
Smtp auth. özelliğinden başka bir sürü işe yarar özellikle birlikte gelen spamdyke gerçekten süper bir anti-spam aracı.
Şiddetle tavsiye ederim.
Daha fazla bilgi için:
http://www.spamdyke.org/documentation/README.html
Bounce Maillerden kurtulmak.
Mail serverinizda olmayan bir kullaniciya bir mail gonderildigi zaman, serveriniz ilgili RFC‘lerde belirlenmis kriterleri goz onune alarak maili atan adrese”Bende bu sekilde bir kullanici yok.” mealinden bir hata mesaji gonderir (Delivery Status Notification). Bu sekilde maili gonderen kullanici, gondermis oldugu mailin akibetini ve neden iletilemediginin nedenlerini ogrenmis olur.
Ne kadar kullanisli bir sistem degil mi ?
Ancak bu sorunun cevabi her zaman evet olmayabiliyor, ozellikle artik spammer ve kotu niyetli kisiler SMTP’nin bu guzel ozelligini kullanarak sisteminizin basina bela olabiliyorlar. Mesela, bu spammer arkadaslardan biri, sizin mail serverinizda bulunmayan bir kullaniciya, olmayan bir mail adresinden mail atiyor. Bu durumda, mail serveriniz kendi uzerindeki kullanicilar arasinda bu mailin muhattabini bulamadigi icin bir DSN mesaji hazirlayip, spammer’in gonderim yaptigi mail adresine bu mesaji iletiyor. Ancak karsi tarafta da boyle bir mail adresi olmadigindan dolayi, gonderilen hata mesaji karsi tarafin mail serverinca duzenlenmis yeni bir hata mesaji ile birlikte mail serveriniza geri gonderiliyor. Durum bu olunca da posta sunucunuzun kuyrugunda manasi olmayan bir cok mail birikiyor. Sonra vaktinizin bir kismini bu mailleri kuyruktan silmeye vakfediyorsunuz. Ne kadar guzel bir havanda su dovme yontemi degil mi ?
Iste Qmail/Vpopmail serverinizda bu durumdan kurtulmak icin yapilabilecek seyler mevcut.
Oncelikle, double bounce olarak nitelendirilen bu mailleri, http://www.faqts.com/knowledge_base/view.phtml/aid/2571/fid/203 linkinde anlatilan sekilde uzay bosluguna gonderebilirsiniz.
Qmail’in control dizini altinda, doublebounceto isimli bir dosya olusturup icine devnull yazin.
# echo devnull > /var/qmail/control/doublebounceto
Daha sonra qmail’in alias dizini altinda .qmail-devnull isimli bir dosya olusturarak icerisinde sadece # yazin.
# echo # > ~alias/.qmail-devnull
Ve qmail’inizi restart edin.
Bir de daha radikal bir cozum soz konusu; o da herhangi bir bounce mail gondermemek.
Bunu yapmanin yolu da soyle:
~vpopmail/domains/domain.com dizininde bulunan ve icerigi,
|/var/vpopmail/bin/vdelivermail ” bounce-no-mailbox olan .qmail-default isimli dosyanin icerigini
|/var/vpopmail/bin/vdelivermail ” delete olarak degistirin.
Elveda bounce ve double bounce mailler.