1

Я работаю на Ubuntu 14.04 VPS и у меня возникают проблемы с получением opendkim для подписи исходящих писем.

Кроме того, я не понимаю результаты dig -x, и я не уверен, что мой VPS-провайдер правильно ввел запись rDNS PTR. Вот возвращенные результаты:

$  dig -x 84.200.17.129

; <<>> DiG 9.9.5-9+deb8u5-Debian <<>> -x 84.200.17.129
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38970
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;129.17.200.84.in-addr.arpa.    IN  PTR

;; ANSWER SECTION:
129.17.200.84.in-addr.arpa. 10799 IN    CNAME   129.0-255.17.200.84.in-addr.arpa.
129.0-255.17.200.84.in-addr.arpa. 10799 IN PTR  ozarksneighborlyexchange.com.

;; Query time: 273 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Mar 25 07:13:48 CDT 2016
;; MSG SIZE  rcvd: 121

Например, я знаю, что CNAME - это псевдоним. Я ожидал PTR для моего домена и IP, но они, кажется, только добавили запись CNAME. Запись PTR относится ко всему диапазону IP-адресов провайдеров. Из того, что я прочитал, записи CNAME не имеют большого значения для целей проверки. Счет на mail-tester.com улучшился с 3/10 до 4,5/10 после добавления CNAME.

Что касается проблемы подписи opendkim, я следовал этому руководству: https://easyengine.io/tutorials/mail/dkim-postfix-ubuntu/ и включил расширенную регистрацию с помощью:

# Log to syslog
Syslog                  yes
LogWhy                  yes
SyslogSuccess           yes
MilterDebug             3

Я вижу следующее в журналах для простого письма на mail-tester.com:

Mar 25 11:49:35 seed05 opendkim[10983]: D05F140793: no signing domain match for 'seed05.ozarksneighborlyexchange.com'
Mar 25 11:49:35 seed05 opendkim[10983]: D05F140793: no signing subdomain match for 'seed05.ozarksneighborlyexchange.com'
Mar 25 11:49:35 seed05 opendkim[10983]: D05F140793: no signature data

Я также немного запутался по поводу роли субдоменов в этом. Я установил для моего имени хоста VPS seed05 и добавил эту строку в мой файл /etc /hosts:84.200.17.129 seed05.ozarksneighborlyexchange.com seed05

Я не уверен, что, если что-то нужно добавить в мой DNS, который относится к поддомену. В настоящее время у меня есть 2 записи "A" и 2 записи "TXT": A @ A www TXT @ v = spf1 a include: _spf.ozarksneig ..... (для SPF, который выглядит нормально) TXT mail._domainkey v = DKIM1; p = MIGfMA0GCS ...... (кажется, инструменты говорят, что это нормально)

Я добавил постфикс в группу opendkim. Я вижу много ссылок на inet, но inetd устарела, и я не могу найти информацию о том, как его замена настроена (например, где порт 8891 определен для smtp / postfix).

Итак, как вы можете видеть, у меня есть несколько моментов путаницы, несмотря на то, что я потратил целый день, пытаясь получить более надежную отправку электронной почты. Буду очень признателен за любой вклад / ответы на это. Спасибо!

1 ответ1

1

Для записи PTR в пространстве обратного отображения хорошо то, что у них там есть. Это следует RFC2317, который является текущей Лучшей практикой для делегирования управления записями DNS для сетей меньше /24. Просто то, что у них есть, кажется немного ненужным, поскольку нотация "диапазон" 0-255, что подразумевает размер сети /24 (но есть делегирование на другой сервер - dig ns 0-255.17.200.84.in-addr.arpa )

Так что с этой частью все в порядке, если ваш почтовый сервер претендует на статус ozarksneighborlyexchange.com в обмене EHLO. Но это действительно должен быть seed05.ozarksneighborlyexchange.com в соответствии с остальной частью вашего поста, т. Е. Он должен быть таким, каким ваш почтовый сервер себя знает (оператор myhostname в вашем файле main.cf Postfix)

Работать с OpenDKIM так же просто, как настроить ключи подписи, а затем указать Postfix использовать его как "milter" для исходящей почты. Часть inet сбивает вас с толку, это относится к транспортному механизму, а не к старому встроенному демону.

Вот мой конф-файл OpenDKIM, модифицированный для вас: /etc/opendkim.conf

(Часть, которую я предполагаю, является неправильной, является строкой Домена ... вы хотите использовать доменную часть ваших адресов электронной почты, user@domain.com, поэтому, если доменная часть для вас ozarksneighborlyexchange.com , это то, что входит в конфигурация DKIM и определяет, что входит в DNS ...)

# 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.

# Log to syslog
Syslog                  yes
# Required to use local socket with MTAs that access the socket as a non-
# privileged user (e.g. Postfix)
UMask                   002

# Sign for example.com with key in /etc/mail/dkim.key using
# selector '2007' (e.g. 2007._domainkey.example.com)
Domain                 ozarksneighborlyexchange.com
KeyFile                 /etc/postfix/dkim.key
Selector                general

# Commonly-used options; the commented-out versions show the defaults.
#Canonicalization       simple
#Mode                   sv
#SubDomains             no
#ADSPDiscard            no

Это предполагает, что вы сгенерировали ключ DKIM с именем 'dkim', поэтому у вас есть файл dkim.key и dkim.pub в каталоге /etc /postfix. Отрегулируйте по мере необходимости.

Следующая часть - рассказать OpenDKIM, где слушать. Я использую сокет интернет-типа (inet) на той же машине, что и Postfix, поэтому он находится в /etc /default /opendkim:

# Command-line options specified here will override the contents of
# /etc/opendkim.conf. See opendkim(8) for a complete list of options.
#DAEMON_OPTS=""
#
# Uncomment to specify an alternate socket
# Note that setting this will override any Socket value in opendkim.conf
#SOCKET="local:/var/run/opendkim/opendkim.sock" # default
SOCKET="inet:60001@localhost"

Затем в конфигурации Postfix, скажите ему, где его найти, и используйте его как "milter".

В /etc/postfix/main.cf:

smtpd_milters = inet:localhost:60001
milter_default_action = accept

И последний шаг - поместить ваш открытый ключ в DNS, чтобы другие могли проверить ваши подписи. В моем случае мой адрес электронной почты будет milli@acmeps.com, поэтому я имею acmeps.com в качестве домена в файле opendkim.conf, а затем в DNS, у меня есть:

general._domainkey      TXT     "v=DKIM1\; k=rsa\; " "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsnvxDB629MQXlcEMxgJIj18oH0BP5i02+v" "e3acN7yJ+n+smkMHUtaXSnSU2KN0ObySjkafUD93L1dL4KtafAKwE5gWSRbxrMBwWjwcmNgiCmtELbzt" "azlK8N6bbm2R1e7csUfHaFScSC5Lu+UD8JrFeovWfNCSpmV/kyrIlTTArNLK3R7mad4MmOZo/Agj9JRg" "0fa+cKCEl8Uo8RqY4xHX9fAlJTGT4MSvH3KEo9aL/tr7qZvcROA8dBaCLfdDnOqrBpfjFfZZSoCcYi6V" "bTKswYiAHABljoq5qhR7k+EdKv2Z+DRD2e2knld5kYXeMJXUENrZ2hYn4q25JEdET1TwIDAQAB"

Вы можете увидеть это с помощью dig txt general._domainkey.acmeps.com .

Здесь вы заметили, general появился. Это selector DKIM , который должен совпадать в файле opendkim.conf с тем, что вы помещаете в DNS. Вы не перечислили, на что установлен ваш селектор, но это еще одна вещь, которая вас укусит.

Это должно перебить тебя!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .