Шифрование почтовых подключений PowerMTA
Чтобы использовать исходящее шифрование в PowerMTA, просто добавьте следующее в файл конфигурации:
<domain *> use-starttls yes require-starttls no </ domain>
При этом PowerMTA проверит, поддерживает ли удаленный почтовый сервер шифрование. Если это произойдет, будет попытка создать зашифрованный канал для отправки почты. Если шифрование не удается или шифрование не предлагается, то почта отправляется без шифрования.
Чтобы проверить, было ли письмо отправлено по зашифрованному каналу, необходимо добавить дополнительные поля в файл учета CSV. Это можно сделать с помощью следующей конфигурации:
<acct-file logacct.csv> records d, b record-fields d *, dlvTlsProtocol, dlvTlsCipher record-fields b *, dlvTlsProtocol, dlvTlsCipher </acct-file>
Если используется шифрование, вышеуказанная конфигурация запишет протокол и шифр, использованный для доставки сообщения по зашифрованному каналу.
Исходящий клиентский сертификат
Подавляющее большинство исходящих соединений не требует локального сертификата, могут быть некоторые случаи когда удаленному почтовому серверу требуется сертификат.
Чтобы PowerMTA использовал сертификат для шифрования канала между двумя серверами используйте настройку подобную примеру:
<domain super-secure-server.com> smtp-client-certificate /path/to/certificate.pem password use-starttls yes require-starttls yes </domain>
В приведенном выше примере любые сообщения, отправленные на super-secure-server.com, будут отправляться по зашифрованному каналу с использованием сертификата /path/to/certificate.pem (в большинстве случаев предоставляется администратором удаленного почтового сервера). Если шифрование не удалось, сообщения не будут отправлены.
Входящее шифрование
Запросить зашифрованное соединение от входящих подключений можно сделать в PowerMTA для каждого <source>. Настройка будет выглядеть примерно так:
# smtp-listener 1.2.3.4:465 tls=yes smtp-server-tls-certificate /etc/pmta/smtp-cert.pem "YourPasswordHere" smtp-server-tls-ciphers "HIGH:MEDIUM:!ADH:@STRENGTH" <source 0/0> # matches all allow-starttls yes require-starttls-before-auth yes allow-unencrypted-plain-auth no </source> #
Создание сертификата /etc/pmta/smtp-cert.pem следует стандартным методам OpenSSL.
Пример содержимого сертификата выглядит следующим образом:
-----BEGIN CERTIFICATE-----
YOUR CERT HERE
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,EBA505536010547C
YOUR PRIVATE KEY HERE
-----END RSA PRIVATE KEY-----
При такой конфигурации весь трафик, подключающийся к 1.2.3.4 через порт 465, будет пытаться использовать шифрование для приема электронной почты в PowerMTA.