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

Instal dan Konfigurasi OpenDKIM di CentOS 8/RHEL 8 Mail Server

Sebelumnya saya menunjukkan cara mengatur SPF dan DKIM di server email CentOS/RHEL. Dua perangkat lunak umum yang dapat melakukan penandatanganan dan verifikasi DKIM di Linux adalah OpenDKIM dan Amavis. Dalam tutorial itu saya menggunakan Amavis, karena pada saat itu OpenDKIM tidak termasuk dalam repositori CentOS 8/RHEL 8. Sampai sekarang, OpenDKIM termasuk dalam repositori EPEL. Beberapa orang lebih suka menggunakan OpenDKIM jadi saya akan menunjukkan caranya dalam tutorial ini.

Apa itu DKIM?

DKIM (DomainKeys Identified Mail) adalah jenis catatan TXT di DNS yang dapat membantu mencegah spoofing email dan membuat email yang sah dikirim ke kotak masuk penerima alih-alih folder spam. DKIM menggunakan kunci pribadi untuk menambahkan tanda tangan ke email yang dikirim dari domain Anda . Server SMTP penerima memverifikasi tanda tangan dengan menggunakan kunci publik yang sesuai, yang dipublikasikan di data DNS domain Anda.

Menonaktifkan DKIM di Amavis

Jika Anda mengikuti tutorial Amavis saya sebelumnya, tetapi sekarang Anda ingin menggunakan OpenDKIM, Anda harus menonaktifkan DKIM di Amavis. Edit file konfigurasi utama.

sudo nano /etc/amavisd/amavisd.conf

Temukan baris berikut.

$enable_dkim_verification = 1;  # enable DKIM signatures verification
$enable_dkim_signing = 1;       # load DKIM signing code, keys defined by dkim_key

Tambahkan # karakter di awal setiap baris untuk mengomentarinya.

#$enable_dkim_verification = 1;  # enable DKIM signatures verification
#$enable_dkim_signing = 1;       # load DKIM signing code, keys defined by dkim_key

Simpan dan tutup file. Kemudian mulai ulang Amavis.

sudo systemctl restart amavisd

Langkah 1:Instal dan Konfigurasi OpenDKIM di CentOS 8/RHEL8

Pertama, aktifkan repositori EPEL (Paket Ekstra untuk Linux Perusahaan) dan instal OpenDKIM.

sudo dnf install epel-release

sudo dnf install opendkim

Edit file konfigurasi utama OpenDKIM.

sudo nano /etc/opendkim.conf

Temukan baris berikut.

Mode     v

Secara default, OpenDKIM berjalan dalam mode verifikasi (v), yang akan memverifikasi tanda tangan DKIM dari pesan email yang masuk. Kami perlu menandatangani email keluar, jadi ubah baris ini menjadi berikut untuk mengaktifkan mode penandatanganan.

Mode           sv

Kemudian temukan baris berikut.

## Specifies whether or not the filter should generate report mail back
## to senders when verification fails and an address for such a purpose
## is provided. See opendkim.conf(5) for details.
SendReports yes

## Specifies the sending address to be used on From: headers of outgoing
## failure reports. By default, the e-mail address of the user executing
## the filter is used ([email protected]).
# ReportAddress "Example.com Postmaster" <[email protected]>

Ketika verifikasi tanda tangan gagal dan tanda tangan menyertakan permintaan pelaporan (“r=y”) dan domain penandatanganan mengiklankan alamat pelaporan (yaitu ra=user) dalam catatan pelaporan di DNS, OpenDKIM akan mengirimkan laporan terstruktur ke alamat tersebut berisi rincian yang diperlukan untuk mereproduksi masalah. Anda mungkin ingin menggunakan alamat email Dari tertentu untuk mengirim laporan. Batalkan komentar pada ReportAddress parameter dan mengubah alamat email. Perhatikan bahwa ini tidak akan menimbulkan masalah hamburan balik, karena email laporan akan dikirim ke alamat email yang ditentukan dalam data DNS domain pengirim.

Temukan baris berikut dan beri komentar, karena kami akan menggunakan kunci terpisah untuk setiap nama domain.

KeyFile   /etc/opendkim/keys/default.private

Selanjutnya, temukan 4 baris berikut dan batalkan komentarnya.

# KeyTable            /etc/opendkim/KeyTable

# SigningTable        refile:/etc/opendkim/SigningTable

# ExternalIgnoreList  refile:/etc/opendkim/TrustedHosts

# InternalHosts       refile:/etc/opendkim/TrustedHosts

Simpan dan tutup file.

Langkah 2:Buat Tabel Penandatanganan, Tabel Kunci, dan File Host Tepercaya

Edit tabel penandatanganan berkas.

sudo nano /etc/opendkim/SigningTable

Tambahkan baris berikut di akhir file ini. Ini memberi tahu OpenDKIM bahwa jika pengirim di server Anda menggunakan @your-domain.com alamat, maka itu harus ditandatangani dengan kunci pribadi yang diidentifikasi oleh 20200308._domainkey.your-domain.com .

*@your-domain.com    20200308._domainkey.your-domain.com

20200308 adalah pemilih DKIM. Nama domain mungkin memiliki beberapa kunci DKIM. Pemilih DKIM memungkinkan Anda memilih kunci DKIM tertentu. Anda dapat menggunakan nama apa pun untuk pemilih DKIM, tetapi saya merasa nyaman menggunakan tanggal saat ini (8 Maret 2020) sebagai pemilih DKIM. Simpan dan tutup file. Kemudian edit tabel kunci berkas.

sudo nano /etc/opendkim/KeyTable

Tambahkan baris berikut, yang menentukan lokasi kunci pribadi DKIM.

20200308._domainkey.your-domain.com     your-domain.com:20200308:/etc/opendkim/keys/your-domain.com/20200308.private

Simpan dan tutup file. Selanjutnya, edit file host terpercaya.

sudo nano /etc/opendkim/TrustedHosts

127.0.0.0.1 dan ::1 disertakan dalam file ini secara default. Sekarang tambahkan baris berikut. Ini memberi tahu OpenDKIM bahwa jika email berasal dari nama domain Anda sendiri, OpenDKIM tidak boleh melakukan verifikasi DKIM pada email tersebut.

*.your-domain.com

Simpan dan tutup file.

Langkah 3:Buat Pasangan Kunci Pribadi/Publik

Karena DKIM digunakan untuk menandatangani pesan keluar dan memverifikasi pesan masuk, kita perlu membuat kunci pribadi untuk penandatanganan dan kunci publik untuk pemverifikasi jarak jauh. Kunci publik akan dipublikasikan di DNS.

Buat folder terpisah untuk domain.

sudo mkdir /etc/opendkim/keys/your-domain.com

Buat kunci menggunakan opendkim-genkey alat.

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

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

Secara default, hanya root yang dapat membaca dan menulis ke file kunci. Buat opendkim sebagai pemilik kunci pribadi.

sudo chown opendkim:opendkim /etc/opendkim/keys/ -R

Langkah 4:Publikasikan Kunci Publik Anda di Catatan DNS

Tampilkan kunci publik

sudo cat /etc/opendkim/keys/your-domain.com/20200308.txt

String setelah p parameter adalah kunci publik.

Di pengelola DNS Anda, buat data TXT, masukkan 20200308._domainkey di kolom nama. (Anda perlu mengganti 20200308 dengan pemilih DKIM Anda sendiri.) Kemudian kembali ke jendela terminal, salin semua yang ada di dalam tanda kurung dan tempel ke bidang nilai catatan DNS. Anda perlu menghapus semua tanda kutip ganda dan jeda baris di bidang nilai. Jika Anda tidak menghapusnya, pengujian kunci pada langkah berikutnya mungkin akan gagal.

Langkah 5:Uji Kunci DKIM

Masukkan perintah berikut di server CentOS 8/RHEL 8 Anda untuk menguji kunci Anda.

sudo opendkim-testkey -d your-domain.com -s 20200308 -vvv

Jika semuanya OK, Anda akan melihat key OK pesan.

opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key '20200308._domainkey.linuxbabe.com'
opendkim-testkey: key OK

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 20200308 sebagai pemilih dan masukkan nama domain Anda untuk memeriksa propagasi data DKIM.

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.

Sekarang kita dapat memulai layanan opendkim.

sudo systemctl start opendkim

Dan aktifkan mulai otomatis saat boot.

sudo systemctl enable opendkim

OpenDKIM mendengarkan 127.0.0.1:8891 .

Langkah 6:Hubungkan Postfix ke OpenDKIM

Edit file konfigurasi utama Postfix.

sudo nano /etc/postfix/main.cf

Tambahkan baris berikut di akhir file ini, sehingga Postfix akan dapat memanggil OpenDKIM melalui protokol milter. Perhatikan bahwa Anda harus menggunakan 127.0.0.1 sebagai alamat. Jangan gunakan localhost .

# Milter configuration
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters

Simpan dan tutup file. Kemudian tambahkan postfix pengguna ke opendkim grup.

sudo gpasswd -a postfix opendkim

Mulai ulang postfix layanan.

sudo systemctl restart postfix

Langkah 7: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. Berikut laporan yang saya dapatkan dari port25.com.

Anda juga dapat mengirim email percobaan dari server email ke akun Gmail Anda untuk melihat apakah pemeriksaan SPF dan DKIM lulus. Di sisi kanan pesan email yang dibuka di Gmail, jika Anda mengklik show original dari menu tarik-turun, Anda dapat melihat hasil autentikasi.

Jika pesan Anda tidak ditandatangani dan pemeriksaan DKIM gagal, Anda mungkin ingin memeriksa log postfix (/var/log/maillog ) untuk melihat apa yang salah dalam konfigurasi Anda.

Server email Anda juga akan melakukan verifikasi DKIM pada email yang masuk. Anda dapat melihat hasilnya di header email. Berikut ini adalah pemeriksaan SPF dan DKIM pada pengirim yang menggunakan Gmail.

Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2607:f8b0:4864:20::c2d; helo=mail-yw1-xc2d.google.com; [email protected]; receiver=<UNKNOWN> 
Authentication-Results: email.linuxbabe.com;
	dkim=pass (2048-bit key; unprotected) header.d=gmail.com [email protected] header.b="XWMRd2co";
	dkim-atps=neutral

Cara Mengonfigurasi OpenDKIM Untuk Beberapa Domain

Saya telah menulis panduan untuk menghosting banyak domain di server email CentOS 8/RHEL 8 dengan PostfixAdmin. Dalam artikel itu, saya menggunakan Amavis untuk penandatanganan dan verifikasi DKIM. Jika Anda menggunakan OpenDKIM, maka Anda harus melewati langkah 3 dalam artikel tersebut.

Untuk mengonfigurasi OpenDKIM untuk beberapa domain, Anda perlu menambahkan domain lain di tabel penandatanganan, tabel kunci, dan file host tepercaya seperti di bawah ini.

Tabel penandatanganan:

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

Tabel kunci:

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

Host tepercaya:

127.0.0.1
localhost

*.domain1.com
*.domain2.com

Kemudian buat pasangan kunci Pribadi/Publik DKIM dan tambahkan kunci publik DKIM di DNS seperti yang disebutkan di langkah 3, langkah 4, dan langkah 5 untuk domain lain. Mulai ulang OpenDKIM dan selesai.

sudo systemctl restart opendkim

Langkah Selanjutnya

Saya harap tutorial ini membantu Anda menginstal dan mengkonfigurasi OpenDKIM di server email CentOS 8/RHEL 8. Sekarang Anda mungkin ingin membaca tutorial berikut untuk menyiapkan OpenDMARC guna memblokir spoofing email.

  • Mengatur OpenDMARC dengan Postfix di CentOS/RHEL untuk Memblokir Email Spoofing

Seperti biasa, jika menurut Anda postingan ini bermanfaat, berlangganan newsletter gratis kami untuk mendapatkan lebih banyak tips dan trik. Hati-hati


Cent OS
  1. Instal dan Konfigurasikan server FTP di CentOS 7 / RHEL 7 – (vsftpfd)

  2. CentOS / RHEL 7 :Cara menginstal dan mengkonfigurasi server ftp (vsftpd)

  3. CentOS / RHEL 5:Cara menginstal dan mengkonfigurasi server vsftpd

  1. Cara menginstal server email postfix di RHEL 8 / CentOS 8

  2. Instal dan Konfigurasi HAProxy di RHEL 8 / CentOS 8 Linux

  3. Cara menginstal dan mengkonfigurasi samba di RHEL 8 / CentOS 8

  1. Cara Menginstal dan Mengkonfigurasi VNC di CentOS 7

  2. Cara Menginstal dan Mengonfigurasi Server NFS di CentOS 8

  3. Cara Menginstal dan Mengkonfigurasi VNC di CentOS 8