Postfix+Dovecot+Squirrelmail Pengantarandiwre.itmaranatha.org/download/adminlinux/postfix.pdf ·...
Transcript of Postfix+Dovecot+Squirrelmail Pengantarandiwre.itmaranatha.org/download/adminlinux/postfix.pdf ·...
Sesi Postfix Mail Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 1
Postfix+Dovecot+Squirrelmail Pengantar Pengertian dasar dari email adalah mengirimkan pesan berupa plain text dan juga berkas binary berupa attachment antar pengguna di satu jaringan maupun jaringan yang berlainan, melalui Internet. Dan saat ini email telah menjadi salah satu bagian perilaku atau aktifitas yang tak terpisahkan dari para netizer (komunitas pengguna Internet). Untuk aplikasi email sendiri banyak sekali ragam jenisnya, dan jika berbicara secara spesifik hanya pada aplikasi yang berjalan di atas sistem Linux, telah mencapai jumlah yang menggembirakan dimana keaktifan para developer untuk terus berkreasi untuk membuat dan mengembangkan aplikasi untuk komunitas pengguna. Salah satu aplikasi mail server yang menjadi pilihan dari administrator sistem adalah postfix, yang tersedia pula berbagai aplikasi pendukung untuk meningkatkan kinerja dari sistem secara keseluruhan, misalkan dukunga terhadap pop3, ssl, antivirus, hingga sasl. Pada tutorial ini akan membahas cara untuk membangun mail server (mail transfer agent – MTA) menggunakan postfix, sedangkan fasilitas pop3 disediakan oleh dovecot. Kemudian untuk membangun tingkat kepercayaan pengguna terhadap proses otentikasi login, maka disediakan pengamanan dengan metode SASL-TLS. Bagaimana untuk antarmuka ke pengguna? Tentu saja ini sesuai dengan kebutuhan masing-masing dari pengguna yang dapat memilih untuk mengakses via web seperti email client yang biasa digunakan di Internet, atau dapat pula menggunakan aplikasi berbasis desktop seperti misalnya Outlook Express atau Kmail. Instalasi postfix Berikut ini akan dijelaskan mengenai tahapan instalasi dari aplikasi postfix. Beberapa aplikasi pendukung yang merupakan dependencies sebagai telah terinstall, sehingga walaupun pengguna menyertakannya pada perintah apt-get, tetap tidak akan proses instalasi ulang. Perintah yang dieksekusi melalui konsol untuk memulai instalasi postfix adalah sebagai berikut: apt-get install postfix postfix-tls libsasl2 sasl2-bin libsasl2-modules popa3d Aktifitas dari sistem ketika pengguna memberikan perintah seperti di atas, adalah seperti yang terlihat pada bagian di bawah ini:
deb:~# apt-get install postfix postfix-tls libsasl2 sasl2-bin
libsasl2-modules popa3d
Reading package lists... Done
Building dependency tree... Done
Note, selecting postfix instead of postfix-tls
libsasl2 is already the newest version.
libsasl2-modules is already the newest version.
Suggested packages:
postfix-mysql postfix-pgsql postfix-ldap postfix-pcre
resolvconf postfix-cdb
The following packages will be REMOVED:
exim4 exim4-base exim4-config exim4-daemon-light
The following NEW packages will be installed:
popa3d postfix sasl2-bin
0 upgraded, 3 newly installed, 4 to remove and 0 not upgraded.
Need to get 1245kB of archives.
After unpacking 733kB disk space will be freed.
Do you want to continue [Y/n]?
Sesi Postfix Mail Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 2
Dalam proses instalasi, pengguna akan diminta untuk memasukkan beberapa informasi pendukung yang dibutuhkan oleh sistem.
Gambar 11.1. Informasi awal dari proses instalasi postfix
Kemudian pengguna diminta untuk melakukan pemilihan tipe konfigurasi yang disesuaikan dengan kondisi dari jaringan. Pada tutorial ini, type of configuration yang dipilih adalah “Internet Site”.
Gambar 11.2. Pemilihan tipe konfigurasi
Sesi Postfix Mail Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 3
Pengguna kemudian diminta melakukan pengesetan hostname yang akan digunakan sebagai alamat email yang akan disertakan sebagai informasi identitas, yang berada setelah karakter @ pada email. Seperti halnya pada contoh berikut: apedie.com, merupakan nama hostname dari server email. Untuk publikasi ke jaringan eksternal, pengguna dengan username “me” akan diberikan identitas: [email protected].
Gambar 11.3. Memasukkan hostname untuk publikasi email.
Selesai melakukan proses instalasi, pastikan tidak ada pesan kesalahan yang diberikan oleh sistem. Untuk melihat konfigurasi dari postfix yang terletak di lokasi /etc/postfix/, dapat dengan menggunakan salah satu editor yang tersedia. Sedangkan untuk berkas utama dari server postfix adalah ditempatkan pada berkas main.cf. Contoh membuka berkas /etc/postfix/main.cf menggunakan aplikasi editor pico:
Gambar 11.4. Membuka berkas /etc/postfix/main.cf dengan pico
Sesi Postfix Mail Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 4
Instalasi dovecot Untuk menambah fitur dari MTA agar dapat memberikan layanan pop3 dan IMAP, maka pengguna dapat menggunakan aplikasi dovecot. Perlu diketahui bahwa aplikasi ini telah terdapat pada distribusi instalasi dari Debian, sehingga dapat langsung diinstall melalui konsol, dengan menjalankan perintah berikut: apt-get install dovecot-imapd dovecot-pop3d dovecot-common
Setelah selesai melakukan instalasi, maka pengguna dapat melakukan konfigrasi pada berkas utama dari dovecot yang berada pada lokasi /etc/dovecot/dovecot.conf, dengan menambahkan beberapa parameter berikut ini: protocols = pop3 imap
hilangkan komentar (#) di awal parameter, dan berikan nilai “no” pada parameter tersebut. disable_plaintext_auth = no
simpan hasil perubahan pada berkas konfigurasi tersebut. Kemudian restart ulang layanan dari dovecot dengan mengetikkan perintah: /etc/init.d/dovecot restart Ujicoba pengiriman email menggunakan telnet dari komputer lokal Dalam tutorial ini akan menggunakan salah satu user yang telah terdapat di sistem, karena proses penerimaan email akan mempengaruhi inbox dari pengguna tersebut. untuk data pengguna yang dijadikan percobaan adalah: username: me password: me selanjutnya dari konsol, pengguna dapat menggunakan aplikasi telnet untuk mengakses server email. Perintah yang diberikan adalah: telnet localhost 25
Ketikkan perintah ehlo localhost pada konsol telnet. Hasil dari eksekusi perintah tersebut adalah seperti yang terlihat pada bagian berikut ini:
deb:~# apt-get install dovecot-imapd dovecot-pop3d dovecot-common
Reading package lists... Done
Building dependency tree... Done
The following packages will be REMOVED:
popa3d
The following NEW packages will be installed:
dovecot-common dovecot-imapd dovecot-pop3d
0 upgraded, 3 newly installed, 1 to remove and 0 not upgraded.
Need to get 2185kB of archives.
After unpacking 4194kB of additional disk space will be used.
Do you want to continue [Y/n]
deb:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 deb.apedie.com ESMTP Postfix (Debian/GNU)
Sesi Postfix Mail Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 5
Kemudian pengguna dapat mencoba untuk mengirimkan email ke pengguna yang terdapat di server apedie.com, melalui perintah-perintah berikut:
penjelasan dari eksekusi perintah di atas adalah untuk mencoba melakukan pengiriman email dari [email protected] ke pengguna [email protected]. dengan memperhatikan dari hasil perekaman aktifitas dari server email di berkas log, terlihat bahwa proses pengiriman email tersebut berhasil dilakukan. setelah di lakukan pengecekan mailbox yang terdapat di pengguna [email protected] yang sebelumnya menjadi tujuan pengiriman, tampilannya setelah pengguna mengetikkan perintah mail pada konsol adalah seperti berikut:
terlihat bahwa email dari proses pengiriman email sebelumnya berhasil diterima oleh pengguna dengan username [email protected], terlihat bahwa email terdapat di inbox dari pengguna me. Cara untuk membaca email tersebut adalah dengan mengetikkan langsung nomor dari pesan tersebut yang menandakan lokasinya di inbox, yaitu 18. hasilnya adalah seperti berikut ini:
ehlo localhost
250-deb.apedie.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
me@deb:~$ mail Mail version 8.1.2 01/15/2001. Type ? for help. "/var/mail/me": 18 messages 1 new 18 unread …………………….. …………………….. …………………….. U 16 [email protected] Tue May 06 08:39 22/1070 Cron <root@deb> test -x /us U 17 [email protected] Tue May 6 12:38 20/890 Cron <root@deb> test -x /us >N 18 keren_abis@hidupi Tue May 6 13:21 14/510
mail from:[email protected]
250 2.1.0 Ok
rcpt to: [email protected]
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
tes pengiriman email
.
250 2.0.0 Ok: queued as 9332A6AEC2
Sesi Postfix Mail Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 6
Semua aktifitas yang dilakukan pengguna mulai dari awal melakukan koneksi ke server, hingga melakukan pengiriman email, tercatat secara detail di berkas log. Hasil pencatatan tersebut terdapat di lokasi /var/log/mail.log. Dengan menggunakan perintah tail -f /var/log/mail.log, pengguna dapat melihat secara kontinu aktifitas dari server mail, seperti yang terlihat di bawah ini:
Ujicoba pengaksesan mail server melalui telnet dari komputer jaringan Pada contoh sebelumnya, pengguna melakukan pengaksesan server email melalui telnet di komputer lokal. Bagian ini akan menggambarkan aktifitas pengaksesan melalui telnet, tapi melalui salah satu komputer client yang terhubung dalam jaringan yang sama. Keberhasilan dari ujicoba ini tentu saja dipengaruhi oleh konfigurasi firewall yang telah dibuat sebelumnya, apakah mengijinkan akses telnet ke server selain dari komputer lokal. Pastikan bahwa pengguna memahami karakteristik dan rules yang ditetapkan di masing-masing jaringan komputer. Jika ujicoba ini dilakukan pada jaringan lokal, maka dapat berjalan sesuai yang diharapkan. Berikut skenario awal dari komputer client:
komputer client : 192.168.1.11
account pengirim : [email protected] berikut adalah hasil capture proses yang dilakukan di komputer client.
& 18
Message 18:
From [email protected] Tue May 6 13:21:21 2008
X-Original-To: [email protected]
Date: Tue, 6 May 2008 13:21:08 +0700 (WIT)
From: [email protected]
To: undisclosed-recipients:;
tes pengiriman email
May 6 13:20:10 deb postfix/smtpd[19938]: connect from localhost[127.0.0.1] May 6 13:21:15 deb postfix/smtpd[19938]: 9332A6AEC2: client=localhost[127.0.0.1] May 6 13:21:21 deb postfix/cleanup[20158]: 9332A6AEC2: message-id=<[email protected]> May 6 13:21:21 deb postfix/qmgr[20605]: 9332A6AEC2: from=<[email protected]>, size=357, nrcpt=1 (queue active) May 6 13:21:21 deb postfix/local[20180]: 9332A6AEC2: to=<[email protected]>, relay=local, delay=13, delays=13/0.01/0/0.02, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION") May 6 13:21:21 deb postfix/qmgr[20605]: 9332A6AEC2: removed
Sesi Postfix Mail Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 7
Gambar 11.5. Aktifitas pengaksesan server email dari client Pada waktu pengguna dari komputer client mengakses mail server, maka log yang tercata akan pula menampilkan informasi nomor IP dari client. Pada berkas log dari aktifitas tersebut akan jelas memperlihatkan perbedaan dengan aktifitas sebelumnya, dimana telnet dilakukan dari komputer lokal. Berikut adalah visualisasi hasil rekaman dari aktiftas dari komputer client yang tercatat di berkas log:
terlihat bahwa server email diakses dari client dari IP 192.168.1.11, yang melakukan aktifitas pengiriman email, dan berhasil dikirimkan ke pengguna dengan alamat tujuan email [email protected]. setelah dilakukan pengecekan di inbox, hasilnya adalah seperti berikut:
May 6 13:27:42 deb postfix/smtpd[19938]: connect from unknown[192.168.1.11] May 6 13:28:14 deb postfix/smtpd[19938]: 92C786AEC2: client=unknown[192.168.1.11] May 6 13:28:24 deb postfix/cleanup[22159]: 92C786AEC2: message-id=<[email protected]> May 6 13:28:24 deb postfix/qmgr[20605]: 92C786AEC2: from=<[email protected]>, size=382, nrcpt=1 (queue active) May 6 13:28:24 deb postfix/local[22196]: 92C786AEC2: to=<[email protected]>, relay=local, delay=16, delays=16/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION") May 6 13:28:24 deb postfix/qmgr[20605]: 92C786AEC2: removed May 6 13:31:41 deb postfix/smtpd[19938]: disconnect from unknown[192.168.1.11]
me@deb:~$ mail Mail version 8.1.2 01/15/2001. Type ? for help. "/var/mail/me": 18 messages 1 new 18 unread ……………….. ……………….. ……………….. U 17 [email protected] Tue May 6 12:38 20/890 Cron <root@deb> test -x /us >N 18 user_lain@kompute Tue May 6 13:28 14/537
Sesi Postfix Mail Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 8
terlihat bahwa email yang dikirim dari client (dari komputer 192.168.1.11) berhasil diterima oleh pengguna [email protected], pada inbox di nomor 18. Untuk memastikannya, pengguna dapat membaca isi dari email tersebut, dan hasilnya adalah:
Mengakses server email dari client Windows dengan Outlook Expess Komputer client yang menggunakan sistem operasi Windows tetap dapat mengakses server email menggunakan aplikasi client bawaan yang telah terdapat sewaktu sistem diinstall, yaitu Outlook Express. Tetapi sebelumnya pengguna harus melakukan konfigurasi terlebih dahulu untuk mengeset account pop3 dan smtp.
Gambar 11.6. Account untuk mengakses mail server
Perlu diingat bahwa untuk konfigurasi pop3 dan smtp, pengguna harus memastikan bahwa server DNS telah mengenali nama domain pop3.apedie.com dan smtp.apedie.com, apabila tidak, maka pengguna dapat menggunakan nomor IP dari komputer server, seperti yang terlihat pada gambar, konfigurasi menggunakan 192.168.1.1 sebagai informasi server.
& 18 Message 18: From [email protected] Tue May 6 13:28:24 2008 X-Original-To: [email protected] Date: Tue, 6 May 2008 13:28:07 +0700 (WIT) From: [email protected] To: undisclosed-recipients:; ini kiriman dari user lain lho...
Sesi Postfix Mail Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 9
Gambar 11.7. Bagian konfigurasi server
Setelah melakukan konfigurasi yang sesuai, maka pengguna dapat mulai untuk menggunakan aplikasi sebagai antarmuka komunikasi dengan mail server. Seperti yang terlihat pada gambar adalah aplikasi berhasil melakukan penarikan email dari server ke client.
Gambar 11.8. visualisasi aplikasi outlok express yang berhasil mengakses pop3
Sesi Postfix Mail Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 10
konfigurasi Otentikasi SASL dengan TLS SASL – TSL adalah singkatan dari Simple Authentication Security Layer – Transport Layer Security, dimana dengan mengimplementasikannya ke email server akan mengaktifkan mode secure untuk proses otentikasi sebelum melakukan pengiriman ke server eksternal, dengan membatasi penggunaan server internal dari pengguna ilegal sebagai akses relay. lakukan modifikasi pada berkas utama dari postfix yang terdapat pada lokasi /etc/postfix/main.cf, dan tambahkan paramater-parameter di bawah ini:
simpan hasil konfigurasi tersebut. Kemudian pada konsol, lakukan perintah-perintah berikut:
mkdir -p /var/spool/postfix/var/run/saslauthd
ln -s /var/spool/postfix/var/run/saslauthd/ /var/run/
chgrp sasl /var/spool/postfix/var/run/saslauthd/
adduser postfix sasl konfigurasi pada dovecot lakukan modifikasi pada berkas /etc/dovecot/dovecot.conf cari pada berkas tersebut (gunakan fungsi find yang disesuaikan dengan editor dari pengguna) kata-kata berikut ini: auth default Pencarian tersebut akan menunjuk pada bagian seperti yang terlihat di bawah ini: auth default {
# Space separated list of wanted authentication mechanisms:
# plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi
mechanisms = plain
kemudian, lakukan perubahan menjadi: auth default2 tambahkan konfigurasi berikut ini:
smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = apedie.com smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination smtpd_sasl_security_options = noanonymous
auth default {
mechanisms = plain login
passdb pam {
}
userdb passwd {
}
socket listen {
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}
Sesi Postfix Mail Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 11
Selanjutnya simpan berkas konfigurasi tersebut. Karena pada implementasinya akan menjalankan script saslauthd, maka lakukan modifikasi pada berkas konfigurasinya agar secara otomatis menjalankan aplikasi tersebut pada waktu sistem dihidupkan (booting), dengan melakukan langkah-langkah seperti berikut ini: buka berkas /etc/default/saslauthd dengan editor kemudian lakukan perubahan pada paramater START, yang sebelumnya bernilai no, menjadi yes. START=yes simpan berkas konfigurasi tersebut. dan lakukan restart layanan dari masing-masing aplikasi berikut ini: /etc/init.d/saslauthd restart
/etc/init.d/postfix restart
/etc/init.d/dovecot restart
Pastikan bahwa dari ketiga layanan yang di-restart tersebut tidak memberikan pesan error. Pengguna dapat mencoba untuk mencoba mengirimkan dan menerima email seperti yang telah dicontohkan pada tulisan di bagian atas dari tutorial ini. Mengaktifkan antarmuka berbasis web untuk pengaksesan server email Membuka email melalui web menjadi salah satu cara yang banyak dipilih oleh pengguna Internet. Faktor kemudahan menjadi alasan utama, karena tidak harus melakukan konfigurasi terlebih dahulu pada aplikasi berbasis desktop. Salah satu aplikasi yang banyak digunakan adalah squirrelmail. Aplikasi ini banyak dipilih karena tidak membebani resource dengan tampilannya yang sederhana, tetapi sesuai dengan kebutuhan mendasar dari pengguna. Karena berbasis web, maka pada server harus terinstall pula aplikasi web server. Pada tutorial ini, apache2 menjadi aplikasi web server utama yang dipilih, selain karena kehandalannya yang telah terbukti, sehingga menjadi web server yang paling banyak diinstall oleh administrator server di seluruh dunia, apache2 juga telah didukung oleh begitu banyak fitur sehingga web akan menjadi begitu dinamis. Untuk memulai proses instalasi, pengguna dapat mengetikkan perintah berikut melalui konsol: apt-get install squirrelmail apache2 php5 php5-cgi php5-cli php5-common libapache2-mod-php5
deb:/var/spool/postfix/private# apt-get install squirrelmail apache2
php5 php5-cgi php5-cli php5-common libapache2-mod-php5
Reading package lists... Done
Building dependency tree... Done
apache2 is already the newest version.
php5 is already the newest version.
php5-cgi is already the newest version.
php5-cli is already the newest version.
php5-common is already the newest version.
libapache2-mod-php5 is already the newest version.
Suggested packages:
squirrelmail-decode imapproxy php4-ldap php5-ldap
Recommended packages:
squirrelmail-locales
The following NEW packages will be installed:
squirrelmail
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 591kB of archives.
After unpacking 3629kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
squirrelmail
Install these packages without verification [y/N]?
Sesi Postfix Mail Server. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 12
Selanjutnya, lakukan perubahan pada berkas konfigurasi apache server yang terdapat di lokasi /etc/apache2/apache2.conf tambahkan paramater berikut ini: Include /etc/squirrelmail/apache.conf simpan hasil perubahan tersebut, dan lakukan restart layanan dari apache2 dengan menjalankan perintah: /etc/init.d/apache2 restart kemudian, dari jendela browser, akses squirrelmail melalui alamat: http://domain_atau_IPserver/squirrelmail/ visualisasi pada layar monitor ketika alamat tersebut diakses dari client adalah sebagai berikut:
Gambar 11.9. Halaman login login dengan username dan password yang sesuai. apabila berhasil, maka tampilan yang akan muncul di layar akan terlihat seperti berikut:
Gambar 11.10. Halaman inbox dari pengguna