Я ищу вариант конфигурации Postfix, например smtpd_enforce_tls но тот, который позволяет мне избирательно применять TLS, в зависимости от того, из какого домена приходит электронное письмо. Мне нужно разрешить входящую электронную почту без TLS со всех, кроме определенных выбранных исходных доменов.
Это возможно? Я знаю, что выборочно принудительно применять TLS к отправляемой электронной почте вне из Postfix, но я говорю о приходящей электронной почте.
Да, можно - немного инженерии :)
Поскольку вы говорите, что хотите применить TLS на основе домена отправителя, вы добавляете ограничение check_sender_access в свой smtpd_sender_restrictions, например:
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/enforced_tls
И в /etc/postfix/enforced_tls:
@example.org reject_plaintext_session
@example.net reject_plaintext_session
Не забудьте постмапить файл и перезагрузить постфикс, когда закончите.
/etc/postfix/enforced_tls должен быть в таком формате:
example.org reject_plaintext_session
example.net reject_plaintext_session
Ссылаться на http://www.postfix.org/access.5.html
Я бы даже предложил более ограничительную версию, также требуя действительный сертификат от отправляющего сервера, например:
/etc/postfix/main.cf:
... smtpd_tls_ask_ccert = yes smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/enfoced_tls ...
/etc/postfix/enforced_tls:
example.org reject_plaintext_session, permit_tls_all_clientcerts, reject example.net reject_plaintext_session, permit_tls_all_clientcerts, reject
Это также должно отклонить сеанс, когда сертификат подключающегося сервера не может быть проверен через центры сертификации в smtpd_tls_CAfile, которые в этом случае могут безопасно содержать системные центры сертификации по умолчанию. Пожалуйста, поправьте меня, если я ошибаюсь.