Qmail’de 587 Submission Portunu Devreye Almak
| Bildiğiniz gibi bir müddet önce TTNET bazı illerden başlamak üzere dinamik ip sahibi ADSL abonelerinin 25. portlarını kapayacağını ve bu kullanıcıların mail gönderimi için 587. (submission) portunu kullanmaları gerekeceğini duyurmuştu. Bu yerinde uygulama için insanlardan gelen anlaşılmaz eleştriler nedeni ile de buradan erişebileceğiniz naçizane bir yazı hazırlamıştım. Eleştriler devam ede dursun, TTNet uygulamayı devreye almaya başladı ve çeşitli mecralarda smtp portunun bloklandığını duyar olduk. | ![]() |
Sonuç olarak, bir posta sunucusu yönetiyor ve adsl üzerinde posta hizmeti alan kullanıcılarınız varsa, kullanıcılarınıza submission portu üzerinden de hizmet vermeniz gerekir. Bu yazıda, üzerinde qmail ve vpopmail çalışan bir FreeBSD posta sunucusunda, submission portunun nasıl devreye alınabileceğini anlatan kurulum notlarını paylaşmak istiyorum.
qmail Validrcptto patch’i ile Backscatter Önlemi
![]() |
Bir önceki yazımda, backscatter mail’in ne olduğu ve nasıl önlenebileceği ile ilgili genel geçer bilgiler vermeye çalışmıştım. Bu yazıda ise, qmail sunucularda, validrctpto patch’inden yararlanarak backscatter faliyetlerinin nasıl engellenebileceğini anlatan bir döküman paylaşmak istiyorum. Backscatter’ın ne olduğu konusunda detaylı bilgi arıyorsanız buradan bir önceki yazıya göz atmanızı öneririm. |
Bu yazıda, bir qmail sunucuya, geçersiz kullanıcılara gönderilen postaları smtp seviyesinde reddedebilmesi için validrcptto.cdb patch’ini uygulayıp yapılandırma işleminin nasıl yapıldığını anlatan kurulum notlarını bulabilirsiniz.
Mtrack Shell Scripti ile Anlamlı qmail Logları
Daha önce de qmail log dosyaları ile ilgili yazdığım yazılarda da belirttiğim gibi, qmail’in log dosyalarının default hali ile pek anlaşılır değil. Bu nedenle herhangi bir aktiviteyi görüntülemek için log dosyalarını incelemek kolay bir iş değil; zira bu loglar, pek human readable değil.
Ancak mtrack shell scripti ile bu log dosyalarını daha anlaşılır kılmak mümkün. Logları incelemek istediğim zamanlar bu scriptten oldukça faydalanıyorum. Size de tavsiye ederim.
http://qmail.jms1.net/scripts/mtrack adresinde bulunan scripti örneğin qmail-send dosyasını track etmek için şu şekilde kullanabilirsiniz:
qmail Kurulum Scripti
Geçenlerde qmail’i temel bileşenleri ile hızlıca kurabilmek için herhangi bir shell script var mıdır diye bakındım; bir kaç kırık linkten başka bir şey bulamadım. Bunun üzerine de http://www.lifewithqmail.org adresinde anlatılan kurulum prosedürünü uygulayan bir shell script yazdım. Aşağıdaki linkten download edebileceğiniz bu script ile sıfırdan bir qmail kurulumu yapabilirsiniz.
Scriptin CentOS 5.2 ve FreebSD 7.0 için olan ayrı iki versiyonu var;
CentOS
http://www.syslogs.org/qmail/scripts/qinstaller.cnt55.v2.1.0.tar.gz
FreeBSD
http://www.syslogs.org/qmail/scripts/qinstaller.freebsd.v0.2.tar.gz
Kullanım:
Kuruluma başlamadan önce sisteminizde bash’ın yüklü olduğuna emin olun. (CentOS ile default gelmektedir.)
FreeBSD sistemlerde aşağıdaki comut ile kolayca kurabilirsiniz.
Qmail Log Dosyalarının Ebatını Arttırmak
Bilindiği gibi qmail’e ait işlem günlüklerinin tutulduğu dosyalarının ön tanımlı size değeri 100KB’dir. /var/log/qmail dizini altında duran bu log dosyalarının ebatı 100KB’dir sınırına ulaştığı zaman ilgili dosya Multilog tarafından rename edilir ve current isimli yeni bir log dosyası açılır; ayrıca rename edilerek backuplanan eski dosyaların sayısı da en fazla 5 olabilir. Dolayısı ile geçmişe yönelik qmail aktivitelerini daha rahat izleyebilmek için bu log dosyalarının boyutlatını arttırmak isteyebilirsiniz.
Örneğin, qmail-send’e ait aktivitelerin işlem günlüklerini tutan log dosyasının değeriğini attırmak için aşağıdaki yolu izleyebilirsiniz:
QmailToaster Kurulumu
Belki henüz qmail ile ilgili olarak bu tarz tecrübeleri edinmemiş fakat gerekli olan tüm modüllerle birlikte bir qmail sunucusu kurmak ve de bunu bir sürü derleme işlemi ile uğraşmadan hızlıca yapabilmek istiyorsunuzdur, işte qmail toaster tam bu noktada yardımımıza koşuyor.
Aslında, bu zamana kadar hiç qmail toaster kurmamıştım, ancak uzun zamandır duyduğum bir şey olduğundan dolayı bir qmail sunucusuna ilk ihtiyacım olduğu an bir qmail toaster kurulumu yaptım. İşte bu yazıda, CentOS 5.2 üzerinde yapılan bir qmail toaster kurulumuna ait notları bulabilirsiniz.
Qmail logs ve timestamp hadisesi.
Qmail log dosyalarının default tarih formatı ne kadar anlamsız değil mi ? Bu anlamsız format nedeni ile geçmişe yönelik bir mail aktivitesine ait bilgileri log dosyasında ararken ve özellikle tarih bilgisi de önem arz ediyorsa işiniz var demektir.
Multilog tarafından oluşturulan bu log dosyalarındaki, TAI64 isimli format kullanılarak üretilen timestamp’ler bir insan evladının bir bakışta okuyamayacağı kadar karmaşık olduğundan dolayı, bu bilgileri human-readable bir şekle dönüştürmeniz gerekmektedir.
Tai64 formatından, Human-Readable UTC formatına dönüştürme işini yapmak için daemontools paketinin içinde tai64nlocal isimli bir programcık bulunuyor. Bu programı kullanarak convert işlemini yapmak için log dosyasını track etmek için kullandığınız komutun (more, cat vs.) kıçına (pipe) | tai64nlocal ibaresini eklemeniz gerekiyor.
İşte şöyle:
Default timestamp içeren normal bir çıktı:
[root@hostname ~]# more logdosyası @400000004817b72606025e44 delivery 2: success: accepted_message./Remote_host_said:_250_ok @400000004817b726062f9094 status: local 0/10 remote 1/120 @400000004817b72606892dfc end msg 351 @400000004817b7260690c364 delivery 4: success: accepted_message./Remote_host_said:_250_ok @400000004817b7260699b85c status: local 0/10 remote 0/120 @400000004817b72606ce4964 end msg 362
Bu da human-readable hale dönüştürülmüş hali:
Greylisting
Greylisting, enteresan ve efektif bir spam ile başetme metodudur. Bu metod, gönderilen her bir mailin source ip’sini, gonderen e-mail adresini ve alıcı e-mail adresini kontrol ediyor. (Bu üç bilgiye triplet deniyor.) Eğer gönderilen bir maile ait bu üç bilgi daha önce rastlanılmamış bir triplet ise "geçici olarak servis dışı"ymış gibi davranarak ilgili maili reject ediyor ve "Daha sonra tekrar deneyiniz" şeklinde bir hata mesajı gönderiyor.
Server servis dışı olmadığı halde gönderilen maili geçici bir süre için reject etti. İşte greylist uygulamasının enteresan yönü bu.
Bu yalancı reject durumunun nedeni aslında çok basit; SMTP’nin standartların belirtildiği RFC 2821 uyarınca, bir mail geçici olarak reject edildiği zaman, gönderide bulunan MTA ya da maili gönderen uygulama bir müddet sonra aynı maili tekrar göndermek için teşebbüsde bulunur; bulunmuyorsa o mail spamdir.



