Использование DKIM на моем сервере для нескольких доменов (веб-сайтов)

Поскольку я не смог найти этот точный учебник в стеке, я делюсь своими выводами со всеми вами. Благодаря этому общению я всегда все решаю. Спасибо!

Оригинальный вопрос: я прочитал учебник, опубликованный MountainX ( https://askubuntu.com/questions/134725/setup-dkim-domainkeys-for-ubuntu-postfix-and-mailman), но не могу понять, как применить эти шаги, если я хочу разместить и отправить электронную почту для нескольких доменов. У кого-нибудь есть подсказка?

1 ответ

Решение

Хорошо! Я понял это из поста, упомянутого в вопросе. Я сделал своего рода смесь между самим ответом и ссылками, приведенными в нем. Специально четвертая ссылка - та, которую я использовал.

Так что все идет так. Предположим, у вас есть сервер или VPS, и вы сделаете один из ваших доменов главным доменом и будете использоваться в качестве имени сервера (в моем примере: mydomain.com).

Итак, в первую очередь, мы перейдем на root, чтобы упростить задачу, но вы можете пропустить этот шаг и использовать sudo перед каждой командой.

sudo su

Теперь мы устанавливаем OpenDKIM:

apt-get install opendkim opendkim-tools

Давайте исправим файл конфигурации. Мы открываем /etc/opendkim.conf для издания. Я использую нано, но то же самое с другим редактором.

nano /etc/opendkim.conf

После открытия сделайте так, чтобы это выглядело так. Если вы чувствуете себя комфортно, вы можете изменить некоторые параметры, но Domain, KeyFile а также Selector должен оставаться прокомментированным.

# This is a basic configuration that can easily be adapted to suit a standard
# installation. For more advanced options, see opendkim.conf(5) and/or
# /usr/share/doc/opendkim/examples/opendkim.conf.sample.
#
#Domain                  example.com
#KeyFile                 /etc/opendkim/201205.private
#Selector                201205
#
# Commonly-used options
Canonicalization        relaxed/simple
Mode                    sv
SubDomains              yes
# Log to syslog
Syslog                  yes
LogWhy                  yes
# Required to use local socket with MTAs that access the socket as a non-
# privileged user (e.g. Postfix)
UMask                   022
UserID                  opendkim:opendkim
#
KeyTable                /etc/opendkim/KeyTable
SigningTable            /etc/opendkim/SigningTable
ExternalIgnoreList      /etc/opendkim/TrustedHosts
InternalHosts           /etc/opendkim/TrustedHosts
#
Socket                  inet:8891@localhost
#EOF

Далее мы создаем некоторые папки и файлы, которые будут содержать информацию о том, что OpenDKIM должен использовать и обрабатывать. На данный момент TrustedHosts файл. Мы создаем и редактируем это:

mkdir /etc/opendkim
nano /etc/opendkim/TrustedHosts

Мы должны поместить в этот файл список доверенных адресов: localhost и 127.0.0.1, а также имя и IP-адрес вашего сервера:

127.0.0.1
localhost
192.99.34.121
mydomain.com

Теперь мы редактируем конфигурационный файл OpenDKIM.

nano /etc/default/opendkim

И добавьте эти строки в конец файла. Они сообщат OpenDKIM, в каком порту следует ожидать подписывания запросов:

SOCKET="inet:8891@localhost" # listen on loopback on port 8891

Открываем файл конфигурации Postfix.

nano /etc/postfix/main.cf

И добавьте эти строки в конец файла. Они сообщат Postfix, что он должен отправлять электронные письма для подписи и куда.

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

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

/etc/init.d/opendkim restart
/etc/init.d/postfix reload
/etc/init.d/postfix restart

Готово! Сервер готов к работе с DKIM. Теперь вам нужно добавить свои домены в эту систему. Следующий процесс одинаков для всех доменов, которые вы хотите добавить. Я буду использовать otherdomain.com для примера, разместите его на своем.

Помните, что раньше я был root, но если нет, бегите sudo su или перед вашими командами с ключевым словом sudo,

sudo su

Сначала мы создаем каталог для нашего домена и заходим в него:

mkdir -p /etc/opendkim/keys/otherdomain.com
cd /etc/opendkim/keys/otherdomain.com

Теперь мы генерируем ключ для домена:

opendkim-genkey -r -d otherdomain.com

Мы даем пользователю OpenDKIM право собственности на вновь созданный файл:

chown opendkim:opendkim default.private

И мы открываем KeyTable файл, чтобы добавить наш новый ключ для нашего нового домена:

nano /etc/opendkim/KeyTable

Мы добавляем в конец файла (после всех других доменов мы можем иметь здесь):

default._domainkey.otherdomain.com otherdomain.com:default:/etc/opendkim/keys/otherdomain.com/default.private

Мы открываем SigningTable файл.

nano /etc/opendkim/SigningTable

И добавьте в конец файла (опять же, у нас будет одна строка для каждого домена):

otherdomain.com default._domainkey.otherdomain.com

Я не уверен в необходимости сделать следующий шаг, но я просто сделал это, на всякий случай... Мы открываем TrustedHosts файл.

nano /etc/opendkim/TrustedHosts

И добавьте в конце файла:

otherdomain.com

И последнее: мы показываем содержимое файла /etc/opendkim/keys/otherdomain.com/default.txt,

cat /etc/opendkim/keys/otherdomain.com/default.txt

И добавить информацию между кавычками в TXT запись в зоне DNS домена, и мы также должны использовать default._domainkey как имя записи. ПРИМЕЧАНИЕ: "между кавычками" - это текст, начинающийся с "v=DKIM1;k=rsa; p=WIGfM...".

Если мы закончили добавление доменов (к настоящему времени), мы перезапускаем все, чтобы применить cnages.

/etc/init.d/opendkim restart
/etc/init.d/postfix reload
/etc/init.d/postfix restart

Готово!

Другие вопросы по тегам