Backscatter Spam Nedir, Nasıl Önlenir ?
Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYbgR69n' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349
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.
Backscatter Nedir?
Bildiğiniz gibi, bir posta gönderiminde bulunduğunuz zaman, postanız şu ya da bu nedenle alıcıya iletilemezse, alıcının posta sunucusu, bu durumu bildirir bir rapor oluşturulup tarafınıza gönderir. DSN (Delivery Status Notification) ya da NDR (Non-Delivery Reports) olarak adlandırılan bu durum SMTP standartlarında bulunmaktadır ve her posta sunucusu, alıcısına iletemediği her mail için karşı tarafa durumu bildirmek için bir mesaj göndermek zorundadır. Bildiğiniz gibi buna bounce denmektedir.
Bu durum, spammerlar ve bir sisteme DDoS atağında bulunmak isteyenler için güzel fırsatlar sunuyor. Bir spammer, göndereceği mailin, envelope sender (mail from:) kısmına X bir e-mail adresi yazıp gönderimde bulunursa backscatter için önlem alınmamış tüm e-posta sunucularına ulaşan maillerden geçersiz kullanıcı içerenler için, mail from'da belirtilen X e-mail adresine birer DSN mesajı gönderilir. Spammerların, spam botlar aracılığı ile çok sayıda maili çok süratli bir şekilde gönderebildikleri düşünülürse, backscatter'e maruz kalan bir sunucu gelen çok sayıdaki DSN mesajı yüzünden şişen kuyruğu nedeni ile bir müddet sonra hizmet veremez duruma gelebilir. Sonuç olarak sunucunuz kendisinde olmayan kullanıcılar için mailin alıcısına bir DSN mesajı gönderiyorsa, backscatter yapmanıza ve tipik bir DDoS saldırısının üyesi haline gelmektedir.
Ayrıca, backscatter'a izin veren bir sunucunuz varsa, X kullanıcısına gönderdiğiniz bu yanlış DSN'ler nedeni ile kara listelere alınabilirsiniz. Zira UCA gibi black listlerin tuzak e-posta adresine göndereceğiniz bir DSN mesajı, backscatter'a neden olduğunuz anlamına gelmekte ve listeye alınmanızla sonuçlanabilmektedir.
Konunun bir başka boyutu da, yukarıdaki senaryoda geçen X e-mail adresi, sizin kendi e-mail adresiniz vs. olmasıdır. Bu durumda, backscatter mağduru siz olursunuz ve muhtemelen posta sunucunuz hizmet veremez hale gelir.
Backscatter'in ne olduğuna değindikten sonra, spammerların backscatter ile sağladıkları yararlara da değinmek gerekir.
Spammerlar Neden Backscatter Yapar?
Bunun başlıca nedenlerinden biri, gönderdikleri milyonlarca mailin, geri dönenlerinden (bounce edenlerinden) kurtulmaktır. Bu şekilde, kendi sistemlerinden yoğunluğa neden olmazlar, bandwidth tasarrufu sağlarlar. Bir diğer önemli nokta ise, spam mailin içeriğini iletmek istedikleri adreslere bounce mesajı olarak gönderirler. Bildiğiniz gibi, bounce eden bir mailin içeriğinde durumu bildiren raporun altında, mailin aslı da bulunmaktadır ve spam filtreleri genel olarak bounce mailleri, bir standardın gereği olduğundan dolayı engellememekte ya da junk olarak değerlendirmemektedirler. Sonuç olarak normal şekilde gönderdikleri mailler spam filtrelerine takılabilirken, bounce şeklinde gönderilen mailler filtrelerden etkilenmez.
Bir diğer amaç ise, yukarıdaki örnekte değinilen DDoS durumudur. Backscatter'a neden olan her posta sunucusu gönderdiği alakasız DSN mesajları ile envelope sender'ın posta sunucusunun kuyruğunu kolayca şişirebilir ve hizmet verememesine neden olabilir.
Backscatter için Alınması Gereken Önlemler
Bu konuda izlenebilecek belli başlı yöntemler bulunmaktadır. Smtp sunucunuzda, gelen mailler için DNSBL kontrolü, reverse dns kontrolü hatta spf kontrolü yapabilirsiniz. Bu durum backscatter yapmanızı ya da backscatter mağduru olma riskinizi aza indirger. Ancak bence en iyi çözüm, sisteminizde bulunmayan kullanıcılara gönderilen mailleri, SMTP seviyesinde reject etmektir.
Konuyu biraz açmak gerekirse, eğer posta sunucunuz kendisine iletilmek istenen maillerin alıcılarını henuz smtp oturumu sırasında kontrol ederse backscatter amacı ile gönderilmek istenen mailler sisteme alınmaz ve oturum sırasında, direk olarak smtp oturumunu açan client ya da sunucuya 5xx (geçersiz kullanıcı) hata mesajını döndürebilir. Bu kontrol yapılmaksızın mailler kabul edilirse, sunucunuz alıcının, geçerli olmayan bir kullanıcı olduğunu sonradan tespit edip, durumu bildirmek için mailin gönderenine bir DSN mesajı yollar. Eğer gelen maildeki gönderen adresi backscatter için özellikle değiştirilmişse ise, DSN mesajı, bu gerçek olmayan göndericinin sunucusuna iletilir. Böylece backscatter yapmış olursunuz.
Sonuç olarak, gönderilmek istenen bir maili henuz smtp oturumu sırasında reject ederseniz hata, bir DSN mesajı şeklinde mail from: kısmında yazan mail adresine değil smtp oturumu sırasında maili göndermek isteyen asıl muhattabına döndürülür. Böylece sunucunuzdan yararlanarak bir yere backscatter saldırısı yapamazlar; siz de herhangi bir black liste girmezsiniz. Bu işleme Recipient Validation ya da Recipient Address Verification denmektedir ve bu özellikten yararlanabilmeniz için sunucunuzca desteklemesi gerekir.
Alıcı Doğrulama
Artık hemen hemen tüm posta sunucuları, bu özelliği desteklemektedir. Ancak ne yazık ki, bir çok sistemde bu özelliğin aktif olmadığını söylemek mümkün. Sonuç olarak çevremizde bir çok backscatter'a izin veren sunucu bulunuyor.
Aşağıda postfix, qmail ve ms exchange için bu özelliği devreye almakla ilgili bilgiler bulunmaktadır.
-
Postfix
http://www.postfix.org/BACKSCATTER_README.html adresinde konu ile ilgili geniş bilgi yer almaktadır, anlatılan yönergeleri izleyerek postfix sunucunuzda adres doğrulama işlemini gerçekleştirebilirsiniz.
Ayrıca, eğer postfix'i bir smtp gateway olarak kullanıyorsanız, aşağıdaki adreste konu ile ilgili bir makale bulunmaktadır.
http://blog.lifeoverip.net/2007/06/27/gecersiz-kullanicilara-gelen-maillerle-basetmek/
-
Ms Exchange
Ms Exhchange'de ise “Filter recipients who are not in the Directory” şeklinde bir ayar bulunmaktadır ve direcroty'de olmayan kullanıcılara mail gönderilmesini engellemektedir. Bu ayar, Global Settings altındaki Message Delivery segmesnin özelliklerinden ulaşılabilen Recipient Filtering bölümünde bir check box olarak bulunmaktadır. İşaretlediğiniz zaman, sunucunuzda olmayan kullanıcılara mail atılması engellenmiş olur.
-
qmail
qmail kullanıyorsanız, bu özelliği aktif etmek için yazılmış olan bir kaç patch'den birini sisteminize geçmeniz gerekir. Örneğin validrcptto patch'i bu iş için iyi bir alternatiftir.
Ben de validrcptto patch'ini kullanıyorum ve bir sonraki yazımda, bir kaç e-posta sunucusunun önünde anti-spam antivirüs gateway olarak çalışan bir qmail sunucusunda, arkadaki sunucularda olmayan kullanıcılara gönderilen maillerin smtp bazında engellenmesi için validrcptto patch'inin uygulanmasını anlatan bir döküman yayınlayacağım.
Şimdilik hepsi bu.
Konuyla ilgili daha detaylı bilgi için aşağıdaki linklerden yararlanabilirsiniz.
http://en.wikipedia.org/wiki/Outscatter
http://www.backscatterer.org/?target=backscatter
http://backscattervictims.blogspot.com/
http://email.about.com/od/understandingspamfilters/g/backscatter.htm
http://spamlinks.net/prevent-secure-backscatter.htm
http://qmail.jms1.net/patches/validrcptto.cdb.shtml
Bu yazılar da ilginizi çekebilir:
- Bounce Maillerden kurtulmak.
- Spam E-Posta’lar Üzerine Birkaç İstatistik
- Greylisting
- TTNet’in SMTP (25) Portunu Engellemesi
- qmail Validrcptto patch’i ile Backscatter Önlemi
Yorumlar
Trackbacks
Yorumda bulunun.
Selamlar,
TCP protokolunda port numarasi,25 ya da 587, sadece bir sayidir.
Port numarasi, haberlesme ile ilgili degil, haberlesilecek porttaki uygulamanin farklilasmasini getirir.
587’de yailan uygulamayi, 25’te de yapabilirsiniz(filtreleme, authentication,vs).
Yapamiyorsaniz, 25 olmayip 587’de olmamasi degil, uygulamayi 25’e gecirememenizden, yani kolayciliga kacmanizdandir.
Ki, hali hazirda da 587 uzerinden spam mail (backscatter olarak) gelmektedir.
[Cevapla]
Merhaba,
Sanirim konuyu karistirdiniz. Bu yazida submission ile ilgili herhangi bir anlatim bulunmuyor.
[Cevapla]
Dogrudur,
TTnet’in 25. portu kapatmasi ile ilgili yorumu yanlislikla bu kisma atmisim…
Iyi çalişmalar dilerim,
[Cevapla]
Faydalı konu olmuş, teşekkür ederim.
[Cevapla]