У меня есть полностью управляемый VPS под управлением Ubuntu 14.04, на котором размещены веб-сайты для нескольких доменов. Недавно я попытался добавить подписи DKIM, чтобы избежать спам-фильтров. Я следил ubuntu-postfix-dkim учебник, используя KeyTable и SigningTable, как описано в хорошо написанном сообщении askubuntu.com. Каждый домен имеет свой собственный открытый и закрытый ключ и запись зоны txt DNS.
После тестирования через check-auth@verifier.port25.com, sa-test@sendmail.net или даже через http://dkimvalidator.com/ ответ такой же:
DKIM: сбой (подпись не проверяется)
Письмо подписано, и подпись выглядит нормально, но не проходит проверку. Единственное, что мне приходит в голову, это то, что сообщение каким-то образом модифицируется после вычисления хэша подписи. У меня вопрос:
Можно ли отладить процесс отправки? Было бы здорово проверить, что и когда рассчитывается для DKIM-подписи. я пытался OmitHeaders To, to, TO в файле конфигурации но странно Кому: значение по-прежнему отображается в h = парам.
Я много гуглил, но все равно не повезло. Заранее спасибо.
Вывод с dkimvalidator.com:
DKIM Signature
Message contains this DKIM Signature:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inhillz.com; s=mail;
t=1429184641; bh=g3zLYH4xKxcPrHOD18z9YfpQcnk/GaJedfustWU5uGs=;
h=Date:From:To:Subject;
b=fccxI1j/+InWdupEY1/hAYCUeSAlTHo3tr/594sOqETs6kEzRlyXWZDLib1b1WqV0
xN/wr0Io+OGTJOTChp+cJ/H/KrODt1mzGgDA/O/AKWUPEGKODgk9iO03/o6DpLB4bM
t5GVSKdBQna7sYkQJM2mGtCNgswydgsgytb0J9QA=
Signature Information:
v= Version: 1
a= Algorithm: rsa-sha256
c= Method: relaxed/relaxed
d= Domain: inhillz.com
s= Selector: mail
q= Protocol:
bh= g3zLYH4xKxcPrHOD18z9YfpQcnk/GaJedfustWU5uGs=
h= Signed Headers: Date:From:To:Subject
b= Data: fccxI1j/+InWdupEY1/hAYCUeSAlTHo3tr/594sOqETs6kEzRlyXWZDLib1b1WqV0
xN/wr0Io+OGTJOTChp+cJ/H/KrODt1mzGgDA/O/AKWUPEGKODgk9iO03/o6DpLB4bM
t5GVSKdBQna7sYkQJM2mGtCNgswydgsgytb0J9QA=
Public Key DNS Lookup
Building DNS Query for mail._domainkey.inhillz.com
Retrieved this publickey from DNS: v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpLxuEApOG3ubulSygyEMAVsGHnBUDdYfCHJpGzMguNOCPSpQSdHxUFS+AGKwwyYTLs0X9kP7KUKLhY5TcxJgFPpSl6DOkkjs7Yd/njdg5o/DZe4Ey1hv+XqquEwGh7mqH3049ph2DUA7w3sm6gEgcydYTcyR5ykZ8nQMSIoeRKQIDAQAB
Validating Signature
result = fail
Details: bad RSA signature
РЕДАКТИРОВАТЬ
Я попытался сгенерировать новые ключи, также изменил записи DNS и протестировал их с помощью
opendkim-testkey -d inhillz.com -s mail -k mail.private -vvv
Результат:
opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: key loaded from mail.private
opendkim-testkey: checking key 'mail._domainkey.inhillz.com'
opendkim-testkey: key not secure
opendkim-testkey: key OK
После проверки через check-auth@verifier.port25.com все та же ошибка.
При изменении настроек DNS обязательно обновите серийный номер записи SOA, т.е. 2016092601; порядковый номер, где ггггммддххвв = год месяц день час версия. Если серийный номер не изменится, некоторые DNS не будут обновлять свой кеш.
Также убедитесь, что dkim совпадает с txt-записью в вашей DNS-записи:
dkim._domainKey TXT ("p = очень-длинная-текстовая-строка")