Принудительное шифрование для исходящего SMTP с помощью Postfix * на пользователя *

Я пытаюсь настроить postifx smtp_tls_policy_maps так, чтобы я мог установить для каждого пользователя, что исходящие электронные письма должны быть зашифрованы.

Одним из примеров является почтовый провайдер mailbox.org. Как можно заключить из предложений о работе, компания также полагается на компоненты с открытым исходным кодом dovecot и postfix.

Если «простые» соединения SSL / TLS недостаточно безопасны для вас, вы можете выберите здесь более высокие уровни безопасности:

encrypt : Обычное безопасное шифрование электронной почты через SSL / TLS, но небезопасно открытый текст запрещен. dane-only : электронные письма отправляются только поставщикам, чей SSL-сертификат подтвержден действительными записями DANE.
verify : электронные письма отправляются только тем поставщикам, чьи сертификаты SSL были вручную добавлено в нашу базу данных.

https://kb.mailbox.org/display/BMBOKBEN/Ensuring+E-Mails+are+Sent+Securely


Какое может быть возможное решение? Из руководства TLS postfix я, к сожалению, не могу понять

0
задан 5 November 2019 в 22:19
1 ответ

Понял! В данном случае это моя конфигурация, специфичная для LDAP, но ее можно легко переписать для серверной части mysql.
Поскольку для параметров клиента SMTP Postfix не существует версии «карты отправителя», мне потребовалось «обходное решение» с использованием транспортных карт.

/etc/postfix/main.cf

sender_dependent_default_transport_maps = ldap:/etc/postfix/ldap/transport_maps.cf

Я создал службу forceenc с определенными параметрами для обеспечение соблюдения ТЛС. Кроме того, я добавил smtp_delivery_status_filter для перезаписи программных сбоев при сбое установления связи TLS с жесткими сбоями. Таким образом, пользователь мгновенно получает недоставленную почту, возвращенную отправителю .

/etc/postfix/master.cf

forceenc  unix  -       -       y       -       -       smtp
    -o smtp_tls_loglevel=1
    -o smtp_tls_security_level=encrypt
    -o syslog_name=forceenc
    -o smtp_delivery_status_filter=pcre:/etc/postfix/smtp_dsn_filter

/ etc / postfix / smtp_dsn_filter

/^4(\.\d+\.\d+ TLS is required, but host \S+ refused to start TLS: .+)/
        5$1
/^4(\.\d+\.\d+ TLS is required, but was not offered by host .+)/
        5$1
/^4.7.5(.*)/
        5.7.5$1

Это моя конфигурация ldap для транспорта поиск по карте.

/etc/postfix/ldap/transport_maps.cf

server_host      = ldaps://ldap.example.com
bind             = yes
start_tls        = no
version          = 3
bind_dn          = cn=root,dc=ldap,dc=example,dc=com
bind_pw          = THE_LDAP_ROOT_PASS
search_base      = ou=people,dc=ldap,dc=example,dc=com
scope            = sub
# simple user select filter
query_filter     = (&(mail=%s)(mailEnabled=TRUE)(objectClass=person))
# an custom schema which returns "forceenc:"
result_attribute = transportMap
debuglevel       = 0

Для дальнейшего чтения я рекомендую эту ветку.

0
ответ дан 5 December 2019 в 00:08

Теги

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