У нас есть небольшой курьерский почтовый сервер (courier-esmtpd). Он настроен для приема почты от аутентифицированных клиентов без ограничений получателя и почты отовсюду на локальные адреса: *(at)mydomain.tld
. Теперь мы получаем несколько спам-писем, в которых в качестве адреса отправителя установлено что-то вроде info(at)mydomain.tld
и другой местный почтовый адрес в качестве получателя. Я бы хотел заблокировать эти письма. Да, в большинстве случаев SpamAssassin помечает их как спам, но я думаю, что лучшим способом будет прямое отклонение писем с поддельными адресами отправителя.
Можно ли настроить courier-esmtpd для блокировки писем, отправленных неаутентифицированным клиентом с внешнего IP-адреса и локального исходного адреса?
Важно, чтобы аутентифицированные (легитимные) пользователи могли отправлять почту с любого адреса отправителя, например user(at)mydomain.tld
даже с внешнего IP-адреса (домашний компьютер и т. д.).
Изменить: я попытался установить параметр конфигурации badfrom (at)mydomain.tld
в файле /etc/courier/bofh
, но тогда все письма с соответствующими обратными адресами блокируются, аутентифицирован пользователь или нет ...
Краткий ответ: да. Для этого нужно включить esmtpd-msa
.
Courier поддерживает агента отправки почты (MSA), который аналогичен агенту транспорта почты, но предназначен для нелокальной загрузки почты. Серверы MSA не только прослушивают разные порты (587), но и способны исправлять незначительные ошибки в данных SMTP из почтовой программы клиента. Другое главное преимущество заключается в том, что вы можете легко и просто отключить ретрансляцию с внешних хостов на MTA и включить авторизацию на MSA. Это аккуратно обходит попытки аутентификации из определенных доменов, что практически невозможно, потому что запрос аутентификации выполняется до того, как предоставлен домен from.
Самым большим недостатком является то, что вам нужно изменить всех своих клиентов для отправки почты на порт 587 вместо порта 25.
Протокол SMTP был в основном разработан до того, как был подключен Интернет, и использовался так, как сейчас. Указание сетей, в которых вы потенциально можете «ретранслировать» без авторизации. К сожалению, на многих почтовых серверах на базе Linux все еще есть настройки, которые не требуют предварительной аутентификации для отправки почты с внутреннего IP-источника или частного IP-адреса.
Большинство почтовых серверов Linux используют службу под названием postfix, которая определяет эти настройки. Параметры безопасности, такие как TLS и SSL, устанавливаются и задаются требованиями в файле master.cf. В этом файле вы раскомментируете такие настройки, как
'-o smtpd_enforce_tls = yes -o smtpd_sasl_auth_enable = yes'
требовать аутентификации
или
'465 inet n - n - - smtpd -o smtpd_tls_wrappermode = yes -o smtpd_sasl_auth_enable = yes'
для отправки защищенной почты.
Хотя это действительно зависит от того, что используется в этой системе.