OpenDMARC с несколькими MX: правильная настройка доверия между серверами

Существует множество руководств о том, как настроить OpenDMARC на ваш любимый вариант Linux, но все они сосредоточены на конфигурациях с одним сервером. Моя цель состояла в том, чтобы сохранить резервные вторичные серверы MX, но обеспечить RejectFailures true , чтобы DMARC p = reject был фактически удовлетворен.

Это привело к проблеме: конфигурация примера имеет TrustedAuthservIDs HOSTNAME для исходных SPF и DKIM источников. Если бы это использовалось для перечисления вторичных MX-серверов, это позволило бы полностью обойти проверки OpenDMARC на первичном MX с одним поддельным заголовком.

Authentication-Results: <HOSTNAME>;
        dkim=pass (1024-bit key; unprotected) header.d=example.com header.i=@example.com;

Как настроить доверие между первичным и вторичным MX без этой ошибки?

Это является переписыванием другого вопроса по Security Stack Exchange для области сбоя сервера.

1
задан 7 March 2019 в 11:21
1 ответ

Вкратце:

  • OpenDMARC может и должен независимо проверять SPF.
  • OpenDKIM должен проверять подпись, даже если она уже «проверена». (И на одном MX тоже!)
  • Доверие между серверами MX должно зависеть не от заголовка, а от SMTP-соединения.

Как это настроить?

  1. Вы можете следовать руководству по начальной настройке (SPF,) OpenDKIM и OpenDMARC.

    (После этого Postfix настроил OpenDKIM и OpenDMARC в качестве фильтров SMTP.)

  2. Изменения конфигурации OpenDMARC для всех серверов MX /etc/opendmarc.conf :

    • Использовать milter OpenDMARC для отказов на этапе подключения (по умолчанию false ):

       RejectFailures true
       
    • Не доверяйте внешним проверкам SPF от pypolicyd-spf или альтернативы. Выполните собственную проверку:

       SPFIgnoreResults true
      SPFSelfValidate истина
       
  3. OpenDKIM должен быть настроен для добавления заголовка, даже если он уже существует. /etc/opendkim.conf :

     AlwaysAddARHeader да
     
  4. После того, как для каждого MX настроен # 1– # 3, OpenDMARC на основном MX может доверять проверкам, выполненным другими серверами MX; поддельная почта уже должна быть отклонена вторичным MX. Не указывайте их в TrustedAuthservIDs , потому что они уязвимы для подделки заголовков. Есть еще одна опция opendmarc.conf , более подходящая для этого:

    IgnoreHosts (строка)

    Определяет путь к файлу, который содержит список имен хостов, IP адреса и / или выражения CIDR, идентифицирующие хосты, чей SMTP соединения должны игнорироваться фильтром. Если не указано, по умолчанию только 127.0.0.1 .

     IgnoreHosts /etc/opendmarc-ignorehosts.conf
     

    ... и перечислите IP-адреса вторичных серверов MX в этом новом файле конфигурации.

1
ответ дан 3 December 2019 в 23:07

Теги

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