GNU/Linux >> Belajar Linux >  >> Cent OS

Host Beberapa Domain Email di PostfixAdmin di CentOS/RHEL

Tutorial ini akan menunjukkan kepada Anda cara mengatur beberapa domain email (hosting virtual) di server CentOS/RHEL dengan PostfixAdmin, yang merupakan antarmuka berbasis web sumber terbuka untuk mengonfigurasi dan mengelola server email berbasis Postfix untuk banyak domain dan pengguna.

Prasyarat

Untuk mengikuti tutorial ini, diperlukan

  • Anda telah mengonfigurasi PostfixAdmin dengan satu domain email.
  • Anda telah mengikuti bagian 4 untuk menyiapkan SPF dan DKIM.
  • Anda telah menginstal Roundcube Webmail.

Setelah persyaratan di atas terpenuhi, ikuti petunjuk di bawah ini.

Yang Harus Anda Lakukan

Jika Anda ingin meng-host beberapa domain email, maka Anda perlu

  • Tambahkan domain email dan pengguna baru di panel berbasis web PostfixAdmin.
  • Buat data MX, A, dan SPF untuk domain email baru.
  • Siapkan penandatanganan DKIM untuk domain baru.
  • Buat Data DMARC untuk domain baru.
  • Siapkan RoundCube Webmail, Postfix, dan Dovecot untuk beberapa domain
Reverse DNS check digunakan untuk memeriksa apakah alamat IP pengirim cocok dengan nama host HELO. Anda tidak perlu menambahkan data PTR lain saat menambahkan domain email baru.

Langkah 1:Menambahkan Domain Tambahan di Panel PostfixAdmin

Masuk ke panel PostfixAdmin dengan akun postmaster. (https://postfixadmin.your-domain.com/ ) Lalu pergi ke Domain List -> New Domain untuk menambahkan domain baru.

Perhatikan bahwa domain baru harus memiliki catatan DNS A, atau PostfixAdmin akan menampilkan pesan galat berikut. Anda dapat memeriksa status propagasi DNS di dnsmap.io.

Invalid domain domain2.com, and/or not discoverable in DNS

Selanjutnya, tambahkan pengguna di bawah domain baru.

Langkah 2:Membuat data MX, A, dan SPF untuk domain email baru

Di pengelola DNS Anda, tambahkan data MX untuk domain baru seperti di bawah ini.

Record Type    Name      Value

MX             @         mail.domain2.com

Catatan A menunjuk ke alamat IP server email Anda.

Record Type    Name     Value

A              mail     IP-address-of-mail-server

Jika server Anda menggunakan alamat IPv6, pastikan untuk menambahkan data AAAA.

Kemudian buat data SPF agar host MX dapat mengirim email untuk domain email baru.

Record Type    Name      Value

TXT            @         v=spf1 mx ~all

Langkah 3:Menyiapkan penandatanganan DKIM untuk domain baru

Kami telah menginstal dan mengonfigurasi OpenDKIM untuk satu domain di bagian 4 dari seri tutorial ini. Sekarang kita perlu memberi tahu OpenDKIM untuk menandatangani setiap email keluar untuk domain email baru.

Edit file tabel penandatanganan OpenDKIM.

sudo nano /etc/opendkim/SigningTable

Tambahkan domain kedua seperti di bawah ini.

*@domain1.com       20200308._domainkey.domain1.com
*@domain2.com       20200308._domainkey.domain2.com

Edit file tabel kunci.

sudo nano /etc/opendkim/KeyTable

Tambahkan domain kedua seperti di bawah ini.

20200308._domainkey.domain1.com     domain1.com:20200308:/etc/opendkim/keys/domain1.com/20200308.private
20200308._domainkey.domain2.com     domain2.com:20200308:/etc/opendkim/keys/domain2.com/20200308.private

Edit file host tepercaya.

sudo nano /etc/opendkim/TrustedHosts

Tambahkan domain kedua seperti di bawah ini.

127.0.0.1
localhost

*.domain1.com
*.domain2.com

Selanjutnya, kita perlu membuat pasangan kunci priavte/publik untuk domain kedua. Buat folder terpisah untuk domain kedua.

sudo mkdir /etc/opendkim/keys/domain2.com

Buat kunci menggunakan opendkim-genkey alat.

sudo opendkim-genkey -b 2048 -d domain2.com -D /etc/opendkim/keys/domain2.com -s 20200308 -v

Perintah di atas akan membuat kunci 2048 bit. -d (domain) menentukan domain. -D (directory) menentukan direktori tempat kunci akan disimpan dan kami menggunakan 20200308 (tanggal saat ini) sebagai selector (-s) . Setelah perintah dijalankan, kunci pribadi akan ditulis ke 20200308.private file dan kunci publik akan ditulis ke 20200308.txt berkas.

Buat opendkim sebagai pemilik kunci pribadi.

sudo chown opendkim:opendkim /etc/opendkim/keys/domain2.com/20200308.private

Tampilkan kunci publik

sudo cat /etc/opendkim/keys/domain2.com/20200308.txt

String setelah p parameter adalah kunci publik.

Di pengelola DNS Anda, buat data TXT untuk domain kedua. Masukkan 20200308._domainkey di kolom Nama. Salin semua yang ada di dalam tanda kurung dan tempel ke bidang nilai. Hapus semua tanda kutip ganda. (Anda dapat menempelkannya ke editor teks terlebih dahulu, menghapus semua tanda kutip ganda, lalu menyalinnya ke manajer DNS Anda. Manajer DNS Anda mungkin meminta Anda untuk menghapus karakter tidak valid lainnya, seperti carriage return.)

Setelah menyimpan perubahan Anda. Periksa data TXT dengan perintah ini.

dig TXT 20203008._domainkey.domain2.com

Sekarang Anda dapat menjalankan perintah berikut untuk menguji apakah data DNS DKIM Anda benar.

sudo opendkim-testkey -d domain2.com -s 20200308 -vvv

Jika semuanya OK, Anda akan melihat

opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key '20203008._domainkey.domain2.com'
opendkim-testkey: key secure
opendkim-testkey: key OK

Jika Anda melihat "Kunci tidak aman", jangan panik. Ini karena DNSSEC tidak diaktifkan pada nama domain Anda. DNSSEC adalah standar keamanan untuk kueri DNS yang aman. Sebagian besar nama domain belum mengaktifkan DNSSEC. Anda dapat terus mengikuti panduan ini.

Mulai ulang OpenDKIM sehingga akan mulai menandatangani email untuk domain kedua.

sudo systemctl restart opendkim

Langkah 4:Membuat Data DMARC Untuk Domain Baru

Untuk membuat data DMARC, buka pengelola DNS Anda dan tambahkan TXT catatan. Di bidang nama, masukkan _dmarc . Di bidang nilai, masukkan yang berikut ini. Perhatikan bahwa Anda perlu 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 Anda ingin membaca penjelasan rinci tentang DMARC, silakan baca artikel berikut.

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

Langkah 5:Menyiapkan RoundCube, Postfix, dan Dovecot untuk Beberapa Domain

Saya berasumsi Anda menginstal Roundcube Webmail untuk domain email pertama.

Masuk akal untuk membiarkan pengguna domain pertama menggunakan mail.domain1.com dan pengguna domain kedua menggunakan mail.domain2.com saat menggunakan email web RoundCube. Saya akan menunjukkan cara melakukannya dengan Apache dan Nginx.

Apache

Jika Roundcube dilayani oleh server web Apache, maka buat host virtual untuk domain kedua.

sudo nano /etc/httpd/conf.d/mail.domain2.com.conf

Masukkan teks berikut ke dalam file.

<VirtualHost *:80>
  ServerName mail.domain2.com
  DocumentRoot /var/www/roundcube/

  ErrorLog /var/log/httpd/mail.domain2.com_error.log
  CustomLog /var/log/httpd/mail.domain2.com_access.log combined

  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>

  <Directory /var/www/roundcube/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

</VirtualHost>

Simpan dan tutup file. Muat ulang Apache agar perubahan diterapkan.

sudo systemctl reload httpd

Nginx

Jika Roundcube dilayani oleh server web Nginx, maka buat host virtual untuk domain kedua.

sudo nano /etc/nginx/conf.d/mail.domain2.com.conf

Masukkan teks berikut ke dalam file.

server {
  listen 80;
  server_name mail.domain2.com;
  root /var/www/roundcube/;
  index index.php index.html index.htm;

  error_log /var/log/nginx/roundcube.error;
  access_log /var/log/nginx/roundcube.access;

  location / {
    try_files $uri $uri/ /index.php;
  }

  location ~ \.php$ {
   try_files $uri =404;
    fastcgi_pass unix:/run/php-fpm/www.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

  location ~ /.well-known/acme-challenge {
    allow all;
  }
 location ~ ^/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
    deny all;
  }
  location ~ ^/(bin|SQL)/ {
    deny all;
  }
 # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }
}

Simpan dan tutup file. Kemudian uji konfigurasi Nginx.

sudo nginx -t

Jika pengujian berhasil, muat ulang Nginx agar perubahan diterapkan.

sudo systemctl reload nginx

Mendapatkan Sertifikat TLS

Sekarang gunakan Certbot untuk mendapatkan sertifikat TLS untuk semua domain email Anda, jadi Anda akan memiliki satu sertifikat TLS dengan beberapa nama domain di dalamnya dan klien email tidak akan memberikan peringatan keamanan.

Apache

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp -d mail.domain1.com,mail.domain2.com --cert-name mail.domain1.com --email [email protected]

Nginx

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp -d mail.domain1.com,mail.domain2.com --cert-name mail.domain1.com --email [email protected]

Perhatikan bahwa pada perintah di atas, kami menentukan nama sertifikat menggunakan domain email pertama, yang akan digunakan di jalur file, jadi Anda tidak perlu mengubah jalur file di file konfigurasi Postfix atau Dovecot.

Saat ditanya apakah Anda ingin memperbarui sertifikat yang ada untuk menyertakan domain baru, jawab U dan tekan Enter.

Sekarang Anda akan melihat pesan berikut, yang menunjukkan bahwa sertifikat multi-domain berhasil diperoleh.

Muat ulang Apache atau Nginx untuk mengambil sertifikat baru.

sudo systemctl reload httpd
sudo systemctl reload nginx

Anda sekarang seharusnya dapat menggunakan domain yang berbeda untuk mengakses email web RoundCube. Juga, Anda perlu memuat ulang server SMTP Postfix dan server IMAP Dovecot agar mereka dapat mengambil sertifikat baru. Hanya itu yang perlu Anda lakukan agar Postfix dan Dovecot melayani banyak domain.

sudo systemctl reload postfix dovecot

Menggunakan Klien Email di Komputer atau Perangkat Seluler Anda

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

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

Petunjuk :Anda juga dapat menggunakan port 993 dengan enkripsi SSL/TLS untuk IMAP, dan menggunakan port 465 dengan enkripsi SSL/TLS untuk SMTP. Anda seharusnya tidak gunakan port 25 sebagai port SMTP untuk mengirimkan email keluar.

Meskipun server SMTP Postfix dan server IMAP Dovecot menggunakan nama host dari domain email pertama (mail.domain1.com) saat berkomunikasi dengan orang lain, mereka sekarang menggunakan sertifikat multi-domain, sehingga klien email tidak akan menampilkan peringatan sertifikat.

Pemeriksaan SPF dan DKIM

Sekarang Anda dapat menggunakan klien email desktop atau klien email web untuk mengirim email percobaan ke [email protected] dan dapatkan laporan autentikasi email gratis. Ini laporan yang saya dapatkan dari port25.com

Jangan lupa untuk menguji skor email Anda di https://www.mail-tester.com dan juga menguji penempatan email dengan GlockApps.

Jika pemeriksaan DKIM gagal, Anda dapat membuka https://www.dmarcanalyzer.com/dkim/dkim-check/ untuk melihat apakah ada kesalahan dengan data DKIM Anda.

Bagaimana jika Email Anda Masih Ditandai sebagai Spam?

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

rDNS untuk Beberapa Domain Email?

Reverse DNS (rDNS), alias catatan PTR, digunakan untuk memeriksa apakah alamat IP pengirim cocok dengan nama host HELO. Anda tidak perlu menambahkan data PTR lain saat menambahkan domain email baru. rDNS Anda harus disetel ke hanya satu nama host, yaitu nama host yang disetel di Postfix, yang dapat ditampilkan dengan perintah berikut.

postconf myhostname

rDNS adalah catatan untuk alamat IP. Ini bukan catatan untuk nama domain. Jika Anda hanya memiliki satu alamat IP, maka Anda hanya perlu satu data rDNS yang menunjuk ke satu nama host. Pemeriksaan DNS terbalik tidak memverifikasi apa From: domain ada di email Anda, selama alamat IP Anda memiliki catatan rDNS dan nama host dapat menyelesaikan kembali ke alamat IP yang sama, Anda dapat melewati pemeriksaan DNS terbalik.

Selain itu, Anda tidak perlu mengubah pengaturan berikut di Postfix saat menghosting beberapa domain di satu server.

  • namahostsaya
  • asal saya
  • tujuan yang salah

Layanan email yang dihosting seperti G Suite dan Microsoft Exchange Online semua menggunakan satu nama host untuk server untuk mengirim email untuk pelanggan mereka. Semua email yang dikirim dari pengguna G Suite menggunakan google.com di nama host dan email yang dikirim dari pengguna Microsoft Exchange Online semuanya menggunakan outlook.com dalam nama host. Hal ini juga berlaku untuk penyedia layanan email lain seperti Mailchimp, SendinBlue, SendPluse, dll. Mereka semua menggunakan satu nama host untuk satu server dan satu alamat IP hanya memiliki satu catatan rDNS.


Cent OS
  1. Buat domain addon di CentOS Web Panel

  2. Cara mengatur subdomain atau meng-host beberapa domain menggunakan nginx di server linux

  3. Cara Mengatur mutt di CentOS/RHEL

  1. Cara mengkonfigurasi server DNS di CentOS 5 / RHEL 5

  2. Instal EasyRSA (Otoritas Sertifikat)-CA di CentOS / RHEL 8

  3. Cara Menghosting Email di Domain Alias

  1. Bagaimana cara meng-host beberapa domain?

  2. Siapkan server email dengan PostfixAdmin dan MariaDB di CentOS 7

  3. Cara mengatur server email dengan PostfixAdmin di CentOS 7