Güvenli POP3/IMAP4 Sunucu Kurulum Ve konfigürasyonu

 

 

 

Bu yazıda yazılanlar red hat Linux üzerinde qmail+vpopmail kurulu bir sistemde 4 domain ile denenmiştir.

 

Kullandığımız  sunucu  yazılımı "dovecot" (http://www.dovecot.org/) tamamen güvenlik düşüncesi önplanda tutularak yazılmıştır.Aynı zamanda yazar C dilinin tüm esnekliğini  ve çeşitli kodlama yöntemleri(http://www.dovecot.org/doc/securecoding.txt) kullanarak bir pop3/imap4 sunucudan alınabilecek en iyi verimi vermeyi düşünmüştür, bunda  oldukça başarılı olduğunu söyleyebilirim.

 

Kurulum

 

[root@hydrian root]# cd /tmp/

 

[root@hydrian tmp]# wget http://www.dovecot.org/releases/dovecot-0.99.10.7.tar.gz

 

[root@hydrian tmp]# tar -zxvf dovecot-0.99.10.7.tar.gz

 

[root@hydrian tmp]# cd dovecot-0.99.10.7

 

Kurulum için

 

[root@hydrian dovecot-0.99.10.7]# ./configure && make && make install

 

komutlarını arka arkaya vermeniz yeterlidir.Kurulumu /usr/local dizinine gerçekleştirir.Farklı kurulum seçeneklerini denemek için

 

[root@hydrian dovecot-0.99.10.7]# ./configure –help

 

komutunu kullanabilirsiniz.

 

Kurulum sonrasında dovecot-example.conf dosyasını dovecot.conf olarak kaydederek ayarlarımızı dosyaya girelim.

 

[root@hydrian dovecot-0.99.10.7]#   mv /usr/local/etc/dovecot-example.conf /usr/local/etc/dovecot.conf

 

Sonra  /usr/local/etc/dovecot.conf dosyasını herhangi bir editöre açıp aşağıdaki değerleri uygun bir şekilde düzenleyelim.

 

#protocols = imap imaps

satırını bulup aşağıdaki şekle getirelim,

 

protocols = imap  pop3

 

bu değişimle dovecot sunucumuza pop3 ve imap protokollerini çalıştırmasını söylüyoruz. Eğer imaps ve pop3s(güvenli IMAP ve POP3) isterseniz aşağıdaki şekle getiriniz.

 

protocols = imap imaps pop3 pop3s

 

#log_path =

satırını

 

log_path = /var/log/dovecot

 

şekline getirelim. Dovecot öntanımlı olarak  hata loglarını “syslog”a gönderir,eğer ayrıcalıklı log dosyası istersek log_path yönergesi ile bunu belirtebiliriz.Sonradan bu belirttiğimz dosyayı oluşturup gerekli izinlerini ayarlamalıyız.

 

#info_log_path =

satırını da aşağıdaki gibi değiştirelim.

 

info_log_path = /var/log/dovecot

 

 

Dovecot deamonunun sağlıklı çalışmasını sağlamak için dovecot adında sisteme giriş izni olmayan bir kullanıcı oluşturuyoruz.

 

[root@hydrian dovecot-0.99.10.7]# useradd -s /bin/false -d /dev/null dovecot

 

Şimdide belirttiğimiz bu dosyayı sistemde oluşturalım.

 

 

[root@hydrian dovecot-0.99.10.7]# touch /var/log/dovecot

 

[root@hydrian dovecot-0.99.10.7]# chown dovecot:root /var/log/dovecot

 

 

 

auth_userdb = vpopmail

yukarıda qmail ile vpopmail kullandığımızı söylemiştik,burada da kullanıcı adları için  dovecot’un vpopmaile danışacağını bildiriyoruz.

 

#base_dir = /var/run/dovecot/

değerini

 

base_dir = /var/run/dovecot/

 

şeklinde değiştiriyoruz.

 

SSL kullanmayacaksak -ki burada kullanılmadığını düşünerek anlatıyorum-aşağıdaki satırı yes olarak değiştiriniz.

 

#ssl_disable = no

 

ssl_disable = yes

 

auth_passdb = pgsql /usr/local/etc/dovecot-pgsql.conf satırını

 

auth_passdb = vpopmail

şekline getirin ve dosyayı kaydederek çıkınız.Son bir işlemde dovecotun yönetimi ile ilgili ufak bir script,bunu da red hat sistemlerdeki init scriptlerinden birini değiştirerek kolayca halledebiliriz.Aşağıdaki scripti /etc/init.d/dovecot adı ile kaydedlim

------------Script Başlayış--------------

. /etc/init.d/functions

 

test -x /usr/local/sbin/dovecot || exit 0

 

RETVAL=0

prog="Dovecot Imap"

 

start() {

        # Check if dovecot is already running

        if [ ! -f /var/lock/subsys/dovecot ]; then

            echo -n $"Starting $prog: "

            daemon /usr/local/sbin/dovecot

            RETVAL=$?

            [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dovecot

            echo

        fi

}

 

stop() {

echo -n $"Stopping $prog: "

        killproc /usr/local/sbin/dovecot

        RETVAL=$?

        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dovecot

        echo

}

case "$1" in

  start)

        start

        ;;

  stop)

        stop

        ;;

  reload|restart)

        stop

        start

        RETVAL=$?

        ;;

  condrestart)

        if [ -f /var/lock/subsys/dovecot ]; then

            stop

            start

        fi

        ;;

  status)

        status /usr/local/sbin/dovecot

        RETVAL=$?

        ;;

  *)

        echo $"Usage: $0 {condrestart|start|stop|restart|reload|status}"

        exit 1

esac

 

exit $RETVAL

 

-----------------Script bitiş------------------------

sonrada scriptimize çalışma izni verelim.

 

[root@hydrian dovecot-0.99.10.7]# chmod +x /etc/init.d/dovecot

 

Buraya kadar herhangi bir sorun çıkmadıysa dovecot deamonumuz sağlıklı çalışacak demektir.

 

[root@hydrian dovecot-0.99.10.7]# /etc/init.d/dovecot start

Starting Dovecot Imap:                                     [  OK  ]

 

komutu ile de dovecotu başlatabiliriz.

 

Huzeyfe ÖNAL