Как установить и настроить OpenDKIM в Ubuntu

Введение

DomainKeys Identified Mail (DKIM) — это метод аутентификации электронной почты, предназначенный для обнаружения поддельных адресов отправителя в сообщениях, что часто используется в фишинге и почтовом спаме. DKIM позволяет организации заявить о своей ответственности за сообщение таким образом, чтобы получатель мог его проверить. OpenDKIM это реализация спецификации DKIM с открытым исходным кодом, которая широко используется для добавления этого уровня безопасности в почтовые системы.

В этом руководстве мы рассмотрим шаги по установке и настройке OpenDKIM на сервере Ubuntu. Мы рассмотрим процесс установки, детали конфигурации, интеграцию с почтовым сервером Postfix и тестирование, чтобы убедиться, что все настроено правильно.

Предварительные условия

Прежде чем приступить к работе, убедитесь, что у вас есть следующее:

  1. Сервер Ubuntu (20.04 LTS или более поздней версии).
  2. Root или sudo доступ к серверу.
  3. Доменное имя и контроль над настройками DNS.
  4. Postfix, установленный и настроенный на вашем сервере.

Шаг 1: Обновление системных пакетов

Начните с обновления списков пакетов на вашем сервере Ubuntu, чтобы убедиться, что у вас доступны последние версии.

$ sudo apt update
$ sudo apt upgrade -y

Далее установите OpenDKIM и его зависимости с помощью следующей команды:

$ sudo apt install opendkim opendkim-tools -y

Шаг 3: Настройте OpenDKIM

Создание каталога конфигурации OpenDKIM

Создайте каталог для конфигурации OpenDKIM и файлов ключей.

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

Настройка OpenDKIM

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

$ sudo nano /etc/opendkim.conf

Добавьте в файл следующие параметры конфигурации:

Syslog                  yes
UMask                   002
Mode                    sv
Canonicalization        relaxed/simple
ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts           refile:/etc/opendkim/TrustedHosts
KeyTable                refile:/etc/opendkim/KeyTable
SigningTable            refile:/etc/opendkim/SigningTable
Socket                  inet:12345@localhost
PidFile                 /var/run/opendkim/opendkim.pid
UserID                  opendkim:opendkim
TemporaryDirectory      /var/tmp

Настройка доверенных узлов

Отредактируйте файл TrustedHosts, включив в него вашу локальную сеть и почтовый сервер.

$ sudo nano /etc/opendkim/TrustedHosts

Добавьте следующие строки:

127.0.0.1
localhost
192.168.0.1/24  # Replace with your local network
*.yourdomain.com  # Replace with your domain

Настройка таблицы ключей

Отредактируйте файл KeyTable, чтобы указать местоположение ключей DKIM.

$ sudo nano /etc/opendkim/KeyTable

Добавьте следующую строку (замените yourdomain.com на ваше фактическое доменное имя):

mail._domainkey.yourdomain.com yourdomain.com:mail:/etc/opendkim/keys/yourdomain.com/mail.private

Настройка таблицы подписи

Отредактируйте файл SigningTable, чтобы определить, какие домены должны быть подписаны.

$ sudo nano /etc/opendkim/SigningTable

Добавьте следующую строку:

*@yourdomain.com mail._domainkey.yourdomain.com

Шаг 4: Генерация ключей DKIM

Перейдите в каталог keys и создайте каталог для вашего домена.

$ cd /etc/opendkim/keys
$ sudo mkdir yourdomain.com
$ cd yourdomain.com

Сгенерируйте новую пару DKIM-ключей с помощью следующей команды:

$ sudo opendkim-genkey -s mail -d yourdomain.com
$ sudo chown opendkim:opendkim mail.private

В результате будут сгенерированы два файла:

  • mail.private: Закрытый ключ, используемый OpenDKIM для подписи исходящих сообщений.
  • mail.txt: Открытый ключ, который будет добавлен к вашим DNS-записям.

Шаг 5: Добавьте открытый ключ DKIM в DNS

Откройте mail.txt файл и скопируйте его содержимое.

$ cat mail.txt

Вы увидите что-то вроде этого:

mail._domainkey.yourdomain.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDmt+8iyK2xwLth..."

Войдите в систему DNS-провайдера и создайте новую TXT-запись со следующими данными:

  • Имя: mail._domainkey
  • Тип: TXT
  • Значение: (Вставьте содержимое из mail.txt файла)

Шаг 6: Настройте Postfix на использование OpenDKIM

Отредактируйте основной конфигурационный файл Postfix для интеграции OpenDKIM.

$ sudo nano /etc/postfix/main.cf

Добавьте следующие строки в конец файла:

milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:12345
non_smtpd_milters = inet:localhost:12345

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

Шаг 7: Запуск и включение OpenDKIM

Запустите службу OpenDKIM и включите ее запуск при загрузке.

$ sudo systemctl start opendkim
$ sudo systemctl enable opendkim

Перезапустите Postfix, чтобы применить изменения.

$ sudo systemctl restart postfix

Шаг 8: Проверьте конфигурацию

Отправьте тестовое электронное письмо

Отправьте тестовое письмо на внешний адрес электронной почты (например, Gmail или Yahoo), чтобы проверить, работает ли подпись DKIM.

Проверка заголовков электронной почты

Получив тестовое письмо, проверьте заголовки электронной почты на наличие DKIM-Signature заголовок. Этот заголовок указывает на то, что письмо было подписано OpenDKIM.

Проверка подписи DKIM

Используйте онлайн-инструмент проверки DKIM (например, DKIMCore, MXToolbox) для проверки DKIM-подписи. Введите селектор (mail) и ваш домен (yourdomain.com), чтобы проверить, правильно ли настроен открытый ключ в DNS.

Устранение неполадок

Проверка журналов OpenDKIM

Если у вас возникли проблемы, проверьте журналы OpenDKIM на наличие сообщений об ошибках.

$ sudo journalctl -u opendkim

Убедитесь в правильности разрешений

Убедитесь, что opendkim пользователь имеет правильные права доступа к ключевым файлам.

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

Проверка конфигурации DNS

Дважды проверьте записи DNS, чтобы убедиться, что открытый ключ DKIM добавлен правильно.

Перезапуск служб

Если в конфигурационные файлы были внесены изменения, перезапустите службы OpenDKIM и Postfix.

$ sudo systemctl restart opendkim
$ sudo systemctl restart postfix

Заключение

Настройка DKIM с помощью OpenDKIM на сервере Ubuntu повышает безопасность электронной почты, проверяя подлинность ваших писем. Следуя шагам, описанным в этом руководстве, вы сможете успешно установить, настроить и интегрировать OpenDKIM с вашим почтовым сервером Postfix. Регулярно отслеживайте и обновляйте ключи DKIM и записи DNS, чтобы поддерживать безопасную почтовую среду.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *