Linux MailServer II


Membuat mailserver menggunakan postfix dan dovecot serta smtp-auth dan TLS, seprti pada tulisan sebelumnya di sini

Untuk syarat umum, mandriva telah tersambung ke cooker, pilih cooker dari http://easyurpmi.zarb.org

Install Postfix dan Dovecot

#urpmi postfix dovecot cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain

Setelah selesai, sekarang giliran mengkonfigurasi SMTP-AUTH dan TLS

postconf -e ‘smtpd_sasl_local_domain =’
postconf -e ‘smtpd_sasl_auth_enable = yes’
postconf -e ‘smtpd_sasl_security_options = noanonymous’
postconf -e ‘broken_sasl_auth_clients = yes’
postconf -e ‘smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination’
postconf -e ‘inet_interfaces = all’
postconf -e ‘mynetworks = 127.0.0.0/8’

Kemudian edit file /usr/lib/sasl2/smtpd.conf

vim /usr/lib/sasl2/smtpd.conf

pwcheck_method: saslauthd
mech_list: plain login

Buat sertifikat untuk TLS

mkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024

chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr

openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt

openssl rsa -in smtpd.key -out smtpd.key.unencrypted

mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

Selanjutnya mengkonfigurasi Postfix agar menggunakan TLS

postconf -e ‘smtpd_tls_auth_only = no’
postconf -e ‘smtp_use_tls = yes’
postconf -e ‘smtpd_use_tls = yes’
postconf -e ‘smtp_tls_note_starttls_offer = yes’
postconf -e ‘smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key’
postconf -e ‘smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt’
postconf -e ‘smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem’
postconf -e ‘smtpd_tls_loglevel = 1’
postconf -e ‘smtpd_tls_received_header = yes’
postconf -e ‘smtpd_tls_session_cache_timeout = 3600s’
postconf -e ‘tls_random_source = dev:/dev/urandom’
postconf -e ‘smtpd_sasl_authenticated_header = yes’

Set hostname untuk mail server Postfix

postconf -e ‘myhostname = server1.example.com’

Coba cek konfigurasi Postfix di /etc/postfix/main.cfcat /etc/postfix/main.cf

akan terlihat seperti dibawah ini

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2

debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.3.6/samples
readme_directory = /usr/share/doc/postfix-2.3.6/README_FILES
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
mynetworks = 127.0.0.0/8
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtpd_sasl_authenticated_header = yes
myhostname = server1.example.com

Kemudian start Postfix, saslauthd, dan Dovecot:

/etc/init.d/postfix start
/etc/init.d/saslauthd start
/etc/init.d/dovecot start

Sekarang kita coba tes hasil konfigurasi diatas

telnet localhost 25

setelah berhasil tersambung, ketikkan

ehlo localhost

jika udah ada baris

250-STARTTLS

dan

250-AUTH LOGIN PLAIN

brarti konfigurasi postfix tidak ada kesalahan

Lengkapnya seperti ini

[root@server1 ssl]# telnet localhost 25
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
220 server1.example.com ESMTP Postfix
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
[root@server1 ssl]#

Lanjut ke Maildir di Dovecot

edit langsung file /etc/dovecot.conf dan pastikan memberi nilai konfigurasi yang ada  sesuai dengan yang diharapkan

misal :

protocols = pop3 pop3s imap imaps

untuk mendefinisikan protokol yang akan digunakan oleh dovecot

default_mail_env = maildir:~/Maildir (for maildir)

atau

default_mail_env = mbox:~/mail:INBOX=/var/mail/%u (for mbox)

untuk menentukan jenis tipe mailbox yang akan digunakan oleh dovecot

Untuk menseting format maildir

Postfix : edit file /etc/postfix/main.cf dan tambahkan nilai

home_mailbox = Maildir/
mailbox_command =

Trus di dovecotnya (file /etc/dovecot.conf)

default_mail_env = maildir:/home/%u/Maildir

Untuk testing dovecotnya

/etc/init.d/dovecot start
telnet localhost pop3
Trying localhost...
Connected to localhost.
Escape character is '^]'.
+OK dovecot ready.

Ok, sip… selesai😀

4 comments

  1. mas Bayu, ini bedanya dengan setting postfix yang dulu mas Bayu pernah bikin apa ya.? apakah ini lebih siiip di security-nya atau bagaimana.

    Dovecot itu apa ya mas…

  2. Setelah selesai, sekarang giliran mengkonfigurasi SMTP-AUTH dan TLS….

    Nah itu gimana cara mengkonfigurasinya mas.? (cara buka configurasinya)

  3. mas makasi ya atas informasinya!tp apa cara membuat mailserver d linux sama semua?(entah itu di red had,suse,slackware dll)?sebab aku jg bru belajar linux,klo beda aku mo nanya dong cara membangun mail server d slackware? cos aku mo buat laporan it di kampus tp ga tau cara membuatnya!!!!!!:)klo ada minta dong reverensinya??????

  4. untuk membuat mail server di linux, step by step nya adalah sbb

    -memilih MTA (Mail Transfer Agent) apakah mo make postfix, qmail, exim, sendmail, dll
    -setelah penentuan MTA yang akan digunakan, silahkan merefer dulu ke situs resmi MTA tsb untuk membaca dokumentasinya (minimal)
    -kalo udah ok, tinggal install aja, untuk instalasi sesuaikan dengan distro yang dipake, dan kalo bisa gunakan paket MTA bawaan distro
    -instalasi standar biasanya udah bisa dipake dan bisa jalan
    -untuk instalasi plugin dan lain sebagainya, silahkan merujuk ke situs masing2

    begitu kira2 step by stepnya
    untuk referensi (meskipun pake distro lain) instalasi bisa di terapkan ke semua jenis distro. pastikan merujuk ke situs distro yang bersangkutan

    ini ada beberapa link
    http://www.qmailrocks.com/
    http://www.qmailtoaster.com/
    http://postfix.or.id/
    http://www.postfix.org/
    http://www.qmail.org/
    http://www.sendmail.org/
    http://www.exim.org/
    dll

    kalo yg bayar juga banyak

    instalasi

    http://howtoforge.net/howtos/email
    dll

    petunjuk tsb bisa diaplikasikan ke smua distro linux

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: