Как установить и настроить DKIM с Postfix в Ubuntu 18.04 LTS

12 set 2022 3 min di lettura
Как установить и настроить DKIM с Postfix в Ubuntu 18.04 LTS
Indice dei contenuti

Введение

В этом руководстве мы увидим, как установить и настроить OpenDKIM — реализацию с открытым исходным кодом системы аутентификации отправителей DomainKeys Identified Mail (DKIM).

DKIM — это интернет-стандарт, который позволяет человеку или организации связать доменное имя с сообщением электронной почты.

Предпосылки

Прежде чем приступить к руководству, Postfix и Dovecot должны быть правильно установлены и настроены.

Учебное пособие по Postfix и Dovecot (включая настройку полного доменного имени) Руководство по полному доменному имени

Установить OpenDKIM

OpenDKIM доступен в стандартных репозиториях Ubuntu, поэтому его можно легко установить через apt:

sudo apt update
sudo apt install opendkim opendkim-tools

Настроить OpenDKIM

Откройте основной файл конфигурации OpenDKIM:

sudo nano /etc/opendkim.conf

Измените или добавьте следующие строки:


AutoRestart Yes
 AutoRestartRate 10/1h
 UMask 002
 Syslog yes
 SyslogSuccess Yes
 LogWhy Yes

 Canonicalization relaxed/simple

 ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
 InternalHosts refile:/etc/opendkim/TrustedHosts
 KeyTable refile:/etc/opendkim/KeyTable
 SigningTable refile:/etc/opendkim/SigningTable

 Mode sv
 PidFile /var/run/opendkim/opendkim.pid
 SignatureAlgorithm rsa-sha256

 UserID opendkim:opendkim

 Socket inet:12301@localhost

Milter позволяет администраторам добавлять почтовые фильтры для фильтрации спама или вирусов в цепочке обработки почты.

Подключаем milter с Postfix, открываем следующий файл:

sudo nano /etc/default/opendkim

Добавьте эту строку, измените номер порта, только если вы используете пользовательский порт:


SOCKET="inet:12301@localhost"

Чтобы настроить Postfix для использования milter, откройте следующий файл:

sudo nano /etc/postfix/main.cf

Добавьте или раскомментируйте эти строки:


milter_protocol = 2
 milter_default_action = accept

Если вы используете такой фильтр, как SpamAssassin, вполне вероятно, что следующие параметры уже присутствуют, в этом доме просто добавьте милтер OpenDKIM:


smtpd_milters = unix:/spamass/spamass.sock, inet:localhost:12301
 non_smtpd_milters = unix:/spamass/spamass.sock, inet:localhost:12301

Если параметры отсутствуют, добавьте следующее:


smtpd_milters = inet:localhost:12301
 non_smtpd_milters = inet:localhost:12301

Создайте папки для TrustedHosts:

sudo mkdir /etc/opendkim
sudo mkdir /etc/opendkim/keys

Укажите TrustedHosts:

sudo nano /etc/opendkim/TrustedHosts

Мы будем использовать этот файл для определения как ExternalIgnoreList, так и InternalHost, сообщения от этих хостов, доменов и IP-адресов будут доверенными и подписанными.

Настройте и добавьте следующие строки во вновь созданный файл. Вы можете указать несколько доменов, не изменяя первые три строки:


127.0.0.1
 localhost
 192.168.0.1/24

 *.esempio.it

 #*.esempio.tech

Сохраните и закройте файл.

Создайте новый файл:

sudo nano /etc/opendkim/KeyTable

Мы используем электронную почту, изменять ее не нужно. Добавьте эти строки:


mail._domainkey.esempio.it esempio.it:mail:/etc/opendkim/keys/esempio.it/mail.private

 #mail._domainkey.esempio.tech esempio.tech:mail:/etc/opendkim/keys/esempio.tech/mail.private

Сохраните и закройте файл.

Создайте следующий файл, используемый для объявления доменов и адресов электронной почты:

sudo nano /etc/opendkim/SigningTable

Добавьте эти строки:


*@esempio.it mail._domainkey.esempio.it

 #*@esempio.tech mail._domainkey.esempio.tech

Сгенерируйте закрытый ключ и открытый ключ

Смена папки:

cd /etc/opendkim/keys

Создайте и откройте новую папку для домена:

sudo mkdir esempio.it
cd esempio.it

Сгенерируйте ключи:

sudo opendkim-genkey -s mail -d esempio.it

Сделайте opendkim владельцем закрытого ключа:

sudo chown opendkim:opendkim mail.private

Открытый ключ для DNS-записей домена

Откройте файл mail.txt:

sudo nano -$ mail.txt

Открытый ключ определяется в параметре p:


mail._domainkey IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA38K27694dPpB72IgyYh/d6bOaSTe4vXlaPOFjAn4Mef8VGA8Cnvb2VWx0wV2HvqAR62iHjBVZc6otsYI35MIwOh6cunL5ypwIQ0+ALUd5+qUz6ww2vAPkt0iPudIwg41Zmv+tR74zZGNHtV+691i6jCYKEJ6iJlfJqwM+HigDy5T62Qp5FaVSDom/y4eLinme"
 "0Vdg1AZQ4Vg5/fK1PtVNTrqwFqzGy6IdmVjImfcNtAZ/CXSzKLUmsPHxo/ST88XFK9jUUW8vYcT9Yw+Ma0mce9mCcxITpCG5jrX07K+Y+kNJPesZ9v/prwQ+4JVtoT2FrJE6nFqHGLGpTzUVGKkTQIDAQAB" ; ----- DKIM key mail for esempio.it

Та часть, которая вас интересует, заключена в двойные кавычки ":


v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA38K27694dPpB72IgyYh/d6bOaSTe4vXlaPOFjAn4Mef8VGA8Cnvb2VWx0wV2HvqAR62iHjBVZc6otsYI35MIwOh6cunL5ypwIQ0+ALUd5+qUz6ww2vAPkt0iPudIwg41Zmv+tR74zZGNHtV+691i6jCYKEJ6iJlfJqwM+HigDy5T62Qp5FaVSDom/y4eLinme"
 "0Vdg1AZQ4Vg5/fK1PtVNTrqwFqzGy6IdmVjImfcNtAZ/CXSzKLUmsPHxo/ST88XFK9jUUW8vYcT9Yw+Ma0mce9mCcxITpCG5jrX07K+Y+kNJPesZ9v/prwQ+4JVtoT2FrJE6nFqHGLGpTzUVGKkTQIDAQAB"

Соедините две строки кода, удалив двойные кавычки ", затем:


v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA38K27694dPpB72IgyYh/d6bOaSTe4vXlaPOFjAn4Mef8VGA8Cnvb2VWx0wV2HvqAR62iHjBVZc6otsYI35MIwOh6cunL5ypwIQ0+ALUd5+qUz6ww2vAPkt0iPudIwg41Zmv+tR74zZGNHtV+691i6jCYKEJ6iJlfJqwM+HigDy5T62Qp5FaVSDom/y4eLinme0Vdg1AZQ4Vg5/fK1PtVNTrqwFqzGy6IdmVjImfcNtAZ/CXSzKLUmsPHxo/ST88XFK9jUUW8vYcT9Yw+Ma0mce9mCcxITpCG5jrX07K+Y+kNJPesZ9v/prwQ+4JVtoT2FrJE6nFqHGLGpTzUVGKkTQIDAQAB

Это значение нужно добавить в поле TXT в записях DNS вашего домена.

ВНИМАНИЕ не копируйте этот публичный ключ, он носит иллюстративный характер, он не будет работать на вашем сервере.

Перезапустите Postfix и OpenDKIM:

sudo service postfix restart
sudo service opendkim restart

Настройка и установка DKIM на Ubuntu 18.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.