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

Postfix policyd-spf reject Нет

Как настроить policyd-spf в Postfix для отклонения доменов без записи SPF?

В документация не указывает это условие и необходимо для отклонения поддельных / неавторизованных писем на исходящем реле.

Аналогичный Вопросы и ответы на Stackoverflow рекомендует использовать DMARC вместе с SPF. Но это не идеальный случай для Postfix, поскольку OpenDMARC все еще находится в стадии бета-тестирования, и я не знаком с его реализацией Postfix, и можно ли его даже настроить на отклонение электронных писем в случае отсутствия записи DMARC.

Серверы политик SPF, такие как policyd-spf, не имеют возможности отклонять домены без записей SPF. Решение заключалось в использовании настраиваемого сервера политики.

Если вы используете python policyd-spf, вы можете отредактировать исполняемый файл (/ usr / bin / policyd-spf в debian):

В строке ~ 515 заменить:

        if configData.get('Mail_From_reject') != 'No_Check':
            res = spf.check2(ip, sender, helo, querytime=configData.get('Lookup_Time'))
            mfrom_result = [res[0], res[1]]
            mfrom_result.append('mailfrom')
            mfrom_result[0] = mfrom_result[0].lower()
            mfrom_result[0] = mfrom_result[0].capitalize()
            mfrom_resultpolicy, local = _get_resultcodes(configData, 'mfrom')

по :

        if configData.get('Mail_From_reject') != 'No_Check':
            res = spf.check2(ip, sender, helo, querytime=configData.get('Lookup_Time'))
            mfrom_result = [res[0], res[1]]
            # Selenith's add : reject if no spf record
            if mfrom_result[0]=='none':
                mfrom_result[0] = 'fail'
                mfrom_result[1] = 'no SPF record'

            mfrom_result.append('mailfrom')
            mfrom_result[0] = mfrom_result[0].lower()
            mfrom_result[0] = mfrom_result[0].capitalize()
            mfrom_resultpolicy, local = _get_resultcodes(configData, 'mfrom')