Exchange 2007, не работает проверка получателей в AD?
Частенько на форумах по Exchange 2007 звучит вопрос о переполненности очередей сообщениями в домены со странными именами. Если очередь очистить, то эти сообщения появляются вновь. Релей вроде закрыт, но сообщений в очередях огромное количество. Откуда взялись эти сообщения? Пользователи их явно не отправляли. Что делать?
Давайте рассмотрим как происходит разбор адреса получателя принимающим сервером? Обычно система проверяет существование адреса получателя и если его нет, то в SMTP сессии генерируется отбой «5.1.1 User unknown». Exchange же долгое время не умел этого делать, но с версии 2003(? я могу ошибаться) он научился проверять получателей в Active Directory(Filter recipients who are not in the directory) и генерировать отбой в SMTP сессии. Если же проверку в AD не включать, то сообщение будет полностью принято и отправителю будет сгенерирован NDR. А если адреса отправителя не существует или это адрес не имеет никакого отношения к реальному отправителю? Тогда это сообщение повиснет в очереди, а smtp сервер будет его пытаться доставить несуществующему получателю на несуществующий сервер. Подобных ситуаций нужно избегать.
Как проверить, проверяет ли ваш сервер получателей в AD? Используем telnet.
>C:\telnet ваш_сервер.ru 25
<220 myserver.exchangerus.ru Microsoft ESMTP MAIL Service ready at Fri, 15 Aug 2008
>ehlo test.ru
<250-myserver.exchangerus.ru Hello [x.x.x.x]
<250-SIZE
<250-PIPELINING
<250-DSN
<250-ENHANCEDSTATUSCODES
<250-STARTTLS
<250-AUTH NTLM
<250-8BITMIME
<250-BINARYMIME
<250 CHUNKING
>mail from:pavel.nagaev@test.com (адрес отправителя не важен)
<250 2.1.0 Sender OK
>rcpt to:nonexistentuser@exchangerus.ru
<250 2.1.5 Recipient OK
Вот тут внимание. Если ваш сервер выдает “250 2.1.5 Recipient OK”, но пользователя nonexistentuser@exchangerus.ru в вашем домене exchangerus.ru — нет, то это значит что никакой проверки в AD не выполняется и ваш сервер “всасывает” все сообщения для вашего домена, а потом будет пытаться отослать NDR.
После включения проверки в AD две последние строки будут выглядеть так:
>rcpt to:nonexistentuser@exchangerus.ru
<550 5.1.1 User unknown
В Exchange 2007 проверка получателей в AD включена на Edge сервере. А если у Вас нет EDGE сервера, а только HUB сервер, что тогда? Транспортные агенты можно установить и на HUB сервер и они будут работать, но с некоторыми ограничениями.
Проверка получателей в AD включается следующей командой:
Set-RecipientFilterConfig -RecipientValidationEnabled:$true
Заработало? Cкорее всего да. В моем случае не заработало, т.к. у меня AcceptedDomain создавался, как ExternalRelay, а для него значение AddressBookEnabled установлено в $false и при изменении на Authorative значение не изменилось. Поэтому пришлось включить AddressBookEnabled на обслуживаемых доменах вручную.
AddressBookEnabled - этот параметр используется для разрешения фильтрации получателей в роли пограничного транспортного сервера, принимающей почту для принятого домена.
Get-AcceptedDomain | select Name,DomainType,AddressBookEnabled
Если параметр AddressBookEnabled стоит в False, то нужно его установить в True, например так.
Get-AcceptedDomain | set-AcceptedDomain –AddressBookEnabled:$true
Потом проверяйте с помощью telnet, как я описал выше. Вы должны получить «550 5.1.1 User unknown» для не существующего адреса в вашем домене и количество писем в очередях значительно сократится. А то сейчас мода на отключение NDR на серверах
Жуть какая
Похожие посты:
15 Август 2008, 15:11
Комментариев: 27








16 Август 16, 2008 г. в 11:12
Все верно. Если проверку не включать, то забивает очередь очень быстро всякой ерундой. Обычно проверку пользователей не включают на том основании, что мол, так могут узнать реальных адресатов. Но, как мне кажется, в 99% случаев спаммеру глубоко фиолетово до ответов сервера (он же не с домашней машины рассылку делает).
В экченж 2003 появилась еще одна замечательная вещь, как указание на мэил энабел групп, что почту на них могут отправлять только авторизованные юзеры. А до какое было раздолье спаммеру. Да и вообще, до SP1 экченж 2000 по сути был не работоспособен
16 Август 16, 2008 г. в 14:53
Что-то не получается сделать.
Сделал: Set-RecipientFilterConfig -RecipientValidationEnabled:$true — ситуация не изменилась.
Тогда посмотрел Get-AcceptedDomain | select Name,DomainType,AddressBookEnabled
значение AddressBookEnabled там пустое, т.е. не false и не true
Деалю: Get-AcceptedDomain | set-AcceptedDomain –AddressBookEnabled:$true
WARNING: Команда выполнена успешно, но параметры «domain.ru» не были изменены.
Тип домена: Authorative
Что не так делаю?
17 Август 17, 2008 г. в 10:29
для того, чтобы не сообирали адреса можно включить tarpit и сделать ежедневный отчет на PoSh по анализу логов на предмет подбора адреса.
Я ни разу не видел подбора адресов и базы пополняются за счет других способов.
1. Нужно установить агентов на HUB сервер, как написано сверху в ссылке.
2. Set-RecipientFilterConfig -RecipientValidationEnabled:$true
3. Get-AcceptedDomain | set-AcceptedDomain –AddressBookEnabled:$true
Подтвердите, что Вы все три условия выполнили.
У меня тоже писало, что параметры не были изменены, однако они 100% поменялись.
18 Август 18, 2008 г. в 17:39
Сделал все как написанно — «550 5.1.1 User unknown» не появилось. Немного покапавшись обнаружил, что Recipient Filter был выключен. Получатеся, что по умолчанию он не включается после установки.
Set-RecipientFilterConfig -Enabled:$true исправила ситуацию. Теперь всё работает.
Спасибо за статью, очень полезная информация!
19 Август 19, 2008 г. в 11:22
Установка его не включает, установка — это установка
По поводу полезности. Достал меня совет на форумах об отключении NDR. Система должна отправлять NDR, ведь получается, что пользователь случайно неправильно вбил получателя и ни он, ни получатель не знают, что письмо не было доставлено. Жуть какая. Зато типа спам победили.
19 Август 19, 2008 г. в 13:33
Разобрался
из статьи не сразу понял что нужно установить транспортные фильтры.
. Оказывается нужно ставить.
«Транспортные агенты и на HUB сервер» , я так понял что можно ставить, а можно и не ставить
19 Август 19, 2008 г. в 13:46
для работы конечно нужно. Сорри, след. раз буду более внимательным.
25 Август 25, 2008 г. в 09:37
Интересная инфа. Я думал что включить такую проверку на HUB сервере можно только доустановив через скрипты все антиспам агенты.
Кстати, очень интересно ваше мнение, лучше ли при наличии стороннего фильтра (ORF например) пользоваться встроенными в Exchange фильтрами или доверить все внешнему агенту и не нагружать сам Exchange?
25 Август 25, 2008 г. в 10:17
это вопрос удобства и работоспособности приложений третьих фирм. Как правило они расширяют функционал.
Что касается ORF, то у меня осталось очень хорошее мнение о нем, когда он работал на E2003. Под 2007 я его не гонял и наверное не буду, т.к. в текущей конфигурации смысла нет его использовать.
25 Август 25, 2008 г. в 13:55
Почему нет смысла?
По моему опыту без Грейлистинга или Байенсовского фильтра, вылавливать больше 30-40% спама очень непросто. А в Эксч2007 пока нет ни того ни другого.
25 Август 25, 2008 г. в 13:57
Я бы так категрично не утверждал. Никто не знает, как работает IMF под E2007 и по поводу отсутствия грейлиста….. я промолчу.
25 Август 25, 2008 г. в 15:53
Не нужно молчать, мне казалось ваш сайт наоборот для общения
Я выше наоборот постарался быть максимально демократичным и добавил «по моему опыту» и «очень непросто».
Если вы сейчас можете на рабочих серверах обходиться только лишь встроенными фильтрами и этого реально хватает, то я наоборот очень хотел бы небольшой ликбез как это получилось.
25 Август 25, 2008 г. в 15:55
Не, конечно встроенных фильтров на много не хватит. У меня используется Linux машина с greylist и Kaspersky.
25 Август 25, 2008 г. в 15:55
Извините за такое количество «наоборот», после отпуска «мой англиский» что-то прихрамывает.
19 Сентябрь 19, 2008 г. в 20:07
Спасибо, очень помогла статья. Огромное спасибо!
8 Октябрь 8, 2008 г. в 18:44
Действительно полезная статья. Огромное спасибо.
8 Октябрь 8, 2008 г. в 18:54
«..и сделать ежедневный отчет на PoSh по анализу логов на предмет подбора адреса»
можно чуть подробнее, или где почитать ?
9 Октябрь 9, 2008 г. в 08:35
Можно у Васи Гусева спросить, а вообще анализировать нужно smtp логи на количество вхождений с одного IP и проверку полной SMTP сессии
20 Январь 20, 2009 г. в 01:19
Хм, очень странно. Поставил фильтры на Hub-transport server, включил RecipientFilter, адресная книга включена.
Все равно не проверяет на наличие получателя в адресной книге.. Что за напасть?
20 Январь 20, 2009 г. в 08:54
Проверьте с внешнего сервера, например
20 Январь 20, 2009 г. в 10:33
посидел ночь, покопал — озарило… Нельзя столько работать, замыливается глаз. В общем для защиты от спама включена была так же аутентификация пользователей перед отправкой сообщений. В консоли нужно было auth login ввести перед mail from. И для авторизованных пользователей фильтры не применяются.
И хотя письмо в консоли помечалось как «added to delivery query» на самом деле если посмотреть трассировку — письма в exchange не существовало совсем.
27 Январь 27, 2009 г. в 17:12
Павел, а подскажите пожалуйста, как настроить проверку адресов в AD для 2007 Edge в связке с организацией Exchange 2003? Как я понял, пока 2003 не поднимим до 2007 версии Edgesync нам не видать, а без него в ADAMе появится ничего и проверка получателя не заработает само собой. Может есть какое решение для «мигрирующих» потихоньку?
29 Январь 29, 2009 г. в 09:41
Я не встречал и не думаю, что это возможно без значительных трудовых затрат.
5 Февраль 5, 2009 г. в 14:24
Все сделал по описанию но эффекта не получил никакого все также письма пролетают
Более того эти левые письма умудряться попадать пользователям с другим наименованием почтового ящика
На входе стоит Спамооборона но она писмо для несуществующих пользователей не обрабатывает
6 Октябрь 6, 2009 г. в 09:56
Павел, спасибо за статью.
Думаю стоит дополнить несколькими моментами:
1. Запускать консоль надо от имени администратора для тех кто на Win2k8
2. Если скрипт по имени не открывается, то нужно прописать полный путь к нему или скопировать его текст прямо в консоль.
3. Нужно проследить что скрипт выполнился без ошибок. Иначе вкладки антиспама появляются, но работоспособности нету.
4. Нужно задать IP локального SMTP сервера. Хоть это и описано в ссылке по установке. Не все читают внимательно…
5. После установки антиспамом можно рулить и из графической оболочки. На вкус и цвет… как говорится…
26 Февраль 26, 2010 г. в 17:36
Спасибо за статью.
Но у меня что-то с броузерами и я не вижу »ссылку указанную сверху». Поясните, пожалуйста, какие агенты должны быть установленны на HUB-транспорт (у меня нет EDGE’й). И как их ставить (лучше дайте ссылку).
8 Сентябрь 8, 2010 г. в 11:22
Спасибо за статью!
Очень помогла. Особенно дополнение про авторитативные и не авторитативные домены. У меня как раз была такая ситуация.
Единственное, что я не понял — это на каком транспортном сервере работаю фильтры. У меня в орг-ции Exchange 2007 несколько сайтов, в каждом стоит сервер с ролью HUB/Client (Edge нет). Мне надо ставить антиспам фильтры на все HUB/Client, которые принимают почту из вне или установка фильтров на одном сервере оказывает воздействие на всю орг-цию Exchange?