Назад | Перейти на главную страницу

Отключить SMTP AUTH на порту 25

Из-за 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 для проверки адреса, аутентификации и т. Д .; достойная интеграция в различные детекторы вредоносных программ и т. д.