У меня небольшая проблема с моим сервером sendmail, и мне нужна ваша небольшая помощь :-)
Моя ситуация выглядит следующим образом:
Почтовые ящики пользователей размещаются на сервере MS exchangenege, и вся почта во внешний мир и из него ретранслируется через мой почтовый ящик sendmail.
Exchange server ----- sendmail server ------ Internet
Мои серверы принимают сообщения для одного основного домена (скажем, my.domain.com
) и для нескольких других доменов (давайте сузим его до одного, скажем my_other.domain.com
). После настройки sendmail с показанным ниже сокращенным sendmail.mc
файл, по сути, все работает нормально, но есть небольшая проблема. Я хочу как можно скорее отклонить сообщения, адресованные несуществующим получателям (чтобы избежать отправки отчетов о недоставке), поэтому мой сервер sendmail отправляет запросы LDAP на сервер обмена, проверяя каждый адрес получателя. Это хорошо работает для обоих доменов, но не для поддоменов. Таких поддоменов не существует, но кто-нибудь (я имею в виду этих горячих спамеров :-) мог бы попробовать такие адреса:
user@any_host.my.domain.com
или
user@any_host.my_other.domain.com
и для этих адресов результаты следующие:
user@sendmail_hostname.my.domain.com
отклоняются с ошибкой «Неизвестный пользователь» (из-за доп. LDAPROUTE_DOMAIN
линия в моем sendmail.mc
файл, и это ожидаемое поведение)user@any_other_hostname.my.domain.com
отклоняются с ошибкой «Relaying denied». Мне немного странно, почему на этот раз ошибка другая, но все равно нормально. После того, как все сообщение было отклонено, мне все равно, какой код ошибки будет возвращен отправителю (спамеру).user@sendmail_hostname.my_other.domain.com
и user@any_other_hostname.my_other.domain.com
отклоняются с ошибкой "Неизвестный пользователь", но только тогда, когда нет user@my_other.domain.com
почтовый ящик (на сервере обмена). Если такой почтовый ящик существует, то все три адреса (т.е. user@my_other.domain.com
, user@sendmail_hostname.my_other.domain.com
и user@any_other_hostname.my_other.domain.com
) будут приняты. (добавление дополнительной строки LDAPROUTE_DOMAIN(my_sendmail_host.my_other.domain.com)
к моему sendmail.mc
файл ничего не меняю) Мой сокращенный sendmail.mc
файл выглядит следующим образом (sendmail 8.14.3-5). Оба домена перечислены в /etc/mail/local-host-names
файл (FEATURE(use_cw_file)
):
define(`_USE_ETC_MAIL_')dnl
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
OSTYPE(`debian')dnl
DOMAIN(`debian-mta')dnl
undefine(`confHOST_STATUS_DIRECTORY')dnl
define(`confRUN_AS_USER',`smmta:smmsp')dnl
FEATURE(`no_default_msa')dnl
define(`confPRIVACY_FLAGS',`needmailhelo,needexpnhelo,needvrfyhelo,restrictqrun,restrictexpand,nobodyreturn,authwarnings')dnl
FEATURE(`use_cw_file')dnl
FEATURE(`access_db', , `skip')dnl
FEATURE(`always_add_domain')dnl
MASQUERADE_AS(`my.domain.com')dnl
FEATURE(`allmasquerade')dnl
FEATURE(`masquerade_envelope')dnl
dnl define(`confLDAP_DEFAULT_SPEC',`-p 389 -h my_exchange_server.my.domain.com -b dc=my,dc=domain,dc=com')dnl
dnl define(`ALIAS_FILE',`/etc/aliases,ldap:-k (&(|(objectclass=user)(objectclass=group))(proxyAddresses=smtp:%0)) -v mail')dnl
FEATURE(`ldap_routing',, `ldap -1 -T<TMPF> -v mail -k proxyAddresses=SMTP:%0', `bounce')dnl
LDAPROUTE_DOMAIN(`my.domain.com')dnl
LDAPROUTE_DOMAIN(`my_other.domain.com ')dnl
LDAPROUTE_DOMAIN(`my_sendmail_host.my.domain.com')dnl
define(`confLDAP_DEFAULT_SPEC', `-p 389 -h "my_exchange_server.my.domain.com" -d "CN=sendmail,CN=Users,DC=my,DC=domain,DC=com" -M simple -P /etc/mail/ldap-secret -b "DC=my,DC=domain,DC=com"')dnl
FEATURE(`nouucp',`reject')dnl
undefine(`UUCP_RELAY')dnl
undefine(`BITNET_RELAY')dnl
define(`confTRY_NULL_MX_LIST',true)dnl
define(`confDONT_PROBE_INTERFACES',true)dnl
define(`MAIL_HUB',` my_exchange_server.my.domain.com.')dnl
FEATURE(`stickyhost')dnl
MAILER_DEFINITIONS
MAILER(smtp)dnl
Может ли кто-нибудь более опытный с sendmail посоветовать, как отклонять сообщения на эти нежелательные поддомены?
P.S. Почтовые ящики @my_other.domain.com
используются только для получения сообщений и никогда для отправки.
в конфигурация README вы увидите, что использование MAIL_HUB перенаправляет всю входящую почту в централизованный концентратор. Поскольку у вас есть маршрутизация LDAP, закомментируйте запись MAIL_HUB.