Из-за PCI-DSS мы должны отключить аутентификацию с открытым текстом. Мы достигли этого, инкапсулируя связь между нашим почтовым сервером и клиентами с помощью TLS через порт 465.
Проблема заключается в том, что порт 25 должен оставаться открытым и незашифрованным, чтобы мы могли получать электронную почту из Интернета, но не должен разрешать аутентификацию.
Я пробовал отключить команду AUTH, но это также нарушает аутентификацию на порту 465.
Есть ли почтовый сервер или прокси-сервер, который позволит раздельно настраивать порты 25 и 465, чтобы аутентификация была доступна только по защищенному каналу?
Также примечательно: мы используем MailEnable с stunnel в режиме FIPS.
MailEnable предоставил исправленный исполняемый файл SMTP, который позволил мне настроить через реестр Windows, предлагается ли авторизация для каждого порта прослушивания. Это решило мою проблему - надеюсь, они опубликуют патч как исправление.
Да, postfix отлично на это способен.
Взгляните на Postfix HOWTO:
http://postfix.state-of-mind.de/patrick.koetter/smtpauth/
и особенно:
http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailclients.html
(эти две страницы связаны с довольно обширной официальной страницей документации Postfix http://www.postfix.org/docs.html)
Для моего сервера конфигурация в master.cf
выглядит как:
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
submission inet n - n - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
И в main.cf есть строка вроде:
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
В этом случае аутентификация включена только для портов отправки (587) и SMTPS (465).
Похоже, что опция smtpd_tls_auth_only = yes Postfix - это именно то, что вы ищете. Он позволяет использовать SMTP AUTH только тогда, когда активирован TLS, что актуально только для порта 25 для вашей конфигурации.
http://www.postfix.org/SASL_README.html#id396969
http://www.postfix.org/postconf.5.html#smtpd_tls_auth_only
Вы также можете сделать следующее, чтобы рекламировать tls только на определенных портах с exim4.
tls_advertise_hosts = 192.168.40.5:${if eq {$interface_port}{587} {*}{}}
Таким образом, tls будут предлагаться только клиентам, подключающимся из 192.168.40.5, и клиентам, подключающимся через порт 587. Пока ваши настройки аутентификации настроены на требование tls перед объявлением, только клиенты, использующие порт 587 с TLS, смогут использовать auth.
Exim позволяет вам установить:
server_advertise_condition = ${if def:tls_cipher}
на драйвере аутентификации, поэтому он рекламируется / доступен только в TLS.
Exim очень часто используется как интерфейсный шлюз между почтовыми серверами MS и открытым Интернетом; Интеграция LDAP, позволяющая запрашивать AD для проверки адреса, аутентификации и т. Д .; достойная интеграция в различные детекторы вредоносных программ и т. д.