Назад | Перейти на главную страницу

Отладка dkim = сбой с использованием sendmail + dkim-milter

Я настраиваю сервер CentOS с sendmail MTA для отправки подписанной DKIM почты (домен отправки - @ brighter.do). Мне удалось перенаправить почту через dkim milter; однако они приходят в мою учетную запись GMail с результатами аутентификации dkim = fail и без дополнительной информации. Как мне начать отлаживать это (кроме поиска в Google «ошибка отладки dkim» и других подобных терминов)?

Я использовал конфиг, описанный в эти инструкции. Единственные дополнительные изменения конфигурации, которые я внес, - это добавление пользователя моего приложения в /etc/mail/trusted-users, добавив EXTRA_FLAGS=-R к /etc/sysconfig/dkim-milterи переключение канонизации на relaxed/relaxed (что, похоже, ничего не изменило). Я проверил, что ключ составляет 2048 бит, используя ssh-keygen -l -f app1. (Кажется, что слишком маленький ключ может привести к тому, что GMail отклонит действительную подпись DKIM, но, похоже, это не моя проблема.)

Содержимое моих соответствующих записей DNS:

APP1._DOMAINKEY.BRIGHTER.DO. TXT k=rsa; p=AAAAB3NzaC1yc2EAAAADAQABAAABAQC3pJ4UJW/KBQ2D6N/6kl37yqJ0F4NcKPGApyHw4wl2zohdOPp8rELvQnRgvmQUMu3hrgicD9W9LbnGx/CzakZAA4RcJk9kI51v+Y8L5j3lZURFC1ZIXoRFgfafyo31XN3rc+V0hNMXUGcxVI09oYtyS+2AuC9cULP4Nu030I3yYFd2NOwmKPY57PU3ybwGKEvuWsB/9PyWC6KVlULlkg7TB
APP1._DOMAINKEY.BRIGHTER.DO. TXT CwbMnGyavwIeoJpNlb1fINdDGWDAJvfTTpMGvIkQAehknbgBqL4IgciWQ/2xw6bMhma7MRJHzZsd7JfbNramQIpsxX6hZUkZja6HpoFJzBi1vbnLcM2n8Xhat/A1Q/F
_DOMAINKEY.BRIGHTER.DO. TXT o=~ r=angela@brighter.do

Я получаю следующие заголовки:

Delivered-To: angela@brighter.do
Received: by 10.140.42.166 with SMTP id c35csp248278qga;
        Wed, 23 Mar 2016 14:10:12 -0700 (PDT)
X-Received: by 10.98.72.213 with SMTP id q82mr7347661pfi.164.1458767412258;
        Wed, 23 Mar 2016 14:10:12 -0700 (PDT)
Return-Path: <info@brighter.do>
Received: from DUALSTACK.PROD-API-478862527.US-WEST-2.ELB.AMAZONAWS.COM (outbound.brighter.do. [54.201.111.245])
        by mx.google.com with ESMTPS id m22si6801929pfi.43.2016.03.23.14.10.12
        for <angela@brighter.do>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Wed, 23 Mar 2016 14:10:12 -0700 (PDT)
Received-SPF: pass (google.com: domain of info@brighter.do designates 54.201.111.245 as permitted sender) client-ip=54.201.111.245;
Authentication-Results: mx.google.com;
       dkim=fail header.i=@brighter.do;
       spf=pass (google.com: domain of info@brighter.do designates 54.201.111.245 as permitted sender) smtp.mailfrom=info@brighter.do
Received: from DUALSTACK.PROD-API-478862527.US-WEST-2.ELB.AMAZONAWS.COM (localhost [127.0.0.1])
    by DUALSTACK.PROD-API-478862527.US-WEST-2.ELB.AMAZONAWS.COM (8.14.4/8.14.4) with ESMTP id u2NLAB8k007870
    for <angela@brighter.do>; Wed, 23 Mar 2016 21:10:11 GMT
X-DKIM: Sendmail DKIM Filter v2.8.3 DUALSTACK.PROD-API-478862527.US-WEST-2.ELB.AMAZONAWS.COM u2NLAB8k007870
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brighter.do; s=app1;
    t=1458767411; bh=HiluaVoCYKZyFY1h3gE73EqhCFuKBJzE8SqwhrLX5/c=;
    h=Date:Message-Id:To:Subject:MIME-Version:From;
    b=RfNNbBaAUNX+y3cdSqb+NkgC8GHa0wd/vV4LC72DQ8jbSWIHfqxZD6Qi3xGtKVnyU
     2j9FDAtI7X1B7dsPuFIw9F5m+1YoFuV+/3vCQ/zsXxCoExwml7DrxnYuWI0e5MeKma
     3K4T+R/tpNgKYVSU00RNCorLsvyia/fD8+wFTY4ZyoYOTZ4tK6gwcO4loPERiPAAOL
     HI11YagXgreCk3efJXanF8Df9ALLmTZMjMLXHHIHnSsypzhtEXYmua+EWQEZzIiVis
     paAmh9w8sRfeFww4PraRN7Caxznm51ZUIecdST29xRL276LsEgb5Nsy6TIEJyOov/N
     7AilYKXwuotHg==
Received: (from ec2-user@localhost)
    by DUALSTACK.PROD-API-478862527.US-WEST-2.ELB.AMAZONAWS.COM (8.14.4/8.14.4/Submit) id u2NLABrt007869;
    Wed, 23 Mar 2016 21:10:11 GMT
Date: Wed, 23 Mar 2016 21:10:11 GMT
Message-Id: <201603232110.u2NLABrt007869@DUALSTACK.PROD-API-478862527.US-WEST-2.ELB.AMAZONAWS.COM>
To: angela@brighter.do
Subject: Test message
X-PHP-Originating-Script: 500:PushComponent.php
MIME-Version: 1.0
From: Brighter <info@brighter.do>

Примечание: поскольку я почти ничего не знаю об администрировании электронной почты, возможно, я опущу здесь некоторые ключевые детали. В этом случае, пожалуйста, помогите мне улучшить вопрос, указав, какая дополнительная информация будет полезна - например, другие файлы конфигурации, которые нужно включить.

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

Я не знаю, для чего нужны ваши вторая и третья записи TXT. У меня DKIM теперь работает нормально, и у меня есть только запись TXT, аналогичная вашей первой.

Я следовал инструкциям от Цифровой океан при настройке DKIM в Ubuntu, но сразу после установки он не работал должным образом. я нашел эта страница чтобы быть очень полезным при отладке моей проблемы с DKIM.

Чтобы убедиться, что ваша запись DNS TXT читается правильно, введите в командной строке linux следующее:

dig +short TXT APP1._domainkey.brighter.do

Я использую GoDaddy для DNS, и мне не нужно было доменное имя как часть строки ключа моего домена. Вместо этого мне просто нужна была часть поддомена в поле имени, как показано ниже:

mail._domainkey

(Я использую «mail» вместо «app1», чтобы указать ключ своего домена.)

Надеюсь, это поможет любому, у кого есть подобная проблема. Как только вы добьетесь правильной работы DKIM, вы поймете, что это не так запутанно. Удачи!

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

dig +short TXT APP1._domainkey.brighter.do
" v=DKIM1\; k=rsa\; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt6SeFCVvygUNg+jf+pJd+8qidBeDXCjxgKch8OMJds6IXTj6fKxC70J0YL5kFDLt4a4InA/VvS25xsfws2pGQAOEXCZPZCOdb/mPC+Y95WVERQtWSF6ERYH2n8qN9Vzd63PldITTF1BnMVSNPaGLckvtgLgvXFCz+DbtN9CN8mBXdjTsJij2Oez1N8m8Bi" "hL7lrAf/T8lguilZVC5ZIO0wQsGzJxsmr8CHqCaTZW9XyDXQxlgwCb3006TBryJEAHoZJ24Aai+CIHIlkP9scOmzIZmuzESR82bHeyX2za2pkCKbMV+oWVJGY2uh6aBScwYtb25y3DNp/F4WrfwNUPxQIDAQAB"

Итак, теперь вы видите, что у вас есть одна запись с двумя строками "". При добавлении записей DKIM помните, что одна строка состоит из 255 символов. Я попытался собрать все в одну строчку и удивился, почему DKIM не работает в гугле. В некоторых веб-панелях вы ограничены 255 символами. В трюк заключается в использовании скобок. Проверьте, не удаляет ли их система. Хорошие провайдеры любят OVH есть специальная опция ввода для записей DKIM. Когда вы смотрите на opendkim и следуйте руководству по установке debian, чем вы замечаете файлы txt, которые можно использовать для установки записей DNS. Они также содержат круглые скобки.

Еще одна мысль: смотрите в отчете dmarc всегда, какой селектор тестируется. Google, например, сообщит вам в отчете. Я подумал, что создал dkim с другим селектором.