Я использую этот кусок кода внутри, /etc/postfix/master.cf
чтобы заставить людей безопасно"отправить"электронная почта через порт 465
, который использует протокол SMTPS. SMTPS поддерживает обязательный TLS, который я использую, чтобы требовать от клиентов 1-го«шифровать»соединение с обязательным использованием TLS и 2-го"аутентифицировать"с использованием механизма SASL.
smtps inet n - y - - smtpd
-o syslog_name=postfix/smtps
#
-o smtpd_use_tls=yes
-o smtpd_tls_wrappermode=yes
-o smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3,!TLSv1,!TLSv1.1
-o smtpd_tls_cert_file=/etc/ssl/certs/server-rsa.cert
-o smtpd_tls_key_file=/etc/ssl/private/server-rsa.key
-o smtpd_tls_eccert_file=/etc/ssl/certs/server-ecdsa.cert
-o smtpd_tls_eckey_file=/etc/ssl/private/server-ecdsa.key
#
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=smtpd
-o smtpd_sasl_security_options=noanonymous
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
#
Это работает так, как и ожидалось. Это действительно работает отлично!
Я хотел защитить порт 25
таким же образом, но, похоже, это невозможно, так как у этого порта двавходящийфункциональные возможности, т.е."подчинение"и"ретрансляция приема" (глупо продлевать жизнь этому порту, от которого нам следует избавиться как можно скорее).
На порту 25
есть только протокол SMTP, который не поддерживает обязательный TLS! Так что длявходящийэлектронная почта, т.е. «отправка» и «ретрансляция получения», все, что можно включить, это оппортунистический TLS(можно взломать). Так что все, что я могу включить, это плохой"шифрование"который впоследствии может быть улучшен с помощью DANE(нельзя взломать легко).
Так что насчет порта 25
у меня есть надежды на мой"шифрование"быть достаточным в какой-то момент, пока я не понимаю, как настроить SASL"аутентификация"!
Я попробовал использовать этот фрагмент кода, /etc/postfix/master.cf
где первая часть кода настраивает оппортунистический TLS, а вторая часть кода должна настраивать SASL."аутентификация".
smtp inet n - y - - smtpd
-o syslog_name=postfix/smtp
#
-o smtpd_use_tls=yes
-o smtpd_tls_security_level=may
-o smtpd_tls_protocols=!SSLv2,!SSLv3,!TLSv1,!TLSv1.1
-o smtpd_tls_cert_file=/etc/ssl/certs/server-rsa.cert
-o smtpd_tls_key_file=/etc/ssl/private/server-rsa.key
-o smtpd_tls_eccert_file=/etc/ssl/certs/server-ecdsa.cert
-o smtpd_tls_eckey_file=/etc/ssl/private/server-ecdsa.key
#
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=smtpd
-o smtpd_sasl_security_options=noanonymous
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o smtpd_relay_restrictions=permit_mynetworks,permit_sasl_authenticated,defer_unauth_destination
#
К сожалению, я обнаружил эту строку:
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
с одной сторонызаставляет клиентов, которые хотят"представлять на рассмотрение"электронная почта через порт 25
, чтобы"authenticate"
ис другой стороныотклоняет все «ретранслируемые» электронные письма, поступающие от других MTA!
Итак, как мне достичь обоих:
- предотвращая доступ любого человека из Интернета"представлять на рассмотрение"электронная почта, использующая порт
25
на моем сервере. - "ретрансляция приема"все электронные письма, приходящие с других MTA на мой порт
25
.