GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mudah Mengatur Server Surat Lengkap di Ubuntu 20.04 dengan iRedMail

Menyiapkan server email Anda sendiri di Linux dari awal adalah proses yang panjang dan membosankan, merepotkan jika Anda bukan pengguna tingkat lanjut. Tutorial ini akan menunjukkan cara menggunakan iRedMail untuk menyiapkan server email berfitur lengkap dengan cepat di Ubuntu 20.04, menghemat banyak waktu dan sakit kepala.

Apa itu iRedMail?

iRedMail adalah skrip shell yang secara otomatis menginstal dan mengkonfigurasi semua komponen server email yang diperlukan di server Linux/BSD Anda, sehingga menghilangkan instalasi dan konfigurasi manual. Dengan iRedMail, Anda dapat dengan mudah membuat kotak surat tak terbatas dan domain surat tak terbatas di panel admin berbasis web. Kotak surat dapat disimpan di MariaDB/MySQL, database PostgreSQL, atau OpenLDAP. Berikut adalah daftar perangkat lunak sumber terbuka yang akan diinstal dan dikonfigurasi secara otomatis oleh iRedMail.

  • Server SMTP pascaperbaikan
  • Server IMAP Dovecot
  • Nginx server web untuk melayani panel admin dan email web
  • OpenLDAP, MySQL/MariaDB, atau PostgreSQL untuk menyimpan informasi pengguna
  • Terpesona-baru untuk penandatanganan dan verifikasi DKIM
  • SpamAssassin untuk anti-spam
  • ClamAV untuk antivirus
  • Email web Roundcube
  • Grupware SOGo, menyediakan email web, kalender (CalDAV), kontak (CardDAV), tugas, dan layanan ActiveSync.
  • Fail2ban untuk melindungi SSH
  • pengelola milis mlmmj
  • Pemantauan server Netdata
  • Server kebijakan iRedAPD Postfix untuk daftar abu-abu

Langkah 1:Pilih Penyedia Hosting yang Tepat dan Beli Nama Domain

Untuk menyiapkan server email berfitur lengkap dengan iRedMail, Anda memerlukan server dengan RAM minimal 3 GB, karena setelah penginstalan, server Anda akan menggunakan RAM lebih dari 2 GB.

Sangat disarankan agar Anda menginstal iRedMail pada instalasi bersih Ubuntu 20.04 server.

Tutorial ini dilakukan pada Kamatera VPS (virtual private server) seharga $9/bulan dengan 1 CPU dan RAM 3GB. Mereka menawarkan uji coba gratis selama 30 hari.

Kamatera adalah pilihan yang sangat baik untuk menjalankan server email karena

  • Mereka tidak memblokir port 25 , sehingga Anda dapat mengirim email tanpa batas (email transaksional dan buletin) tanpa mengeluarkan uang untuk layanan relai SMTP. Kamatera tidak memiliki batasan SMTP. Anda dapat mengirim satu juta email per hari.
  • Alamat IP tidak ada dalam daftar hitam email apa pun . (Setidaknya ini benar dalam kasus saya. Saya memilih pusat data Dallas.) Anda pasti tidak ingin terdaftar di daftar hitam IP Microsoft Outlook yang ditakuti atau daftar hitam spamrat. Beberapa daftar hitam memblokir seluruh rentang IP dan Anda tidak memiliki cara untuk menghapus alamat IP Anda dari daftar hitam semacam ini.
  • Anda dapat mengedit data PTR untuk meningkatkan kemampuan pengiriman email.
  • Mereka memungkinkan Anda mengirim nawala ke pelanggan email Anda dengan tidak batas per jam atau batas harian, apa pun.
  • Anda dapat memesan beberapa alamat IP untuk satu server. Ini sangat berguna bagi orang-orang yang perlu mengirim email dalam jumlah besar. Anda dapat menyebarkan lalu lintas email di beberapa alamat IP untuk mencapai pengiriman email yang lebih baik.

Penyedia VPS lain seperti DigitalOcean memblokir port 25. DigitalOcean tidak akan membuka blokir port 25, jadi Anda perlu menyiapkan relai SMTP untuk mem-bypass pemblokiran, yang dapat dikenakan biaya tambahan. Jika Anda menggunakan Vultr VPS, maka port 25 diblokir secara default. Mereka dapat membuka blokirnya jika Anda membuka tiket dukungan, tetapi mereka dapat memblokirnya lagi kapan saja jika mereka memutuskan aktivitas pengiriman email Anda tidak diizinkan. Vultr sebenarnya dapat memblokir ulang jika Anda menggunakan server mereka untuk mengirim buletin.

Buka situs web Kamatera untuk membuat akun, lalu buat server Anda di dasbor akun Anda.

Saya sarankan mengikuti tutorial yang ditautkan di bawah ini untuk mengatur server VPS Linux Anda dengan benar di Kamatera.

  • Cara Membuat Server VPS Linux di Kamatera

Setelah Anda membuat server, Kamatera akan mengirimi Anda email dengan detail login SSH server. Untuk masuk ke server Anda, Anda menggunakan klien SSH. Jika Anda menggunakan Linux atau macOS di komputer Anda, cukup buka jendela terminal dan jalankan perintah berikut untuk masuk ke server Anda. Ganti 12.34.56.78 dengan alamat IP server Anda.

ssh [email protected]

Anda akan diminta untuk memasukkan kata sandi.

Anda juga memerlukan nama domain. Saya mendaftarkan nama domain saya dari NameCheap karena harganya murah dan mereka memberikan perlindungan privasi whois gratis seumur hidup.

Langkah 2:Membuat Data MX DNS

Data MX menentukan host atau host mana yang menangani email untuk nama domain tertentu. Misalnya, host yang menangani email untuk linuxbabe.com adalah mail.linuxbabe.com . Jika seseorang dengan akun Gmail mengirim email ke [email protected] , maka server Gmail akan meminta data MX dari linuxbabe.com. Ketika mengetahui bahwa mail.linuxbabe.com bertanggung jawab untuk menerima email, kemudian menanyakan catatan A mail.linuxbabe.com untuk mendapatkan alamat IP, sehingga email dapat terkirim.

Anda harus pergi ke layanan hosting DNS Anda (biasanya pencatat domain Anda) untuk membuat catatan DNS. Di pengelola DNS Anda, buat data MX untuk nama domain Anda. Masukkan @ di bidang Nama untuk mewakili nama domain utama, lalu masukkan mail.your-domain.com di bidang Nilai.

Catatan: Nama host untuk data MX tidak boleh merupakan alias untuk nama lain. Selain itu, sangat disarankan agar Anda menggunakan nama host, daripada alamat IP kosong untuk data MX.

Manajer DNS Anda mungkin meminta Anda memasukkan nilai preferensi (alias nilai prioritas). Itu bisa berupa angka antara 0 dan 65.356. Sejumlah kecil memiliki prioritas lebih tinggi daripada sejumlah besar. Sebaiknya Anda menetapkan nilainya ke 0, sehingga server email ini akan memiliki prioritas tertinggi untuk menerima email. Setelah membuat data MX, Anda juga perlu membuat data A untuk mail.your-domain.com , sehingga dapat diselesaikan ke alamat IP. Jika server Anda menggunakan alamat IPv6, pastikan untuk menambahkan data AAAA.

Petunjuk:Jika Anda menggunakan layanan Cloudflare DNS, Anda tidak boleh mengaktifkan fitur CDN saat membuat catatan A untuk mail.your-domain.com . Cloudflare tidak mendukung proxy SMTP.

Langkah 3:Mengonfigurasi Nama Inang

Masuk ke server Anda melalui SSH, lalu jalankan perintah berikut untuk memperbarui paket perangkat lunak yang ada.

sudo apt update

sudo apt upgrade -y

Selama proses peningkatan, mungkin akan menanyakan pertanyaan berikut kepada Anda. Jika Anda ingin tetap menggunakan port 6543 untuk SSH, pilih keep the local version currently installed . Jika Anda ingin menggunakan port 22 untuk SSH, pilih install the package maintainer's version .

Saya sangat menyarankan untuk membuat sudo pengguna untuk mengelola server Anda daripada menggunakan root default pengguna. Jalankan perintah berikut untuk membuat pengguna. Ganti username dengan nama pengguna pilihan Anda.

adduser username

Kemudian tambahkan pengguna ke sudo grup.

adduser username sudo

Beralih ke pengguna baru.

su - username

Selanjutnya, tetapkan nama domain yang sepenuhnya memenuhi syarat (FQDN) untuk server Anda dengan perintah berikut.

sudo hostnamectl set-hostname mail.your-domain.com

Kami juga perlu memperbarui /etc/hosts file dengan editor teks baris perintah seperti Nano.

sudo nano /etc/hosts

Edit seperti di bawah ini. (Gunakan tombol panah untuk memindahkan kursor dalam file.)

127.0.0.1       mail.your-domain.com localhost

Simpan dan tutup file. (Untuk menyimpan file di editor teks Nano, tekan Ctrl+O , lalu tekan Enter untuk mengkonfirmasi. Untuk menutup file, tekan Ctrl+X .)

Untuk melihat perubahannya, login kembali lalu jalankan perintah berikut untuk melihat nama host Anda.

hostname -f

Langkah 4:Menyiapkan Server Mail di Ubuntu 20.04 dengan iRedMail

Jalankan perintah berikut untuk mengunduh versi terbaru penginstal skrip iRedMail dari repositori Github-nya.

wget https://github.com/iredmail/iRedMail/archive/1.5.0.tar.gz

Ekstrak file yang diarsipkan.

tar xvf 1.5.0.tar.gz

Kemudian cd ke direktori yang baru dibuat.

cd iRedMail-1.5.0/

Tambahkan izin yang dapat dieksekusi ke iRedMail.sh naskah.

chmod +x iRedMail.sh

Selanjutnya, jalankan skrip Bash dengan hak istimewa sudo.

sudo bash iRedMail.sh

Wizard penyiapan server surat akan muncul. Gunakan tombol Tab untuk memilih Ya dan tekan Enter.

Layar berikutnya akan meminta Anda untuk memilih jalur penyimpanan email. Anda dapat menggunakan jalur default:/var/vmail , jadi cukup tekan Enter .

Kemudian pilih apakah Anda ingin menjalankan server web. Sangat disarankan agar Anda memilih untuk menjalankan server web karena Anda memerlukan panel admin berbasis web untuk menambahkan akun email. Juga, ini memungkinkan Anda untuk mengakses webmail Roundcube. Secara default, server web Nginx dipilih, jadi Anda cukup menekan Enter . (Sebuah tanda bintang menunjukkan item yang dipilih.)

Kemudian pilih backend penyimpanan untuk akun email. Pilih salah satu yang Anda kenal. Tutorial ini memilih MariaDB. Tekan tombol panah atas dan bawah dan tekan tombol spasi untuk memilih.

Jika Anda memilih MariaDB atau MySQL, maka Anda perlu mengatur kata sandi root MySQL.

Selanjutnya, masukkan domain email pertama Anda. Anda dapat menambahkan domain email tambahan nanti di panel admin berbasis web. Tutorial ini mengasumsikan bahwa Anda menginginkan akun email seperti [email protected] . Dalam hal ini, Anda harus memasukkan domain-anda.com di sini, tanpa sub-domain. Jangan tekan spasi setelah nama domain Anda. Saya rasa iRedMail akan menyalin karakter spasi bersama dengan nama domain Anda, yang dapat mengakibatkan kegagalan penginstalan.

Selanjutnya, setel sandi untuk administrator domain email.

Pilih komponen opsional. Secara default, 4 item dipilih. Jika Anda ingin menggunakan groupware SOGo (webmail, kalender, buku alamat, ActiveSync), tekan tombol panah bawah dan spasi untuk memilih. Tekan Enter ke layar berikutnya.

Sekarang Anda dapat meninjau konfigurasi Anda. Ketik Y untuk memulai instalasi semua komponen server email.

Di akhir penginstalan, pilih y untuk menggunakan aturan firewall yang disediakan oleh iRedMail dan memulai ulang firewall.

Sekarang instalasi iRedMail selesai. Anda akan diberi tahu URL email web, panel admin web, dan kredensial login. iRedMail.tips file berisi informasi penting tentang server iRedMail Anda.

Reboot server Ubuntu 20.04 Anda.

sudo shutdown -r now

Setelah server Anda kembali online, Anda dapat mengunjungi panel admin web.

https://mail.your-domain.com/iredadmin/

Catatan bahwa pada URL di atas, subdirektori untuk mengakses panel admin adalah /iredadmin/ , bukan /iredmail/ . Dan karena menggunakan sertifikat TLS yang ditandatangani sendiri, Anda perlu menambahkan pengecualian keamanan di browser web Anda.

Langkah 5:Menginstal Let's Encrypt TLS Certificate

Karena server email menggunakan sertifikat TLS yang ditandatangani sendiri, pengguna klien email desktop dan pengguna klien email web akan melihat peringatan. Untuk memperbaikinya, kami dapat memperoleh dan memasang sertifikat Let's Encrypt TLS gratis.

Mendapatkan Sertifikat

Pertama, masuk ke server Anda lagi melalui SSH dan jalankan perintah berikut untuk menginstal klien Let's Encrypt (certbot) di Ubuntu 20.04.

sudo apt install certbot

iRedMail telah mengonfigurasi pengaturan TLS di host virtual Nginx default, jadi di sini saya sarankan menggunakan plugin webroot, alih-alih plugin nginx, untuk mendapatkan sertifikat. Jalankan perintah berikut. Ganti teks merah dengan data Anda yang sebenarnya.

sudo certbot certonly --webroot --agree-tos --email [email protected] -d mail.your-domain.com -w /var/www/html/

Saat ditanya apakah Anda ingin menerima komunikasi dari EFF, Anda dapat memilih Tidak.

Jika semuanya berjalan dengan baik, Anda akan melihat teks berikut yang menunjukkan bahwa Anda telah berhasil memperoleh sertifikat TLS. Sertifikat dan rantai Anda telah disimpan di /etc/letsencrypt/live/mail.your-domain.com/ direktori.

Gagal Memperoleh Sertifikat TLS

Jika certbot gagal mendapatkan sertifikat TLS, mungkin karena catatan DNS Anda tidak disebarkan ke Internet. Bergantung pada pencatat domain yang Anda gunakan, data DNS Anda mungkin disebarkan secara instan, atau mungkin perlu waktu hingga 24 jam untuk disebarkan. Anda dapat pergi ke https://dnsmap.io, masukkan nama host server email Anda (mail.your-domain.com ) untuk memeriksa propagasi DNS.

Jika certbot gagal mendapatkan sertifikat dan Anda melihat pesan berikut,

Failed authorization procedure. mail.linuxbabe.com (http-01): urn:ietf:params:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching https://mail.linuxbabe.com/.well-known/acme-challenge/IZ7hMmRE4ZlGW7cXYoq2Lc_VrFzVFyfW6E0pzNlhiOA: Timeout during connect (likely firewall problem)

Mungkin Anda telah menetapkan catatan AAAA untuk mail.your-domain.com , tetapi server web Nginx tidak mendengarkan alamat IPv6. Untuk memperbaiki kesalahan ini, edit /etc/nginx/sites-enabled/00-default.conf berkas

sudo nano /etc/nginx/sites-enabled/00-default.conf

Temukan baris berikut.

#listen [::]:80;

Hapus # karakter untuk mengaktifkan IPv6 untuk host virtual Nginx ini.

listen [::]:80;

Simpan dan tutup file. Kemudian edit host virtual SSL /etc/nginx/sites-enabled/00-default-ssl.conf .

sudo nano /etc/nginx/sites-enabled/00-default-ssl.conf

Tambahkan baris berikut.

listen [::]:443 ssl http2;

Simpan dan tutup file. Kemudian uji konfigurasi Nginx.

sudo nginx -t

Jika pengujian berhasil, muat ulang Nginx agar perubahan diterapkan.

sudo systemctl reload nginx

Jalankan kembali perintah berikut untuk mendapatkan sertifikat TLS. Ganti teks merah dengan data Anda yang sebenarnya.

sudo certbot certonly --webroot --agree-tos --email [email protected] -d mail.your-domain.com -w /var/www/html/

Sekarang Anda seharusnya berhasil mendapatkan sertifikat TLS.

Memasang Sertifikat di Nginx

Setelah mendapatkan sertifikat TLS, mari konfigurasikan server web Nginx untuk menggunakannya. Edit file template SSL.

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

Temukan 2 baris berikut.

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

Ganti dengan:

ssl_certificate /etc/letsencrypt/live/mail.your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.your-domain.com/privkey.pem;

Simpan dan tutup file. Kemudian uji konfigurasi nginx dan muat ulang.

sudo nginx -t

sudo systemctl reload nginx

Kunjungi panel admin iRedMail lagi, browser web Anda tidak akan memperingatkan Anda lagi karena Nginx sekarang menggunakan sertifikat TLS yang valid.

Menginstal Sertifikat TLS di Postfix dan Dovecot

Kita juga perlu mengkonfigurasi server SMTP Postfix dan server IMAP Dovecot untuk menggunakan sertifikat yang diterbitkan Let's Encrypt sehingga klien email desktop tidak akan menampilkan peringatan keamanan. Edit file konfigurasi utama Postfix.

sudo nano /etc/postfix/main.cf

Temukan 3 baris berikut. (baris 95, 96, 97).

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

Ganti dengan:

smtpd_tls_key_file = /etc/letsencrypt/live/mail.your-domain.com/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.your-domain.com/cert.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/mail.your-domain.com/chain.pem

Simpan dan tutup file. Kemudian muat ulang Postfix.

sudo systemctl reload postfix

Selanjutnya, edit file konfigurasi utama Dovecot.

sudo nano /etc/dovecot/dovecot.conf

Baik 2 baris berikut. (baris 47, 48)

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

Ganti dengan:

ssl_cert = </etc/letsencrypt/live/mail.your-domain.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.your-domain.com/privkey.pem

Simpan dan tutup file. Kemudian muat ulang dovecot.

sudo systemctl reload dovecot

Mulai sekarang, pengguna email desktop tidak akan melihat peringatan keamanan.

Langkah 6:Mengirim Email Uji

Masuk ke panel iredadmin dengan akun email postmaster ([email protected]). Dalam Add tab, Anda dapat menambahkan domain atau alamat email tambahan.

Jika Anda melihat kesalahan "tidak ada domain di bawah kendali", silakan merujuk ke artikel ini.

Setelah Anda membuat pengguna, Anda dapat mengunjungi alamat email web Roundcube dan login dengan akun pengguna email baru.

https://mail.your-domain.com/mail/

Sekarang Anda dapat menguji pengiriman dan penerimaan email. Harap perhatikan bahwa Anda mungkin perlu menunggu beberapa menit untuk menerima email karena iRedMail secara default mengaktifkan daftar abu-abu, yang merupakan cara untuk memberi tahu server SMTP pengirim lain untuk mencoba lagi dalam beberapa menit. Baris berikut dalam file log surat /var/log/mail.log menunjukkan daftar abu-abu diaktifkan.

Recipient address rejected: Intentional policy rejection, please try again later;

Menambahkan Ruang Tukar

ClamAV digunakan untuk memindai virus dalam pesan email. ClamAV dapat menggunakan cukup banyak RAM. Jika tidak ada cukup RAM di server Anda, ClamAV tidak akan berfungsi dengan baik, yang akan mencegah server email Anda mengirim email. Anda dapat menambahkan file swap ke server Anda untuk meningkatkan total RAM di server Anda. (Perhatikan bahwa menggunakan ruang swap di server akan menurunkan kinerja server. Jika Anda menginginkan kinerja yang lebih baik, Anda harus meningkatkan RAM fisik daripada menggunakan ruang swap.)

Untuk menambahkan ruang swap di server, pertama, gunakan fallocate perintah untuk membuat file. Misalnya, buat file bernama swapfile dengan kapasitas 1G di sistem file root:

sudo fallocate -l 1G /swapfile

Kemudian pastikan hanya root yang dapat membaca dan menulis.

sudo chmod 600 /swapfile

Format untuk bertukar:

sudo mkswap /swapfile

Keluaran:

Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=0aab5886-4dfb-40d4-920d-fb1115c67433

Aktifkan file swap

sudo swapon /swapfile

Untuk memasang ruang swap pada waktu boot sistem, edit /etc/fstab berkas.

sudo nano /etc/fstab

Tambahkan baris berikut di bagian bawah file ini.

/swapfile    swap    swap     defaults    0   0

Simpan dan tutup file. Kemudian muat ulang systemd dan mulai ulang ClamAV.

sudo systemctl daemon-reload

sudo systemctl restart clamav-daemon

Langkah 7:Memeriksa Apakah Port 25 (keluar) diblokir

ISP atau penyedia hosting Anda tidak akan memblokir koneksi masuk ke port 25 server Anda, yang berarti Anda dapat menerima email dari server email lain. Namun, banyak ISP/penyedia hosting memblokir koneksi keluar ke port 25 server email lain, yang berarti Anda tidak dapat mengirim email.

Jika email Anda tidak sampai ke alamat email Anda yang lain seperti Gmail, jalankan perintah berikut di server email Anda untuk memeriksa apakah port 25 (keluar) diblokir.

telnet gmail-smtp-in.l.google.com 25

Jika tidak diblokir, Anda akan melihat pesan seperti di bawah ini, yang menunjukkan bahwa koneksi berhasil dibuat. (Petunjuk:Ketik quit dan tekan Enter untuk menutup koneksi.)

Trying 74.125.68.26...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP y22si1641751pll.208 - gsmtp

Jika port 25 (outbound) diblokir, Anda akan melihat sesuatu seperti:

Trying 2607:f8b0:400e:c06::1a...
Trying 74.125.195.27...
telnet: Unable to connect to remote host: Connection timed out

Dalam hal ini, Postfix Anda tidak dapat mengirim email ke server SMTP lainnya. Minta ISP/penyedia hosting Anda untuk membukanya untuk Anda. Jika mereka menolak permintaan Anda, Anda perlu menyiapkan relai SMTP untuk melewati pemblokiran port 25.

Masih Tidak Bisa Mengirim Email?

Jika port 25 (keluar) tidak diblokir, tetapi Anda masih tidak dapat mengirim email dari server email Anda sendiri ke alamat email Anda yang lain seperti Gmail, maka Anda harus memeriksa log email (/var/log/mail.log ).

sudo nano /var/log/mail.log

Misalnya, beberapa orang mungkin melihat baris berikut dalam file.

host gmail-smtp-in.l.google.com[2404:6800:4003:c03::1b] said: 550-5.7.1 [2a0d:7c40:3000:b8b::2] Our system has detected that 550-5.7.1 this message does not meet IPv6 sending guidelines regarding PTR 550-5.7.1 records and authentication. Please review 550-5.7.1 https://support.google.com/mail/?p=IPv6AuthError for more information

Ini berarti server email Anda menggunakan IPv6 untuk mengirim email, tetapi Anda tidak menyiapkan data IPv6. Anda harus pergi ke manajer DNS Anda, atur AAAA rekam untuk mail.your-domain.com , maka Anda harus mengatur PTR record untuk alamat IPv6 Anda, yang dibahas pada langkah 9.

Langkah 8:Menggunakan Klien Email di Komputer atau Perangkat Seluler Anda

Jalankan klien email desktop Anda seperti Mozilla Thunderbird dan tambahkan akun email.

  • Di bagian server masuk, pilih protokol IMAP, masukkan mail.your-domain.com sebagai nama server, pilih port 143 dan STARTTLS. Pilih normal password sebagai metode otentikasi.
  • Di bagian keluar, pilih protokol SMTP, masukkan mail.your-domain.com sebagai nama server, pilih port 587 dan STARTTLS. Pilih normal password sebagai metode otentikasi.

Fail2ban Memblokir Alamat IP Anda Sendiri

Jika Anda membuat kesalahan dan gagal masuk ke server email beberapa kali, layanan Fail2ban di server email mungkin memblokir alamat IP Anda. Anda dapat menambahkan alamat IP Anda ke daftar putih dengan mengedit jail.local berkas.

sudo nano /etc/fail2ban/jail.local

Tambahkan alamat IP Anda sendiri ke daftar abaikan seperti di bawah ini. Ganti 12.34.56.78 dengan alamat IP asli Anda.

ignoreip = 12.34.56.78 127.0.0.1 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16

Simpan dan tutup file. Kemudian restart Fail2ban.

sudo systemctl restart fail2ban

Langkah 9:Meningkatkan Keterkiriman Email

Untuk mencegah email Anda ditandai sebagai spam, Anda harus menyetel PTR , SPF , DKIM dan DMARC catatan.

Catatan PTR

Catatan penunjuk, atau catatan PTR, memetakan alamat IP ke FQDN (nama domain yang sepenuhnya memenuhi syarat). Ini adalah kebalikan dari catatan A dan digunakan untuk DNS terbalik lookup, yang dapat membantu memblokir spammer. Banyak server SMTP menolak email jika tidak ada catatan PTR yang ditemukan untuk server pengirim.

Untuk memeriksa catatan PTR untuk alamat IP, jalankan perintah ini:

dig -x IP-address +short

atau

host IP-address

Data PTR tidak dikelola oleh pencatat domain Anda. Ini dikelola oleh organisasi yang memberi Anda alamat IP. Karena Anda mendapatkan alamat IP dari penyedia hosting atau ISP Anda, bukan dari pencatat domain Anda, jadi Anda harus menyetel data PTR untuk IP Anda di panel kontrol penyedia hosting Anda, atau tanyakan kepada ISP Anda . Nilainya harus menjadi nama host server email Anda:mail.your-domain.com . Jika server Anda menggunakan alamat IPv6, pastikan untuk menambahkan data PTR untuk alamat IPv6 Anda juga .

Untuk mengedit catatan DNS terbalik untuk VPS Kamatera Anda, masuk ke area klien Kamatera, lalu buka tiket dukungan dan beri tahu mereka untuk menambahkan catatan PTR untuk alamat IP server Anda untuk mengarahkan alamat IP ke mail.your-domain.com . Ini tidak nyaman, Anda mungkin berpikir, tetapi ini untuk menjauhkan spammer dari platform, jadi pengirim email yang sah seperti kami akan memiliki reputasi IP yang bagus.

Catatan SPF

SPF Catatan (Sender Policy Framework) menentukan host atau alamat IP mana yang diizinkan untuk mengirim email atas nama domain. Anda harus mengizinkan hanya server email Anda sendiri atau server ISP Anda untuk mengirim email untuk domain Anda. Di antarmuka pengelolaan DNS Anda, buat data TXT baru seperti di bawah ini.

Penjelasan:

  • TXT menunjukkan ini adalah data TXT.
  • Masukkan @ di bidang nama untuk mewakili nama domain utama.
  • v=spf1 menunjukkan ini adalah data SPF dan versinya adalah SPF1.
  • mx berarti semua host yang tercantum dalam data MX diizinkan mengirim email untuk domain Anda dan semua host lain tidak diizinkan.
  • ~semua menunjukkan bahwa email dari domain Anda hanya boleh berasal dari host yang ditentukan dalam data SPF. Email yang berasal dari host lain akan ditandai sebagai palsu.

Untuk memeriksa apakah data SPF Anda disebarkan ke Internet publik, Anda dapat menggunakan utilitas dig pada mesin Linux Anda seperti di bawah ini:

dig your-domain.com txt

txt opsi memberitahu dig bahwa kami hanya ingin menanyakan data TXT.

Catatan DKIM

DKIM (DomainKeys Identified Mail) menggunakan kunci pribadi untuk menandatangani email yang dikirim dari domain Anda secara digital. Server SMTP penerima memverifikasi tanda tangan dengan menggunakan kunci publik, yang dipublikasikan dalam catatan DNS DKIM.

Skrip iRedMail secara otomatis mengonfigurasi DKIM untuk server Anda. Satu-satunya yang tersisa untuk dilakukan adalah membuat catatan DKIM di manajer DNS. Jalankan perintah berikut untuk menampilkan kunci publik DKIM.

sudo amavisd-new showkeys

Kunci publik DKIM ada di dalam tanda kurung.

Kemudian di DNS manager Anda, buat TXT record, masukkan dkim._domainkey di kolom nama. Salin semua yang ada di dalam tanda kurung dan tempel ke bidang nilai. Hapus semua tanda kutip ganda dan jeda baris.

Setelah menyimpan perubahan Anda, jalankan perintah berikut untuk menguji apakah data DKIM Anda benar.

sudo amavisd-new testkeys

Jika catatan DKIM benar, ujian akan lulus.

TESTING#1 linuxbabe.com: dkim._domainkey.linuxbabe.com => pass

Perhatikan bahwa data DKIM Anda mungkin perlu waktu untuk menyebar ke Internet. Bergantung pada pencatat domain yang Anda gunakan, data DNS Anda mungkin disebarkan secara instan, atau mungkin perlu waktu hingga 24 jam untuk disebarkan. Anda dapat pergi ke https://www.dmarcanalyzer.com/dkim/dkim-check/, masukkan dkim sebagai pemilih dan masukkan nama domain Anda untuk memeriksa propagasi data DKIM.

Data DMARC

DMARC adalah singkatan dari Domain-based Message Authentication, Reporting and Conformance. DMARC dapat membantu menerima server email untuk mengidentifikasi email yang sah dan mencegah nama domain Anda digunakan oleh email spoofing.

Untuk membuat data DMARC, buka pengelola DNS Anda dan tambahkan TXT catatan. Di bidang nama, masukkan _dmarc . Di bidang nilai, masukkan yang berikut ini. (Anda harus membuat [email protected] alamat email.)

v=DMARC1; p=none; pct=100; rua=mailto:[email protected]

Data DMARC di atas adalah titik awal yang aman. Jika ingin membaca penjelasan lengkap tentang DMARC, silahkan cek artikel berikut ini. Perhatikan bahwa ini opsional.

  • Membuat Data DMARC untuk Melindungi Nama Domain Anda Dari Email Spoofing

Langkah 10:Menguji Skor dan Penempatan Email

Setelah membuat data PTR, SPF, DKIM, buka https://www.mail-tester.com . Anda akan melihat alamat email yang unik. Kirim email dari domain Anda ke alamat ini, lalu periksa skor Anda. Seperti yang Anda lihat, saya mendapat nilai sempurna. Dalam hasil pengujian, Anda harus memeriksa apakah data PTR, SPF, dan DKIM Anda valid.

Mail-tester.com hanya dapat menunjukkan skor pengirim kepada Anda. Ada layanan lain bernama GlockApps yang memungkinkan Anda memeriksa apakah email Anda masuk ke kotak masuk atau folder spam penerima, atau ditolak mentah-mentah. Ini mendukung banyak penyedia email populer seperti Gmail, Outlook, Hotmail, YahooMail, iCloud mail, dll.

Bagaimana jika Email Anda Masih Ditandai sebagai Spam?

Saya memiliki lebih banyak tips untuk Anda dalam artikel ini:Bagaimana menghentikan email Anda ditandai sebagai spam. Meskipun akan memakan waktu dan tenaga, email Anda pada akhirnya akan ditempatkan di kotak masuk setelah menerapkan tips ini.

Bagaimana jika Email Anda Ditolak oleh Microsoft Mailbox?

Microsoft tampaknya menggunakan daftar hitam internal yang memblokir banyak alamat IP yang sah. Jika email Anda ditolak oleh Outlook atau Hotmail, Anda harus mengirimkan formulir informasi pengirim. Setelah itu, email Anda akan diterima oleh Outlook/Hotmail.

Menambahkan Beberapa Domain Email

Saya menulis artikel ini untuk menunjukkan kepada Anda cara menambahkan beberapa domain email di iRedMail.

Cara Menonaktifkan Daftar Abu-abu

Secara default, iRedMail telah mengaktifkan daftar abu-abu, yang memberi tahu server SMTP pengirim lain untuk mencoba lagi dalam beberapa menit. Ini terutama berguna untuk memblokir spam, tetapi juga menurunkan pengalaman pengguna. Jika Anda lebih suka menonaktifkan daftar abu-abu, ikuti petunjuk di bawah ini.

Tambahkan izin menulis ke /opt/iredapd/settings.py berkas.

sudo chmod 600 /opt/iredapd/settings.py

Kemudian edit file konfigurasi.

sudo nano /opt/iredapd/settings.py

Temukan baris berikut.

plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"]

Hapus "greylisting" dari daftar. Simpan dan tutup file. Kemudian restart iredapd.

sudo systemctl restart iredapd

Ubah file konfigurasi kembali ke mode hanya baca.

sudo chmod 400 /opt/iredapd/settings.py

Mengaktifkan Port SMTPS 465

Jika Anda akan menggunakan klien Microsoft Outlook, maka Anda perlu mengaktifkan port SMTPS 465 di server SMTP Postfix.

Pemecahan Masalah

Pertama, silahkan gunakan VPS dengan RAM minimal 4GB. Menjalankan iRedMail pada VPS RAM 1GB akan menyebabkan database, SpamAssassin, atau ClamAV mati karena masalah kehabisan memori. Jika Anda benar-benar ingin menggunakan VPS RAM 1GB, Anda akan kehilangan email masuk dan mendapatkan hasil yang tidak diinginkan lainnya.

Jika antarmuka web iRedMail tidak dapat diakses, seperti kesalahan gateway 502, Anda harus memeriksa log Nginx di /var/log/nginx/ direktori untuk menemukan petunjuk. Anda mungkin juga ingin memeriksa log surat /var/log/mail.log .

Periksa apakah berbagai layanan berjalan.

systemctl status postfix

systemctl status dovecot

systemctl status nginx

systemctl status mariadb

systemctl status clamav-daemon

systemctl status amavis

Jika Anda mengaktifkan firewall, Anda harus membuka port berikut di firewall.

HTTP port:  80
HTTPS port: 443
SMTP port:  25
Submission port: 587 (and 465 if you are going to use Microsoft Outlook mail client)
IMAP port:  143 and 993

Jika Anda ingin menggunakan firewall UFW, lihat panduan saya di sini:Memulai dengan firewall UFW di Debian dan Ubuntu.

Cara Memperbarui Sertifikat TLS

Let's Encrypt yang diterbitkan sertifikat TLS hanya berlaku selama 90 hari dan Anda harus menyiapkan tugas Cron untuk memperbarui sertifikat secara otomatis. Anda dapat menjalankan perintah berikut untuk memperbarui sertifikat.

sudo certbot renew -w /var/www/html/

Anda dapat menggunakan --dry-run opsi untuk menguji proses pembaruan, alih-alih melakukan pembaruan nyata.

sudo certbot renew -w /var/www/html/ --dry-run

Jika Anda melihat kesalahan berikut saat memperbarui sertifikat TLS.

The client lacks sufficient authorization :: Invalid response

Maka Anda perlu membuat direktori tersembunyi.

sudo mkdir -p /var/www/html/.well-known/acme-challenge

Dan atur www-data sebagai pemilik webroot.

sudo chown www-data:www-data /var/www/html/ -R

Juga, edit host virtual SSL /etc/nginx/sites-enabled/00-default-ssl.conf . Tambahkan baris berikut.

location ~ /.well-known/acme-challenge {
     root /var/www/html/;
     allow all;
}

Simpan dan tutup file. Uji konfigurasi Nginx dan muat ulang.

sudo nginx -t

sudo systemctl reload nginx

Buat Cron Job

Jika sekarang dry run berhasil, Anda dapat membuat pekerjaan Cron untuk memperbarui sertifikat secara otomatis. Cukup buka file crontab pengguna root.

sudo crontab -e

Kemudian tambahkan baris berikut di bagian bawah file.

@daily certbot renew -w /var/www/html/ --quiet && systemctl reload postfix dovecot nginx

Memuat ulang Postfix, Dovecot, dan Nginx diperlukan untuk membuat program ini mengambil sertifikat dan kunci pribadi baru.

Menyiapkan Server Email Cadangan

Server email utama Anda terkadang tidak aktif. Jika Anda menghosting server email Anda di pusat data, maka waktu henti sangat minimal, jadi Anda tidak perlu khawatir kehilangan email masuk. Jika Anda menghosting server email di rumah, waktu henti tidak dapat diprediksi, jadi sebaiknya Anda menjalankan server email cadangan di pusat data untuk mencegah kehilangan email masuk. Server email cadangan hanya membutuhkan RAM 512MB untuk dijalankan. Cek selengkapnya di artikel berikut.

  • Cara Menyiapkan Server Email Cadangan dengan Postfix di Ubuntu (Panduan Lengkap)

Untuk Pengguna Tingkat Lanjut

iRedMail tidak menyertakan layanan verifikasi DMARC, Anda dapat melihat tutorial berikut untuk menyiapkan OpenDMARC guna memblokir spoofing email.

  • Mengatur OpenDMARC dengan Postfix di Ubuntu untuk Memblokir Email Spoofing/Spam

Anda mungkin ingin menyesuaikan filter konten SpamAssassin untuk mendeteksi spam dengan lebih baik.

  • Blokir Spam Email Dengan Memeriksa Header dan Body di Postfix/SpamAssassin

Jika situs web dan server surat Anda berjalan pada dua VPS (server pribadi virtual) yang berbeda, Anda dapat mengatur relai SMTP antara situs web dan server surat Anda, sehingga situs web Anda dapat mengirim email melalui server surat Anda. Lihat artikel berikut.

  • Cara menyetel relai SMTP antara 2 server SMTP Postfix di Ubuntu

Ubuntu
  1. Siapkan server email dengan PostfixAdmin

  2. Cara Mengatur Server Email dengan Mail-in-a-Box di Ubuntu

  3. Bagaimana cara mengirim email dengan server CentOS saya?

  1. Cara Mengatur Server OpenVPN di Ubuntu 18.04

  2. Cara Menginstal dan Mengatur Server Mail Ubuntu pada Versi 18.04 LTS

  3. Cara Mengatur Server Mail dengan PostfixAdmin di Debian 11

  1. Cara Mengatur Server Email dengan Mailinabox di Ubuntu 14.04

  2. Cara Mudah Mengatur Server Mail di Debian 9 Stretch dengan iRedMail

  3. Cara Mudah Mengatur Server Mail di Debian 10 Buster dengan iRedMail