У меня есть следующая конфигурация в exim.cnf
daemon_smtp_ports = 25:465
######################## Exim TLS
tls_advertise_hosts = *
tls_on_connect_ports = 465
tls_certificate=/opt/ssl/certs/server.crt
tls_privatekey=/opt/ssl/certs/server.key
Как отклонить аутентификацию на 25 портах? В настоящее время аутентификация позволяется на обоих портах 25 ПЛОСКОСТЕЙ и 465 SSL.
Общее решение состоит в том, чтобы рекламировать AUTH только для тех хостов, имеющих chosed STARTTLS после unencripted соединение с портом 25:
auth_advertise_hosts = ${if eq{$tls_cipher}{}{}{*}}
После того, как команда STARTTLS выполняется, и соединение TLS устанавливается $tls_cipher
переменная для текущей сессии становится непустой. Клиент теперь распространен, что AUTH позволяется, в то время как сессия защищается TLS, и никакие незашифрованные пароли не передаются по unuencripted соединению.
Уверенный можно отключить AUTH, распространяющийся полностью
auth_advertise_hosts =
но это не лучший выбор.