Membangun Email Server di Cloud Raya Menggunakan iRedMail

How can we help?
< All Topics
Print

Membangun Email Server di Cloud Raya Menggunakan iRedMail

Pada tutorial sebelumnya, kita sudah mengetahui tentang bagaimana SMTP relay dapat meningkatkan pengiriman email. Dalam tutorial ini, mari ketahui lebih lanjut tentang cara membangun server email pada Cloud Raya menggunakan iRedMail. Dengan konfigurasi ini, Anda dapat memiliki kontrol penuh atas komunikasi email Anda.

Pengenalan iRedMail

Sesuai penjelasan pada halaman resmi dari iRedMail, iRedMail adalah platform open-source yang berjalan pada server Linux/BSD. iRedMail menyediakan shell script untuk menginstal dan mengkonfigurasi secara otomatis semua komponen server email yang dibutuhkan tanpa kita perlu instal manual satu persatu. iRedMail juga menyediakan fitur penting untuk mengoperasikan server email, seperti antispam, antivirus, dan user management. Dengan iRedMail, memungkinkan kita untuk membuat mailbox dan mail domain secara tak terbatas, yang disimpan dalam database MariaDB/MySQL, PostgreSQL, atau OpenLDAP.

iRedMail juga menyediakan versi bebayarnya melalui produk iRedMail Easy dan iRedMail Pro.

Pra-instalasi

▶️ Prasyarat sistem

Untuk menginstal iRedMail pada Debian atau Ubuntu Linux, beberapa prasyarat berikut harus kita lakukan:

  • Penting untuk menggunakan vanilla server (fresh tanpa layanan atau komponen terkait mail yang sudah terpasang di dalamnya, seperti MySQL, Postfix, Dovecot, Amavisd, dan sebagainya). Karena iRedMail akan mengonfigurasi komponen-komponen tersebut secara otomatis untuk kita di saat proses instalasinya.
  • Rekomendasi VM Cloud Raya dengan spesifikasi setidaknya 4 GB RAM (untuk mail server dengan trafik rendah dan fitur pemindaian spam/virus diaktifkan).
  • Pastikan bahwa UID/GID berikut tidak digunakan oleh pengguna/grup lain: 2000, 2001, 2002.
    grep -E "^user[0-9]*:.*:(2000|2001|2002):" /etc/passwd
    grep -E "^group[0-9]*:.*:(2000|2001|2002):" /etc/group
  • Pastikan beberapa port berikut sudah dibuka pada konfigurasi Access Control List pada VPC Cloud Raya. Temukan pada artikel berikut untuk mengetahui cara membuka port pada VPC Cloud Raya.
▶️ Set FQDN pada hostname VM Cloud Raya

Pada tutorial ini kita akan menggunakan OS Ubuntu Server.

Kita perlu mengganti hostname dari VM kita terlebih dahulu. Hostname tersebut akan digunakan oleh iRedMail sebagai link untuk mengakses web panel kita nanti. Gunakan standar FQDN (Fully Qualified Domain Name) dengan contoh sebagai berikut:

# hostnamectl hostname mail3.cloudforindonesia.com

Setelah itu, kita perlu melakukan update pada file static table lookup untuk hostnames, di direktori /etc/hosts.

# nano /etc/hosts

Tambahkan hostname kita pada baris berikut:

Kemudian reboot VM untuk melakukan perubahan

# reboot

Kita cek perubahannya.

# hostname -f

Instalasi iRedMail

Instalasikan package-package yang dibutuhkan oleh installer iRedMail berikut ini:

# sudo apt-get install gzip dialog

▶️ Download versi terbaru dari iRedMail

Download versi stabil terbaru dari iRedMail menggunakan perintah wget

# wget https://github.com/iredmail/iRedMail/archive/refs/tags/1.6.2.tar.gz

Sekarang kita ekstrak file arsip .tar tersebut:

# cd /root/
# tar zxf 1.6.2.tar.gz

Jika sudah, masuk ke dalam folder hasil ekstrak tersebut:

# cd iRedMail-1.6.2/

▶️ Jalankan Installer iRedMail

Sekarang kita sudah siap untuk menjalankan installer dari iRedMail.

Jalankan installer .sh di dalam folder dengan menggunakan perintah bash

# bash iRedMail.sh


Dalam proses instalasinya, akan muncul beberapa dialog yang berisi seputar konfigurasi mail server yang diinginkan.

Tentukan lokasi untuk menyimpan semua mailbox. Lokasi default adalah /var/vmail/.

Selanjutnya, kita akan menentukan web server yang akan digunakan untuk iRedMail ini. Pada tutorial ini, kita akan menggunakan NGINX.

Selanjutnya, tentukan sistem database yang akan digunakan untuk menyimpan akun email. Pastikan memilih sistem database yang sudah Anda kenal dan biasa kelola. Pada tutorial ini, kita akan menggunakan MariaDB.

Selanjutnya, kita harus menentukan password untuk MySQL root.

Pada langkah ini, kita diminta untuk memasukkan domain email yang diinginkan. Selain itu, di dalam admin panel iRedMail, kita juga bisa menambahkan lebih banyak domain email sesuai keinginan kita.

Pastikan untuk tidak menggunakan domain yang sama dengan domain hostname VM yang telah ditetapkan sebelumnya.

Selanjutnya, kita harus menentukan password untuk administrator domain email.

Selanjutnya, akan ditanyakan beberapa komponen opsional yang dapat dipilih. Semua komponen ini termasuk esensial, sehingga dapat dipilih secara bersamaan.

Terakhir, mari kita review konfigurasi yang telah kita lakukan pada beberapa langkah sebelumnya. Untuk mulai menginstal semua komponen mail server, ketik Y

Proses instalasi memerlukan waktu beberapa saat. Jika berhasil, akan ditampilkan informasi berikut dan daftar komponen yang telah dipasang oleh wizard iRedMail.

Pada tahap terakhir instalasi, Anda akan diberikan opsi untuk menggunakan firewall rules yang telah disediakan oleh iRedMail. Anda dapat mengetik Y untuk mengaktifkannya.

Instalasi iRedMail telah selesai. Anda akan diberitahu tentang URL untuk webmail, URL untuk memantau performa server menggunakan netdata, dan URL untuk panel iRedAdmin beserta kredensial login yang telah dibuat sebelumnya. Selain itu, file iRedMail.tips juga berisi informasi penting lainnya seputar server iRedMail kita.

# reboot

Restart VM kita untuk mengaktifkan semua servis email ini.

Aktifitas Lanjutan

▶️ Menambahkan MX Record

Sekarang kita perlu menambahkan MX record pada panel manajemen DNS agar mail server ini terdaftar di DNS dunia sebagai mail exchange dari domain kita.

MX record berfungsi untuk menentukan server mana yang bertanggung jawab dalam menerima dan mengirim email untuk domain kita. Dengan menambahkan MX record ini, mail server kita dapat memastikan email yang kita kirim dapat terkirim dengan baik.

Pada panel manajemen DNS kita, buat A dan MX record baru dan setelahnya tunggu hingga propagasi selesai (hingga 48 jam).

▶️ Memasang Sertifikat Let’s Encrypt TLS

Ketika Anda mengakses halaman web panel, pesan ‘not secure’ akan ditampilkan. Hal ini disebabkan oleh konfigurasi iRedMail yang hanya menggunakan self-signed TLS certificate. Untuk memperbaikinya, kita dapat memasang sertifikat TLS dari Let’s Encrypt secara gratis.

⏭️ Mendapatkan Sertifikat

Kembali akses VM melalui SSH, lalu jalankan perintah berikut untuk menginstal certbot dan plugin-nya untuk NGINX pada repositori Ubuntu.

# apt install certbot python3-certbot-nginx -y

Karena iRedMail telah mengkonfigurasi pengaturan TLS di virtual host NGINX default, jadi kita gunakan plugin webroot saja untuk mendapatkan sertifikatnya.

# sudo certbot certonly –webroot –agree-tos –email tiyan@cloudforindonesia.com -d mail3.cloudforindonesia.com -w /var/www/html/

Jika semua berjalan dengan baik, maka informasi berikut akan ditampilkan. Dalam tutorial ini, sertifikat dan semua komponennya telah disimpan di direktori /etc/letsencrypt/live/mail3.cloudforindonesia.com/.

⏭️ Instal Sertifikat di NGINX

Sekarang, mari kita konfigurasi NGINX web server agar dapat menggunakan sertifikat TLS yang baru saja kita peroleh. Untuk melakukannya, kita perlu edit file SSL template.

# sudo nano /etc/nginx/templates/ssl.tmpl

Pada 2 baris terakhir akan ada informasi berikut ini:


ssl_certificate /etc/ssl/certs/iRedMail.crt;
ssl_certificate_key /etc/ssl/private/iRedMail.key;

Dalam tutorial ini, kita ganti menjadi:


ssl_certificate /etc/letsencrypt/live/mail3.cloudforindonesia.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail3.cloudforindonesia.com/privkey.pem;

Save dan close, kemudian tes konfigurasi nginx dan reload jika konfigurasi oke.

# sudo nginx -t
# sudo systemctl reload nginx

Saat membuka iRedMail admin panel kembali, web browser seharusnya tidak menampilkan info “Not secure” lagi karena webserver NGINX sudah menggunakan sertifikat TLS yang valid.

⏭️ Instal Sertifikat di Postfix dan Dovecot

Mengamankan webserver dengan sertifikat TLS saja tidaklah cukup. Konfigurasi Postfix SMTP Server dan Dovecot IMAP server juga diperlukan agar dapat menggunakan sertifikat tersebut. Hal ini penting untuk mencegah munculnya security warning pada mail client desktop seperti Outlook dan Thunderbird ketika mail server kita tidak diamankan dengan sertifikat TLS.

Pertama, edit file konfigurasi Postfix terlebih dahulu:

# sudo nano /etc/postfix/main.cf

Cari 3 baris berikut:


smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail.crt

Dalam tutorial ini, kita ganti menjadi:


smtpd_tls_key_file = /etc/letsencrypt/live/mail3.cloudforindonesia.com/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mail3.cloudforindonesia.com/cert.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/mail3.cloudforindonesia.com/chain.pem

Save dan close, kemudian reload konfigurasi Postfix:

# sudo systemctl reload postfix

Sekarang, edit file konfigurasi Dovecot:

# sudo nano /etc/dovecot/dovecot.conf

Cari 2 baris berikut:


ssl_cert = </etc/ssl/certs/iRedMail.crt
ssl_key = </etc/ssl/private/iRedMail.key

Dalam tutorial ini, kita ganti menjadi:


ssl_cert = </etc/letsencrypt/live/mail3.cloudforindonesia.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail3.cloudforindonesia.com/privkey.pem

Save dan close, kemudian reload konfigurasi Dovecot:

# sudo systemctl reload dovecot

▶️ Meningkatkan Keterkiriman Email

SPF, DKIM, dan DMARC bekerja sama untuk memastikan email berasal dari sumber yang sah dan tidak dimanipulasi di transit, sehingga meminimalkan risiko serangan phishing dan spoofing.

⏭️ SPF record

SPF (Sender Policy Framework) adalah record DNS yang menentukan host atau alamat IP mana yang diizinkan mengirimkan email atas nama domain kita, untuk memvalidasi email yang dikirimkan dan mencegah adanya pengiriman email palsu yang mengatasnamakan domain kita. Pada SPF record terdapat juga aturan tambahan untuk menentukan tindakan yang diambil jika pengiriman email tidak sesuai dengan aturan yang ditentukan.

Buat TXT record baru pada panel manajemen DNS kita. Dalam tutorial ini kita buat seperti ini:

Rekap inti dari konfigurasi tersebut adalah memperbolehkan pengiriman email dari alamat IP yang terkait dengan domain, serta mengizinkan pengiriman email dari server yang terdaftar pada MX record, dengan tanda ~all sebagai soft fail jika terdapat email yang berasal dari alamat IP yang tidak terdaftar dalam record SPF tersebut.

⏭️ DKIM record

DKIM (DomainKeys Identified Mail) adalah sebuah teknologi yang digunakan untuk memastikan keaslian email yang dikirim dari domain kita. Ketika domain kita mengirim email, DKIM akan mengenkripsi pesan dengan private key yang hanya dimiliki oleh pemilik domain tersebut(kita). Kemudian, public key yang berkaitan dengan private key tersebut akan disimpan di dalam DNS record domain kita.

Ketika email tersebut diterima oleh penerima, Mail server penerima akan melakukan verifikasi DKIM dengan menggunakan public key yang ada di DNS record. Jika verifikasi berhasil, maka penerima dapat memastikan bahwa email tersebut benar-benar berasal dari domain kita dan belum diubah atau dimanipulasi oleh pihak yang tidak bertanggung jawab selama proses pengiriman.

Instalasi iRedMail sebenarnya sudah otomatis mengkonfigurasi private key DKIM ke dalam VM mail server kita. Yang belum hanyalah menambahkan public key DKIM record ke dalam DNS manajemen.

Jalankan perintah berikut untuk menampilkan DKIM public key:

# sudo amavisd-new showkeys

Sekarang kembali ke panel manajemen DNS kita, buat TXT record baru sesuai dengan informasi dari record tersebut. Hapus semua tanda kutip ganda dan karakter pemisah baris hingga menjadi seperti ini.

Sekarang kita cek apakah DKIM record kita sudah benar atau belum.

# sudo amavisd-new testkeys

Tergantung proses propagasi, apabila sudah terupdate di DNS seluruh dunia, dan DKIM record sudah benar, maka akan muncul pass seperti berikut.

⏭️ DMARC record

DMARC (Domain-based Message Authentication, Reporting and Conformance) adalah protokol verifikasi email yang memperjelas instruksi kepada server email penerima tentang bagaimana menangani email yang gagal verifikasi SPF dan/atau DKIM yang sebelumnya kita sudah konfigurasi.

DMARC memungkinkan pengirim email untuk menentukan kebijakan tentang apa yang harus dilakukan server penerima dengan email yang gagal verifikasi, seperti membuang email tersebut (reject) atau mengirimkannya ke folder spam (quarantine). Selain itu, DMARC memungkinkan pengirim email untuk menerima laporan tentang pengiriman email dari domain mereka, yang membantu mengidentifikasi serangan phishing dan spoofing dan meningkatkan keamanan email.

Sekarang kembali ke panel DNS manajemen, dan tambahkan TXT record berikut sebagai contoh konfigurasi DMARC yang umum digunakan.

v=DMARC1; p=none; rua=mailto:report@cloudforindonesia.com

Dengan konfigurasi tersebut, kita menggunakan kebijakan “none” untuk domain kita. Kebijakan ini memberi tahu penerima email untuk mengirimkan laporan ke report@your-domain.com tentang email yang gagal verifikasi SPF dan/atau DKIM dari domain kita, tanpa memberikan instruksi khusus tentang bagaimana menangani email yang gagal verifikasi.

Dengan memilih metode “none“, kita dapat mengumpulkan laporan dan menganalisis informasi tentang pengiriman email dari domain kita. Dengan begitu, kita dapat memperbaiki masalah dan memastikan bahwa email dari domain kita dapat diverifikasi dengan benar. Setelah itu, kita dapat memutuskan untuk memperketat kebijakan menjadi “quarantine” atau bahkan “reject” jika diperlukan.

Eksplorasi dan Menggunakan iRedMail

Sekarang, kita dapat mengeksplor admin panel dari iRedMail dan mulai mengirimkan email.

▶️ Akses web panel

Di dalam panel ini, kita dapat melakukan beberapa hal seperti melihat dan mengelola domain dan akun serta menambahkannya.

Sekarang, mari kita tambahkan akun email yang akan kita gunakan untuk mengirim email pertama.

Selanjutnya akses webmail dari akun tersebut. Dengan contoh pada tutorial ini adalah https://mail3.cloudforindonesia.com/mail/

Kemudian kirimkan email pertama kita.

Jika tidak ada kendala, seharusnya email akan masuk ke dalam inbox tujuan kita.

Kesimpulan

Demikianlah tutorial tentang membangun mail server iRedMail di dalam virtual infrastruktur Cloud Raya. Dengan mengikuti tutorial ini, Anda dapat membuat email server dengan mudah dan mengoptimalkan pengiriman email Anda.

Jangan lupa kunjungi Knowledge Base Cloud Raya untuk mendapatkan tutorial menarik lainnya. Atau, Anda juga bisa mengunjungi blog kami untuk mendapatkan informasi terkait dunia IT. Lebih suka belajar lewat video? tenang, kami juga menyediakan banyal tutorial seputar IT yang bisa Anda lihat di channel Youtube kami.

Table of Contents

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment

Ready, Set, Cloud

Ready, Set, Cloud