Yazılar

Postfix NDR spam backscatter engelleme

emailbackscatterBackscatter Nedir?

Her SMTP sunucusu alıcısına iletemediği epostaları (bounce ) bir başka bildirimle göndericiye iletmek zorundadır.Bu bir standarttır.Gönderici gönderdiği epostayı alıcısına ulaşmadığını bu bildirim mesajıyla farkeder.Bu bildirimin adı non delivery reports veya kısa ndr,diğer başka bir tanımı da DSN yani Delivery Status Notification ‘dur.

Bu tasarlanan,iyiye hizmet eden bilişimin eskide kalmış bir hikayesi.Gerçek dünyada ise durum şöyle;

Bu raporlama sisteminin kötü amaçla kullanılabileceğini farkeden aşırı zeki spamcı milleti çaktırmadan  milyonlarca spam gönderebilmekte.Nasıl mı?

Bilindiği gibi epostada bir envelope sender aynı zamanda authenticated sender olmak zorunda değil.Yani eski mektup gönderdiğimiz günlere dönecek olursak.Göndereceğim zarfın üzerine kendi adımı yazmak zorunluluğum yok.

Backscatter epostanın envelope sender bölümüne istenilen email adresini yazılır.Alıcı kısmında da karşı tarafta bulunmayan bir eposta adresi belirtildiğinde gönderilen epostayı  alıcı smtp sunucusu red edecektir.Peki bu durumda NDR nereye gönderilecek?Elbette envelope sender kısmındaki kurbanımızın eposta adresine.Karda yürü ama izini belli etme.

Çözüm

Sanıyorum ki binlerce dolar ödenen o pek gözde,pek güzide eposta sistemleri kendi içinde bir mekanizmayla bu işi çözmüşlerdir.

Ama binlerce dolarım yok,aynı zamanda hosting işindeyim diyorsanız hayat size biraz daha zor.Zira elimizde kullanabildiğimiz en modern,gelişmiş ve güvenli smtp postfix.Postfixin resmi sayfasında backscatter engelleme ile ilgili bir takım çözüm önerileri var.Tembellik etmedim okudum.Neticede sunucunuzda bir veya birkaç hosting koşuyorsa kabul edilebilir bir çözüm sunulmuş.Ancak bu çözüm,paylaşımlı bir hosting sunucusu yönetiyorsanız ve şöyle 50-100 ve üzeri hosting barındırılıyorsa hiçbir işe yaramaz.

Yine gerçek dünyadan bir örnek vermek gerekirse;zaten yukarda sözünü ettiğimiz raporlama sistemi kanımca pek bir işe yaramıyor.Çünkü kimse pc başında karşısına çıkan hata mesajlarını okumuyor.O yüzden kökten çözüm olarak  NDR’ı komple kapatma yolunu seçebilirsiniz.

Bunun için postfix’in master.cf dosyasını açın.

ve aşağıdaki satırı;

bounce    unix  –    –    n    –    0    bounce

şu şekilde değiştirin;

bounce    unix  –    –    n    –    0    discard

dosyayı kaydedip kapattıktan sonra postfix servisini restart edin.Hepsi bu kadar.

 

Debian’da courier imap – vpopmail problemi ve çözümü

Yaklaşık 2.5 yıldır hizmette olan web hosting sunucumu tekrar kurmak zorunda kalınca bu sözünü ettiğim sorunla karşılaştım.Öncelikle konuyla ilgili kurulan yazılımlar hakkında kısa bir özet geçeyim.

Debian 4 stable üzerinde;

Kaynaktan derlenen yazılımlar

Qmail 1.03 (qmailrocks)

Vpopmail 5.4.13 (qmailrocks)

DEB paketlerinden kurulanlar
courier-authdaemon 0.58-4 Courier authentication daemon
courier-authlib 0.58-4 Courier authentication library
courier-authlib-userdb 0.58-4 userdb support for the Courier authenticatio
courier-base 0.53.3-5 Courier Mail Server – Base system
courier-imap 4.1.1.20060828-5 Courier Mail Server – IMAP server
courier-imap-ssl 4.1.1.20060828-5 Courier Mail Server – IMAP over SSL
courier-ssl 0.53.3-5 Courier Mail Server – SSL/TLS Support

Ne yazıkki herşeyi kurduktan sonra test aşamasında farkettim.Anlaşılan courier ,kimlik doğrulama esnasında kullanılabilen modullerden biri olan ,vpopmail tabanlı authvchkpw modulunu çöpe atmış…Yazılımın websitesinden ve Inter7 den de durum böyle anlaşılıyor.

İllaki authvchkpw destekli bir kuruluma ihtiyaç duyuyorsanız şansınızı kaynak paketlerinden deneyin derim.Debian paketleri yerine kaynaktan derlemek isteseniz bile ./configure parametrelerinde kurduğunuz vpopmail kullanıcısını vs belirtmeden bu sorunu aşamıyorsunuz.

Hemen karar vermeden önce courier’in buna yönelik alternatif bir çözümü olduğunu belirtmek istiyorum.Zaten yazmama sebep olan çözüm de bu..

Yukarıdaki courier paketini kurduktan sonra sisteminizde "vchkpw2userdb" isimli scripti göreceksiniz.İsminden de anlaşılabileceği gibi bu script,varolan vpopmail veritabanını userdb ye çevirmek için kullanıyorsunuz.Bununla ilgili örnek kullanımı aşağıda yazdım.
Not : Sunucumda çalışan vpopmail cdb kullandığı için,örneğim de buna yönelik oldu.Başka bir veritabanından userdb ye çevirme fırsatım olmadı.Eğer bu konuda bir sıkıntı yaşarsanız,kullandığınız veritabanını vconvert ile önce cdb ye çevirmeyi deneyin.(vconvert vpopmail beraberinde geliyor.~/vpopmail/bin altında bulabilirsiniz.

VpopMail Hesaplarının userdb ye aktarılması

mkdir /etc/courier/userdb
chmod 700 /etc/courier/userdb

vchkpw2userdb –todir=/etc/courier/userdb/vpopmail
makeuserdb

Kaynak

http://www.inter7.com/courierimap/INSTALL.html#userdb