Postfix policyd-spf отклонить Нет

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

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

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

2 ответа

Решение

Серверы политик 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')
Другие вопросы по тегам