Debian Gnu/Linux (Sarge) ile Postfix (2.x) Smtp-Auth

Yazan : Serdar Aytekin - serdar~aytekin.web.tr
Versiyon : 1.0.0
Son Güncellenme Tarihi : 06-09-2004

GİRİŞ :

Belgede yazılanların uygulanıp uygulanmaması tamamen uygulayan kişinin sorumluluğundadır. Belgede bahsedilenlerin uygulanması sonucu ortaya çıkabilecek hertürlü zarardan yazar sorumlu tutulamaz. Belge GNU Özgür Belgeleme Lisansının http://www.gnu.org/copyleft/fdl.html adresinde yer alan -son sürümdeki- lisans içeriğine bağlı kalmak koşulu ile aynen yada kısmen dağıtılabilir, yayınlanabilir.

Bu belgenin son sürümüne;

http://www.serdaraytekin.com/docs/os/debian/postfix-smtp-auth.html adresinden ulaşabilirsiniz.

KURULUM :

  • apt-get install postfix-tls libsasl2-modules sasl2-bin libsasl-digestmd5

ile gerekli olan dosyaları indirelim. Kontrol etmek için şu komutu kullanalım,

  • dpkg -l|grep sasl

bu komutun çıktısı aşağıda görülmektedir. Sizin çıktınızda benzer şekilde olmalı (versiyon numaraları farklı olabilir)

ii libsasl-digest 1.5.28-6.1 DIGEST-MD5 module for SASL
ii libsasl-module 1.5.28-6.1 Basic Pluggable Authentication Modules for S
ii libsasl2 2.1.19-1.1 Authentication abstraction library
ii libsasl2-modul 2.1.19-1.1 Pluggable Authentication Modules for SASL
ii libsasl7 1.5.28-6.1 Authentication abstraction library
ii sasl2-bin 2.1.19-1.1 Programs for manipulating the SASL users dat

  • dpkg -l | grep postfix

çıktısınında aşağıdakine benzer olup olmadığını kontrol edip, devam edelim.

ii postfix 2.1.3-1 A high-performance mail transport agent
ii postfix-tls 2.1.3-1 TLS and SASL support for Postfix

Daha sonra, /etc/postfix/main.cf dosyasına aşağıdakileri ekleyin.

broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

  • nano /etc/postfix/master.cf

ile master.cf dosyasında

smtp inet n - - - - smtpd olan satırı,

smtp inet n - n - - smtpd -o smtpd_sasl_auth_enable=yes

şeklinde düzenleyelim.

  • nano /etc/postfix/sasl/smtpd.conf

dosyası oluşturup içerisine,

pwcheck_method: saslauthd
mech_list: plain login digest-md5 cram-md5

ifadelerini yazıp, kaydedip çıkalım. Daha sonra,

  • chmod 644 /etc/postfix/sasl/smtpd.conf

ile dosyasının erişim izinlerini ayarlayalım.

  • nano /etc/default/saslauthd

dosyasını açıp içerisini,

START=yes
MECHANISMS="shadow"

olacak şekilde düzenleyelim. Devam ediyoruz,

  • adduser postfix sasl

ile postfix'i sasl grubuna ekleyelim,

  • adduser postfix root

postfix'i root grubuna da ekleyelim

  • saslauthd -a shadow

ile saslauthd 'i başlatalım, ve son olarakda,

  • /etc/init.d/postfix restart

Artık postfix'i passwd/shadow üzerinden kimlik doğrulaması yapacak şekilde ayarladık. Postfix'in çalışıp çalışmadığını aşağıdaki gibi test edebilirsiniz. Şayet bu testde herşey normal ise, herhangi bir mail client programı (sylpheed, kmail, thunderbird, outlook vb.) ile deneme yapabilirsiniz.

TEST

İlk olarak postfix'in düzgün başlayıp başlamadığını kontrol edelim.

  • telnet localhost 25
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    220 server ESMTP Postfix (Debian/GNU)
    ehlo server
    250-server
    250-PIPELINING
    250-SIZE 10240000
    250-VRFY
    250-ETRN
    250-AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5
    250-AUTH=LOGIN PLAIN DIGEST-MD5 CRAM-MD5
    250 8BITMIME

Burda herşey normal ise, ikinci teste geçebiliriz.

  • testsaslauthd -u kullanici_adi -p sifreniz
    0: OK "Success."

Ok "Success" alıyorsanız, işlemlerini başarılı demektir.