Действительная подпись DKIM обычно не проходит проверку

Сценарий:

У меня есть пара почтовых серверов, работающих в Debian за брандмауэром, общедоступный IP-адрес, и я правильно настроил свои записи DNS (MCX, DMARC, DKIM, SPF).

Это пример моих записей DNS (вывод с помощью команды dig):

DKIM
customselector._domainkey.domain.com. 3600 IN TXT  "v=DKIM1\; h=rsa-sha256\; k=rsa\; s=email\; " "p=MII...

SPF:
domain.com.           3599    IN      TXT     "v=spf1 mx -all"

MX:
domain.com.           3599    IN      MX      1 mailsystem.domain.com.

DMARC:
_dmarc.domain.com.    3599    IN      TXT     "v=DMARC1\;p=quarantine\;sp=reject\;rua=mailto:dmarc@domain.com\; ruf=mailto:dmarc@domain.com\; fo=1\; adkim=r\; aspf=r\; pct=100\; rf=afrf\; ri=86400"

Попытка нескольких общедоступных систем тестирования прошла проверку на 100% нормально. Но затем я начинаю получать эти странные отчеты, показывающие с моего общедоступного IP-адреса приходит много плохих писем, а также некоторые электронные письма, которые идеально проверяются одним и тем же доменом. Следующий фрагмент взят из отчета Google:

<record>
    <row>
      <source_ip>0.0.0.0</source_ip>
      <count>6</count>
      <policy_evaluated>
        <disposition>none</disposition>
        <dkim>pass</dkim>
        <spf>pass</spf>
      </policy_evaluated>
    </row>
    <identifiers>
      <header_from>domain.com</header_from>
    </identifiers>
    <auth_results>
      <dkim>
        <domain>domain.com</domain>
        <result>pass</result>
        <selector>customselector</selector>
      </dkim>
      <spf>
        <domain>domain.com</domain>
        <result>pass</result>
      </spf>
    </auth_results>
  </record>
  <record>
    <row>
      <source_ip>0.0.0.0</source_ip>
      <count>16</count>
      <policy_evaluated>
        <disposition>none</disposition>
        <dkim>fail</dkim>
        <spf>pass</spf>
      </policy_evaluated>
    </row>
    <identifiers>
      <header_from>domain.com</header_from>
    </identifiers>
    <auth_results>
      <dkim>
        <domain>domain.com</domain>
        <result>fail</result>
        <selector>customselector</selector>
      </dkim>
      <spf>
        <domain>domain.com</domain>
        <result>pass</result>
      </spf>
    </auth_results>
  </record>
  <record>

Я получил 6 хороших писем против 16 плохих писем, все они практически с тем же содержанием.

Тесты:

  • общедоступный IP-адрес, и я правильно настроил свои записи DNS (MCX, DMARC, DKIM, SPF). Это пример моих записей DNS (...

    Сценарий:

    У меня есть пара почтовых серверов, работающих в Debian за брандмауэром, общедоступный IP-адрес, и я правильно настроил свои записи DNS (MCX, DMARC, DKIM, SPF).

    Это пример моих записей DNS (вывод с помощью команды dig):

    DKIM
    customselector._domainkey.domain.com. 3600 IN TXT  "v=DKIM1\; h=rsa-sha256\; k=rsa\; s=email\; " "p=MII...
    
    SPF:
    domain.com.           3599    IN      TXT     "v=spf1 mx -all"
    
    MX:
    domain.com.           3599    IN      MX      1 mailsystem.domain.com.
    
    DMARC:
    _dmarc.domain.com.    3599    IN      TXT     "v=DMARC1\;p=quarantine\;sp=reject\;rua=mailto:dmarc@domain.com\; ruf=mailto:dmarc@domain.com\; fo=1\; adkim=r\; aspf=r\; pct=100\; rf=afrf\; ri=86400"
    

    Попытка нескольких общедоступных систем тестирования прошла проверку на 100% нормально. Но затем я начинаю получать эти странные отчеты, показывающие с моего общедоступного IP-адреса приходит много плохих писем, а также некоторые электронные письма, которые идеально проверяются одним и тем же доменом. Следующий фрагмент взят из отчета Google:

    <record>
        <row>
          <source_ip>0.0.0.0</source_ip>
          <count>6</count>
          <policy_evaluated>
            <disposition>none</disposition>
            <dkim>pass</dkim>
            <spf>pass</spf>
          </policy_evaluated>
        </row>
        <identifiers>
          <header_from>domain.com</header_from>
        </identifiers>
        <auth_results>
          <dkim>
            <domain>domain.com</domain>
            <result>pass</result>
            <selector>customselector</selector>
          </dkim>
          <spf>
            <domain>domain.com</domain>
            <result>pass</result>
          </spf>
        </auth_results>
      </record>
      <record>
        <row>
          <source_ip>0.0.0.0</source_ip>
          <count>16</count>
          <policy_evaluated>
            <disposition>none</disposition>
            <dkim>fail</dkim>
            <spf>pass</spf>
          </policy_evaluated>
        </row>
        <identifiers>
          <header_from>domain.com</header_from>
        </identifiers>
        <auth_results>
          <dkim>
            <domain>domain.com</domain>
            <result>fail</result>
            <selector>customselector</selector>
          </dkim>
          <spf>
            <domain>domain.com</domain>
            <result>pass</result>
          </spf>
        </auth_results>
      </record>
      <record>
    

    Я получил 6 хороших писем против 16 плохих писем, все они практически с тем же содержанием.

    Тесты:

    • общедоступный IP-адрес, и я правильно настроил свои записи DNS (MCX, DMARC, DKIM, SPF). Это пример моих записей DNS (...

      Сценарий:

      У меня есть пара почтовых серверов, работающих в Debian за брандмауэром, общедоступный IP-адрес, и я правильно настроил свои записи DNS (MCX, DMARC, DKIM, SPF).

      Это пример моих записей DNS (вывод с помощью команды dig):

      DKIM
      customselector._domainkey.domain.com. 3600 IN TXT  "v=DKIM1\; h=rsa-sha256\; k=rsa\; s=email\; " "p=MII...
      
      SPF:
      domain.com.           3599    IN      TXT     "v=spf1 mx -all"
      
      MX:
      domain.com.           3599    IN      MX      1 mailsystem.domain.com.
      
      DMARC:
      _dmarc.domain.com.    3599    IN      TXT     "v=DMARC1\;p=quarantine\;sp=reject\;rua=mailto:dmarc@domain.com\; ruf=mailto:dmarc@domain.com\; fo=1\; adkim=r\; aspf=r\; pct=100\; rf=afrf\; ri=86400"
      

      Попытка нескольких общедоступных систем тестирования прошла проверку на 100% нормально. Но затем я начинаю получать эти странные отчеты, показывающие с моего общедоступного IP-адреса приходит много плохих писем, а также некоторые электронные письма, которые идеально проверяются одним и тем же доменом. Следующий фрагмент взят из отчета Google:

      <record>
          <row>
            <source_ip>0.0.0.0</source_ip>
            <count>6</count>
            <policy_evaluated>
              <disposition>none</disposition>
              <dkim>pass</dkim>
              <spf>pass</spf>
            </policy_evaluated>
          </row>
          <identifiers>
            <header_from>domain.com</header_from>
          </identifiers>
          <auth_results>
            <dkim>
              <domain>domain.com</domain>
              <result>pass</result>
              <selector>customselector</selector>
            </dkim>
            <spf>
              <domain>domain.com</domain>
              <result>pass</result>
            </spf>
          </auth_results>
        </record>
        <record>
          <row>
            <source_ip>0.0.0.0</source_ip>
            <count>16</count>
            <policy_evaluated>
              <disposition>none</disposition>
              <dkim>fail</dkim>
              <spf>pass</spf>
            </policy_evaluated>
          </row>
          <identifiers>
            <header_from>domain.com</header_from>
          </identifiers>
          <auth_results>
            <dkim>
              <domain>domain.com</domain>
              <result>fail</result>
              <selector>customselector</selector>
            </dkim>
            <spf>
              <domain>domain.com</domain>
              <result>pass</result>
            </spf>
          </auth_results>
        </record>
        <record>
      

      Я получил 6 хороших писем против 16 плохих писем, все они практически с тем же содержанием.

      Тесты:

      • общедоступный IP-адрес, и я правильно настроил свои записи DNS (MCX, DMARC, DKIM, SPF).

        Это пример моих записей DNS (вывод с помощью команды dig):

        DKIM
        customselector._domainkey.domain.com. 3600 IN TXT  "v=DKIM1\; h=rsa-sha256\; k=rsa\; s=email\; " "p=MII...
        
        SPF:
        domain.com.           3599    IN      TXT     "v=spf1 mx -all"
        
        MX:
        domain.com.           3599    IN      MX      1 mailsystem.domain.com.
        
        DMARC:
        _dmarc.domain.com.    3599    IN      TXT     "v=DMARC1\;p=quarantine\;sp=reject\;rua=mailto:dmarc@domain.com\; ruf=mailto:dmarc@domain.com\; fo=1\; adkim=r\; aspf=r\; pct=100\; rf=afrf\; ri=86400"
        

        Попытка нескольких общедоступных систем тестирования вся моя установка проверяется на 100% нормально. Но затем я начинаю получать эти странные отчеты, показывающие, что с моего общедоступного IP-адреса отправляется много плохих писем, а также некоторые электронные письма, которые идеально проверяются одним и тем же доменом. Следующий фрагмент взят из отчета Google:

        <record>
            <row>
              <source_ip>0.0.0.0</source_ip>
              <count>6</count>
              <policy_evaluated>
                <disposition>none</disposition>
                <dkim>pass</dkim>
                <spf>pass</spf>
              </policy_evaluated>
            </row>
            <identifiers>
              <header_from>domain.com</header_from>
            </identifiers>
            <auth_results>
              <dkim>
                <domain>domain.com</domain>
                <result>pass</result>
                <selector>customselector</selector>
              </dkim>
              <spf>
                <domain>domain.com</domain>
                <result>pass</result>
              </spf>
            </auth_results>
          </record>
          <record>
            <row>
              <source_ip>0.0.0.0</source_ip>
              <count>16</count>
              <policy_evaluated>
                <disposition>none</disposition>
                <dkim>fail</dkim>
                <spf>pass</spf>
              </policy_evaluated>
            </row>
            <identifiers>
              <header_from>domain.com</header_from>
            </identifiers>
            <auth_results>
              <dkim>
                <domain>domain.com</domain>
                <result>fail</result>
                <selector>customselector</selector>
              </dkim>
              <spf>
                <domain>domain.com</domain>
                <result>pass</result>
              </spf>
            </auth_results>
          </record>
          <record>
        

        Я получил 6 хороших писем и 16 плохих писем, все практически с одинаковым содержанием.

        Тесты:

        • общедоступный IP-адрес, и я правильно настроил свои записи DNS (MCX, DMARC, DKIM, SPF).

          Это пример моих записей DNS (вывод командой dig):

          DKIM
          customselector._domainkey.domain.com. 3600 IN TXT  "v=DKIM1\; h=rsa-sha256\; k=rsa\; s=email\; " "p=MII...
          
          SPF:
          domain.com.           3599    IN      TXT     "v=spf1 mx -all"
          
          MX:
          domain.com.           3599    IN      MX      1 mailsystem.domain.com.
          
          DMARC:
          _dmarc.domain.com.    3599    IN      TXT     "v=DMARC1\;p=quarantine\;sp=reject\;rua=mailto:dmarc@domain.com\; ruf=mailto:dmarc@domain.com\; fo=1\; adkim=r\; aspf=r\; pct=100\; rf=afrf\; ri=86400"
          

          Попытка нескольких общедоступных систем тестирования вся моя установка проверяется на 100% нормально. Но затем я начинаю получать эти странные отчеты, показывающие, что с моего общедоступного IP-адреса отправляется много плохих писем, а также некоторые электронные письма, которые идеально проверяются одним и тем же доменом. Следующий фрагмент взят из отчета Google:

          <record>
              <row>
                <source_ip>0.0.0.0</source_ip>
                <count>6</count>
                <policy_evaluated>
                  <disposition>none</disposition>
                  <dkim>pass</dkim>
                  <spf>pass</spf>
                </policy_evaluated>
              </row>
              <identifiers>
                <header_from>domain.com</header_from>
              </identifiers>
              <auth_results>
                <dkim>
                  <domain>domain.com</domain>
                  <result>pass</result>
                  <selector>customselector</selector>
                </dkim>
                <spf>
                  <domain>domain.com</domain>
                  <result>pass</result>
                </spf>
              </auth_results>
            </record>
            <record>
              <row>
                <source_ip>0.0.0.0</source_ip>
                <count>16</count>
                <policy_evaluated>
                  <disposition>none</disposition>
                  <dkim>fail</dkim>
                  <spf>pass</spf>
                </policy_evaluated>
              </row>
              <identifiers>
                <header_from>domain.com</header_from>
              </identifiers>
              <auth_results>
                <dkim>
                  <domain>domain.com</domain>
                  <result>fail</result>
                  <selector>customselector</selector>
                </dkim>
                <spf>
                  <domain>domain.com</domain>
                  <result>pass</result>
                </spf>
              </auth_results>
            </record>
            <record>
          

          Я получил 6 хороших писем и 16 плохих писем, все практически с одинаковым содержанием.

          Тесты:

          • Но затем я начинаю получать эти странные отчеты, показывающие, что с моего общедоступного IP-адреса отправляется много плохих писем, а также некоторые электронные письма, которые идеально проверяются одним и тем же доменом. Следующий фрагмент взят из отчета Google:

            <record>
                <row>
                  <source_ip>0.0.0.0</source_ip>
                  <count>6</count>
                  <policy_evaluated>
                    <disposition>none</disposition>
                    <dkim>pass</dkim>
                    <spf>pass</spf>
                  </policy_evaluated>
                </row>
                <identifiers>
                  <header_from>domain.com</header_from>
                </identifiers>
                <auth_results>
                  <dkim>
                    <domain>domain.com</domain>
                    <result>pass</result>
                    <selector>customselector</selector>
                  </dkim>
                  <spf>
                    <domain>domain.com</domain>
                    <result>pass</result>
                  </spf>
                </auth_results>
              </record>
              <record>
                <row>
                  <source_ip>0.0.0.0</source_ip>
                  <count>16</count>
                  <policy_evaluated>
                    <disposition>none</disposition>
                    <dkim>fail</dkim>
                    <spf>pass</spf>
                  </policy_evaluated>
                </row>
                <identifiers>
                  <header_from>domain.com</header_from>
                </identifiers>
                <auth_results>
                  <dkim>
                    <domain>domain.com</domain>
                    <result>fail</result>
                    <selector>customselector</selector>
                  </dkim>
                  <spf>
                    <domain>domain.com</domain>
                    <result>pass</result>
                  </spf>
                </auth_results>
              </record>
              <record>
            

            Я получил 6 хороших писем и 16 плохих писем, все практически с одинаковым содержанием.

            Тесты:

            • Но затем я начинаю получать эти странные отчеты, показывающие, что с моего общедоступного IP-адреса отправляется много плохих писем, а также некоторые электронные письма, которые идеально проверяются одним и тем же доменом. Следующий фрагмент взят из отчета Google:

              <record>
                  <row>
                    <source_ip>0.0.0.0</source_ip>
                    <count>6</count>
                    <policy_evaluated>
                      <disposition>none</disposition>
                      <dkim>pass</dkim>
                      <spf>pass</spf>
                    </policy_evaluated>
                  </row>
                  <identifiers>
                    <header_from>domain.com</header_from>
                  </identifiers>
                  <auth_results>
                    <dkim>
                      <domain>domain.com</domain>
                      <result>pass</result>
                      <selector>customselector</selector>
                    </dkim>
                    <spf>
                      <domain>domain.com</domain>
                      <result>pass</result>
                    </spf>
                  </auth_results>
                </record>
                <record>
                  <row>
                    <source_ip>0.0.0.0</source_ip>
                    <count>16</count>
                    <policy_evaluated>
                      <disposition>none</disposition>
                      <dkim>fail</dkim>
                      <spf>pass</spf>
                    </policy_evaluated>
                  </row>
                  <identifiers>
                    <header_from>domain.com</header_from>
                  </identifiers>
                  <auth_results>
                    <dkim>
                      <domain>domain.com</domain>
                      <result>fail</result>
                      <selector>customselector</selector>
                    </dkim>
                    <spf>
                      <domain>domain.com</domain>
                      <result>pass</result>
                    </spf>
                  </auth_results>
                </record>
                <record>
              

              Я получил 6 хороших писем и 16 плохих писем, все практически с одинаковым содержанием.

              Тесты:

              • check-auth@verifier.port25.com -> ok
              • Заголовки Gmail -> dkim = pass header.i=@domain.com ;
              • www.mail-tester.com -> DKIM_VALID
              • autorespond + dkim @ dk.elandsys.com-> Проверка подписи DKIM: пройти
              • копать на нескольких DNS-серверах -> ok
              • mxtoolbox.com -> все выглядит нормально
              • Заголовки почты на разных доменах -> ok

              Конфигурация:

              I Я использую opendkim, это то, что я считаю актуальным:

              Canonicalization    relaxed/relaxed
              Mode            sv
              SubDomains      yes
              
3
задан 24 January 2018 в 01:35
1 ответ

Хотя моя запись DKIM является «действительной», некоторые валидаторы не принимают аргумент h = rsa-sha256; в записи DNS и будут отображать подпись DKIM как недопустимую. . Я полагаю, что Google использует несколько разных дистрибутивов Linux на своих почтовых серверах с разными валидаторами.

Чтобы решить эту проблему, просто удалите этот аргумент в своей записи DKIM, он должен выглядеть так:

v=DKIM1; k=rsa; s=email; p=MI...

После этого каждое электронное письмо получит

Я пересек http://dkimvalidator.com , проводя небольшое исследование, и это был единственный инструмент, который выдал довольно запутанное сообщение:

result = invalid
Details: public key: does not support hash algorithm 'sha256'

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

opendkim-genkey -b 2048 -h rsa-sha256 -r -s customselector -d domain.com -v

Что записывает неверный аргумент в выходной файл txt , что приводит к неверной записи DKIM.

3
ответ дан 3 December 2019 в 06:27

Теги

Похожие вопросы