Konsep Dasar
Postfix adalah mail transfer agent yang bersifat open source untuk sejumlah sistem operasi bertipe Unix. Postfix didistribusikan menggunakan Lisensi Umum IBM 1.0 yang merupakan lisensi perangkat lunak bebas tetapi tidak kompatibel dengan GPL. Postfix dulu bernama VMailer dan IBM Secure Mailer. Postfix pada awalnya dibuat oleh Wietse Venema sewaktu ia bekerja di IBM Thomas J. Watson Research Center, dan sampai sekarang masih aktif dikembangkan. Postfix pertama kali dirilis pada pertengahan 1999. Postfix mempunyai milis yang aktif sekali, dan Wietse Venema sangat aktif membantu anggota yang bertanya disana.
Salah satu ketangguhan Postfix adalah kemampuannya menahan "buffer overflow". Ketangguhan lainnya adalah kesanggupan Postfix memproses surat elektronik dalam jumlah banyak. Postfix dibuat dengan sistem jaringan daemon dimana setiap daemon hanya mengerjakan satu tugas dengan menggunakan akses minimum ke sistem. Dengan begitu, jika ada satu daemon yang bermasalah maka hanya akan memengaruhi daemon tersebut dan tidak akan berimbas ke seluruh sistem Postfix. Sewaktu Postfix dijalankan, hanya ada satu proses yang menggunakan akses "root".
Dovecot adalah server IMAP dan POP3 yang bersifat open source yang dibuat dengan mempertimbangkan keamanan. Keuntungan menggunakan dovecot ini adalah penggunaan memori yang sangat rendah sehingga tidak terlalu membebani server anda. Didalam dovecot terdapat berbagai paket yang terdiri dari program-program tambahan yang memberikan berbagai fungsi untuk mail. Berikut paket yang terdapat didalam dovecot.
- dovecot-pop3d merupakan paket yang terdiri dari program –program tambahan dovecot yang memberikan fungsi post office protocol (POP)
- dovecot-imapd merupakan paket yang terdiri dari program – program tambahan dovecot yang memberikan fungsi Internet Message Access Protocol (IMAP)
- dovecot-common merupakan paket yang terdiri dari konfigurasi dasar dan contoh konfigurasi dengan berbagai studi kasus.
Topologi
Konfigurasi Domain Mail (Penambahan Domain)
1. Sebelum memulai melakukan konfigurasi mail server, terlebih dahulu kita buat sub domain atau identitas untuk mail servernya. Untuk membuat sub domain untuk mail server, lakukan editing pada file forward. Kemudian tambahkan identitas dengan nama mail dan tambahkan juga ip address server.
2. Setelah melakukan editing pada file forward, lakukan juga editing pada file reverse. Kemudian tambahkan identitas untuk mail servernya.
3. Setelah selesai melakukan editing pada file forward dan file reverse, agar domain atau identitas untuk mail server yang telah ditambahkan tadi dapat berjalan, maka lakukan restart pada named. Untuk melakukan restart pada named, ketikkan command systemctl restart named.
4. Kemudian cek domain atau identitas mail server menggunakan perintah dig mail.gilang.net. Maka akan muncul identitas mail server pada question section dan answer section.
5. Lakukan juga ping menuju domain mail servernya dan pastikan mendapatkan reply.
Konfigurasi Mail Server
1. Secara default postfix sudah terinstall pada sistem operasi centos, untuk mengeceknya cobalah anda menginstall postfix, maka anda akan mendapatkan informasi seperti gambar dibawah yang menyatakan postfix sudah terinstall.
2. Kita edit konfigurasi postfix pada file main.cf. Terlebih dahulu buka file main.cf menggunakan command berikut.
[root@gilang ~]# nano /etc/postfix/main.cf
Kemudian cari script mydestination, maka akan terdapat tiga baris mydestination seperti gambar dibawah. Baris pertama adalah mydestionation yang aktif (ditandai dengan tidak terdapat tanda pagar #) dan baris kedua dan ketiga adalah mydestination yang tidak aktif. Mydestination ini berguna untuk mendefinisikan daftar domain yang dikirimkan emailnya. Disini kita akan mengisikan valuenya menjadi $myhostname, localhost.$mydomain,localhost,$mydomain.
$myhostname untuk mendefiniskan hostname mail servernya, localhost.$mydomain, localhost yaitu mail server itu sendiri, dan yang terakhir $mydomain untuk mendefinisikan nama domain internet dari sistem email ini. Tambahkan tanda pagar # pada mydestionation yang pertama (mydestionation = $myhostname, localhost.$mydomain, localhost) kemudian uncommand (hilangkan tanda pagar) pada mydestionation baris yang kedua (mydestionation = $myhostname, localhost.$mydomain,localhost,$mydomain).
$myhostname untuk mendefiniskan hostname mail servernya, localhost.$mydomain, localhost yaitu mail server itu sendiri, dan yang terakhir $mydomain untuk mendefinisikan nama domain internet dari sistem email ini. Tambahkan tanda pagar # pada mydestionation yang pertama (mydestionation = $myhostname, localhost.$mydomain, localhost) kemudian uncommand (hilangkan tanda pagar) pada mydestionation baris yang kedua (mydestionation = $myhostname, localhost.$mydomain,localhost,$mydomain).
Tampilan default mydestination |
Tampilan mydestionation setelah diedit |
3. Kemudian cari script inet_interface. Secara default valuenya adalah localhost, ubah valuenya yang tadinya localhost menjadi all. Hal tersebut untuk mendefinisikan alamat antarmuka jaringan yang digunakan oleh sistem email agar dapat menerima semua email pada semua jaringan yang terhubung.
4. Lalu scroll hingga ke baris paling bawah, dan tambahkan script berikut ini.
myhostname = mail.gilang.net mydomain = gilang.net myorigin = $mydomain mynetworks = 172.16.0.0/26, 127.0.0.1 home_mailbox = Maildir/ smtpd_banner = $myhostname by gilang #size max mail 10MB message_size_limit = 10485760 #size limit mailbox 1GB mailbox_size_limit = 1073741824 smptd_sasl_type = dovecot smptd_sasl_path = private/auth smptd_sasl_auth_enable = yes smptd_sasl_security_options = noanonymous smptd_sasl_local_domain = $myhostname smptd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject
Sehingga hasilnya akan seperti gambar dibawah.
Keterangan:
- myhostname = berguna untuk mendefinisikan hostname pada server anda, disini hostname server saya yaitu mail.gilang.net
- mydomain = berguna untuk mendefinisikan domain yang telah didaftarkan pada server, disini domain pada server saya yaitu gilang.net
- myorigin = berguna untuk mendefinisikan nama domain yang dikirim dari pos lokal berasal, dan email yang diposkan secara lokal dikirimkan. Disini saya memasukkan valuenya menjadi $mydomain
- mynetworks berguna untuk mendefinisikan network yang akan diizinkan untuk meremote smtp dengan hak akses yang lebih daripada network yang tidak didaftarkan. Disini saya memasukkan network yang ada pada server saya yaitu 172.16.0.0/16
- home_mailbox = berguna untuk mendefinisikan mailbox ke direktori home sebuah user
- message_size_limit = berguna untuk menentukan ukuran maksimal dalam satuan byte suatu email masuk atau keluar. Disini saya memasukkannya menjadi 10485760 byte kalau dikonversi ke MB menjadi 10MB
- mailbox_size_limit = berguna untuk mendefinisikan jumlah kotak surat untuk setiap user
- smtpd_sasl_type = jenis plug-in SASL yang digunakan oleh server SMTP Postfix untuk otentikasi yaitu dengan dovecot
- smtpd_sasl_path = informasi spesifik implementasi yang dikirim server SMTP Postfix ke implementasi plugin SASL yang dipilih dengan smtpd_sasl_type yaitu pada private/auth
- smtpd_sasl_auth_enable = untuk mengaktifkan otentikasi SASL di server SMTP Postfix.
- smtpd_sasl_security_options = mendefinisikan opsi keamanan SMTP server SMTP Postfix untuk melarang anonymous melakukan autentikasi.
- smtpd_sasl_local_domain = nama server lokal SASL lokal Postfix SMTP server yaitu sudah ditentukan pada myhostname
- smtpd_recipient_restrictions = Opsional pembatasan yang server SMTP Postfix berlaku dalam konteks perintah rcpt to client.
5. Lakukan restart pada postfix agar konfigurasi yang telah dilakukan dapat berjalan.
6. Tambahkan service smtp pada firewall kemudian lakukan reload pada firewall.
7. Konfigurasi pada postfix telah selesai sekarang kita lakukan installasi dovecot nya.
8. Lakukan konfigurasi dovecot pada file dovecot.conf. Pertama kita buka dahulu file tersebut menggunakan command berikut.
[root@gilang ~]# nano /etc/dovecot/dovecot.conf
Kemudian cari script protocols = imap pop3 lmtp lalu uncommand (hilangkan tanda #) agar protokol yang digunakan menjadi aktif. Cari juga script listen kemudian uncommand pada script tersebut lalu isikan valuenya menjadi * agar mengizinkan semua koneksi IPv4.
9. Lakukan konfigurasi dovecot pada file 10-auth.conf untuk mengatur authentikasinya. Terlebih dahulu buka file 10-auth.conf menggunakan command berikut.
[root@gilang ~]# nano /etc/dovecot/conf.d/10-auth.conf
Cari script auth_mechanisms kemudian ubah valuenya menjadi plain login untuk mengatur mekanisme authentikasinya.
Cari script disable_plaintext_auth kemudian uncommand pada baris tersebut lalu ubah valuenya menjadi no untuk mengaktifkan plaintext authentikasi.
10. Lakukan konfigurasi dovecot pada file 10-mail.conf untuk mengatur mailnya. Terlebih dahulu buka file 10-mail.conf menggunakan command berikut.
[root@gilang ~]# nano /etc/dovecot/conf.d/10-mail.conf
Cari script mail_location kemudian uncommand pada script tersebut lalu ubah valuenya menjadi maildir:~/Maildir. Hal tersebut berguna untuk mengatur lokasi email pada setiap user pada direktori /home/user/Maildir.
11. Lakukan konfigurasi dovecot pada file 10-master.conf. Terlebih dahulu buka file 10-master.conf menggunakan command berikut.
[root@gilang ~]# nano /etc/dovecot/conf.d/10-master.conf
Cari script unix_listener /var/spool/postfix/private/auth dan uncommand script tersebut kemudian tambahkan user postfix dan group postfix dibawahnya untuk menentukan user dan grup yang digunakan untuk autentikasi.
12. Karena disini kita tidak menggunakan protokol imaps dan pop3s maka kita nonaktifkan ssl pada file 10-ssl.conf. Terlebih dahulu buka file 10-ssl.conf menggunakan command berikut.
[root@gilang ~]# nano /etc/dovecot/conf.d/10-ssl.conf
Cari script ssl = yes lalu ubah valuenya yang tadinya yes menjadi no. Hal tersebut untuk menonaktifkan ssl pada mail servernya.
13. Jalankan dan aktifkan service dovecot agar dapat berjalan otomatis saat server melakukan reboot.
14. Tambahakan juga port 110/tcp dan port 143/tcp pada firewall kemudian lakukan reload pada firewall.
15. Buat user yang akan digunakan untuk mengirim dan menerima email. Dengan kata lain user yang dibuat tersebut sebagai pengguna layanan mail server. Disini saya membuat dua buah user yaitu dengan nama gilz dan user dengan nama dell.
Keteragan:
- useradd namauser = untuk membuat user
- passwd namauser = untuk memberi password pada user
Verifikasi
1. Sekarang kita coba mengirim email dari user satu ke user yang lain. Disini saya mencoba mengirim email dari user dell ke user gilz. Pertama kita lakukan telnet ke mail servernya menggunakan port 25.
2. Kemudian isikan data berikut untuk mengirim email.
mail from:dell rcpt to:gilz data kak gilang .
Keterangan:
- mail from:dell = email pengirim
- rcpt to:gilz = email penerima
- data = untuk memulai menulis pesan
- kak gilang = pesan yang akan dikirim
- . = untuk mengakhiri pesan
- quit = untuk keluar dari telnet
3. Sekarang kita lihat pesan yang telah dikirim tadi pada user gilz. Caranya kita lakukan telnet pada domain mail menggunakan port 110.
4. Untuk melihat pesannya ketikkan data berikut.
user gilz pass 4sharedcom stat retr 1
Keterangan:
- user gilz = melakukan login menggunakan user gilz
- pass 4sharedcom = mengisi password user gilz untuk melakukan login
- stat = melihat inbox atau pesan yang masuk
- retr = untuk membaca pesan yang masuk
Demikianlah artikel pada kali ini jika terdapat kesalahan kata pada artikel yang anda baca, saya mohon maaf sebesar-besarnya. Jika anda masih kurang paham atau kurang mengerti akan artikel yang saya sampaikan, anda dapat mengetikkan keluhan anda melalui kolom komentar. Terima kasih.
bisa kirim terima email dari jaringan publik (inernet)
BalasHapus