Ana Sayfa » *nix » qmail Smtproute Auth Patch

qmail Smtproute Auth Patch


BerbatKötüİdare EderGüzelHarika (Toplam 1 oy. 5 puan üzerinden ortalama 5,00 || Oy vererek siz de katkıda bulunabilirsiniz.)
Loading...

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYfKEWGb' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349

qmail serverlarda giden tüm maillerin başka bir sunucusu üzerinden iletilmesini istemeniz durumunda, maillerin yönlendirileceği serverda relay izninizin olması gerekir.  Bu şekilde, 'inizin smtproutes dosyasına giden tüm mailleri ilgili server'a yönlendirmek demek için “:ip-adresi” şeklinde bir ibare girebilir ve yönlendirme işlemini yapabilirsiniz.

Fakat sunucunuzun static ipsi yoksa ya da uzaktaki smtp sunucusu üzerinde herhangi bir tasarrufunuz bulunmuyorsa ip üzerinden relay izni tanımlatma şansınız olmayabilir. Böyle bir durumda, uzaktaki sunucuda tanımlı kullanıcı bilgileriniz ile kimlik doğrulaması yapmayı ve otomatik olarak relay izni almayı düşünebilirsiniz fakat sunucular giden postalar için öntanımlı olarak smtp desteği sağlamadığından, bu işlem için qmail'e bir yama geçmeniz gerekir.

Neyseki qmail-remote'a smtp auth desteği sağlamak için için qmail-smtproute-auth isimli güzel bir yama bulunuyor. Aşağıda yama ile ilgili detaylı bilgi ve qmail'e uygulanarak, yapılandırılması konusunda kurulum notları bulabilirsiniz.

 

Qmail Smtproute Auth


Genellikle yukarıda bahsettiğim gibi bir ihtiyaç çok spesifik durumalarda ortaya çıkabilir. Örnek olarak kişisel ihtiyaçlarınız için dsl hattınızın ardında bir qmail sunucusu çalıştırıyor olabilir ve static bir ip adresine sahip olmayabilirsiniz. Bu durumda qmail sunucunuzdan göndereceğiniz mailler dinamik ip adreslerinden gelen mailleri kabul etmeyen hiç bir posta sunucusu tarafından teslim alınmayacaklardır.İşte böyle bir durumda, qmail'in gidecek maileri bir başka smtp server'ı (örneğin ISP'nize ait smtp server'ı) smart host olarak kullanarak o smtp üzerinden göndermesi çözüm olabilir. Ancak uzaktaki smtp sunucusu gönderileri kabul etmek için smtp auth yapılmasını istiyor olabilir ve qmail'in ön tanımlı smtp routing işlemi için kimlik doğrulama desteği vermemesi probleme neden olabilir.

Benzer bir sorunla karşılaştığım zaman problemin nasıl aşılabileceğine dair net fikirlerim yoktu, google'da biraz dolandıktan sonra http://petrocik.net/blog/?p=21 adresinde yayınlanan qmail-smtproute-auth isimli 'e rastladım. Bu qmail-remote.c'ye eklemeler yaparak, smtproute işlemi için kullanıcı adı ve şifre desteği sağlıyor. Bu şekilde yönlendirmenin yapılacağı sunucuda bulunan hesabınıza ait kullanıcı bilgilerini belirtebiliyor ve routing sırasında smtp auth yapılmasını sağlayabiliyorsunuz.

`in Uygulanması


Ben yamayı netqmail-1.06 sürümüne sorunsuz olarak uyguladım. Denemedim ancak qmail 1.03 ve netqmail-1.0.5 ile de sorunsuz uygulanabilir olması gerekir. Benim sistemimde qmail kaynak kodları /usr/local/src/ altındaki netqmail-1.06 ismi dizinde bulunuyor. Bu bilgilere göre yamayı sisteme aşağıdaki şekilde geçebiliriz:

/usr/local/src dizinine geçip yamayı indiriyoruz:

# cd /usr/local/src/
# fetch http://petrocik.net/downloads/qmail-smtproute-auth.patch

Sonrasında qmail kaynak kodlarının bulunduğu /usr/local/src/netqmail-1.06 dizinine geçip yamayı uyguluyoruz.

# cd /usr/local/src/netqmail-1.06/
# patch qmail-remote.c < ../qmail-smtproute-auth.patch

Şimdi de qmail'i durdurduktan sonra yeniden kuruyoruz.

# qmailctl stop
# make setup check

Herşey yolunda gittiyse, yapılandırma aşamasına geçebiliriz. (Henuz qmail'i start etmiyoruz.)

Yapılandırma


Yamanın düzgün çalışabilmesi için, /var/qmail/control/ dizini altında smtpauth ve smtppasswd isimli iki adet  dosya oluşturmak ve karşıdaki smtp sunucusunda  bulunan hesap bilgilerinin base64 encode edilmiş hallerini girmek icap ediyor. Bu iki dosya içleri boş da olsa oluşturulmadığı zaman qmail çalışmayacaktır. Bu nedenle kullanıcı bilgilerini girin ya da girmeyin, ilk etapta bu dosyaları oluşturalım:

# touch /var/qmail/control/smtpauth
# touch /var/qmail/control/smtppasswd

Bundan sonra, kullanıcı adı ve password bilgilerini base64 olarak encode etmek ve bu iki dosyaya girdikten sonra yönlendirme işlemi için smtproutes dosyasına gerekli satırı eklemek yeterli. Örnek olarak tüm giden postaları, 10.10.10.12 ip adresli smtp sunucusunda bulunan hesaptan göndermek için aşağıdaki gibi bir tanımlama yapılabilir:
İlk olarak kullanıcı bilgilerini http://base64decode.org/ isimli adresten base64 decode yapın. Sonrasında kullanıcı adınızın base64 decode halini /var/qmail/control/smtpauth dosyasına, şifrenizin decode halini ise /var/qmail/control/smtppasswd dosyasına girin.

En son adım olarak da tüm maillerin 10.10.10.12 ip adresli sunucuya yönlendirilmesi için /var/qmail/control/smtproutes dosyasına aşağıdaki şekilde bir giriş yapıyoruz:

:10.10.10.12

Daha sonrada qmail'i başlatıyoruz.

# qmailctl start

Bu şekilde, giden tüm mailler 10.10.10.12 ip adresli sunucuya yönlendirilecek ve belirtilen kullanıcı adı ve şifre ile kimlik doğrulaması yapılacaktır.

Hepsi bu kadar.

Yama ile ilgili detaylı bilgi için http://petrocik.net/blog/?p=21 adresine göz atabilirsiniz.

Visited 543 times, 1 visit(s) today
Kategoriler: *nix,ipucu,Qmail |

Bu yazılar da ilginizi çekebilir:


- qmail – Oversize DNS Patch
- Netqmail
- Spamdyke – Spam filter for qmail
- qmail Kurulum Scripti – FreeBSD 9.x
- Rblsmtpd

Yorumlar


  1. Gokhan | (Eylül 1st, 2011 11:41 am)

    Merhaba Cagri bey,

    Qmail ile spamgateway makalelinizi henüz daha okuyup uygulama şansım malesef olmadı. Ancak bu konuda bi iki sorum olucak.

    1. Smtproute girdiğimiz domainlerimize otomatik olarak mailbox tek tek iletebiliyormuyuz ?

    2. Orneğin Adsl arkasında olan Mail server bunlar için bir Atrn yada Etrn hizmeti almak yerine qmail spamgw olarak kullanıp aynı zamanda onun üzeriden mail atmak için neler yapmalıyız. ? Hem mailleri onunun üzerinden spamlardan ve virüslerden arınarak alırken hemde blacklist girmiş olan tt ip kurtulmak için üzerindne nasıl mail atabiliriz. Yani Relay nereden açabiliriz. ?

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Merhaba,

    İlk sorunuzu anlayamadım ancak ikinci sorunuzunda bahsettiğiniz şekilde bir spam gateway kurmak içimn yapmanız gerekenleri, http://www.syslogs.org/qmail-ile-anti-spam-ve-antivirus-gateway-kurulumu/ adresindeki yazıda detaylı olarak anlatmıştım.

    O yazıyı incelerseniz tüm merak ettiğiniz noktalar aydınlanacaktır.

    Selamlar,

    [Cevapla]

  2. Hasan Akgöz | (Temmuz 14th, 2013 12:17 am)

    Merhaba Çağrı hocam ,

    Bu patch’i denemek istiyorum fakat patch’in olduğu site kapalı. Eğer patch elinizde mevcut ise bir yerlere upload edebilir misiniz ?

    iyi çalışmalar dilerim.

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Selamlar,

    Malesef o patch bende de yok. (Baktım ama bulamadım.) Ayrıca, patch’in yazarı arkadaş ile konuştum; bir donanım sorunundan dolayı sunucusunda problem varmış ve yaknın zamanda düzeleceğini söylüyor. Ara sıra linki kontrol etseniz iyi olur.

    [Cevapla]

  3. Yusuf Erciyes | (Eylül 6th, 2013 12:01 pm)

    Merhaba Cagri bey

    qmail’de from adres ile authuser adresinde kontrolü ile ilgili bir patch gördüm fakat qmail-jms1’e patchlemek istiyorum ama verilen link aktif değil. Nasıl ulaşabilirim?

    Teşekkürler
    qmail-from-address-and-smtp-auth-username-check-patch

    [Cevapla]

Trackbacks

Yorumda bulunun.