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

Как избавиться от сообщений, адресованных несуществующим поддоменам?

У меня небольшая проблема с моим сервером 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

и для этих адресов результаты следующие:

  1. Сообщения для user@sendmail_hostname.my.domain.com отклоняются с ошибкой «Неизвестный пользователь» (из-за доп. LDAPROUTE_DOMAIN линия в моем sendmail.mc файл, и это ожидаемое поведение)
  2. Сообщения для user@any_other_hostname.my.domain.com отклоняются с ошибкой «Relaying denied». Мне немного странно, почему на этот раз ошибка другая, но все равно нормально. После того, как все сообщение было отклонено, мне все равно, какой код ошибки будет возвращен отправителю (спамеру).
  3. Сообщения для 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.