The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Проверка подлинности получателя  в ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Проверка подлинности получателя  в ..."  +/
Сообщение от auto_tips (??) on 06-Июн-07, 12:55 
Проверка подлинности получателя сообщений
Sendmail + LDAP_ROUTING + AD + Exchange 2000/2003

Исходные данные:

AD на базе Win 2003, Exchange Server 2003 расположенный в корпоративной сети.
Канал Internet и корпоративную сеть разделяет шлюз в DMZ которого располагается
почтовый релей - сервер на базе FreeBSD + Sendmail.

Задача:

При попытке отправки письма пользователями Internet пользователям Exchange сервера,
проверять подлинность адреса получателя,  тем самым сократив почтовый трафик
и избавиться от ненужных NDR (Non-Delivery Report) сообщений.

Действия:

Завести в AD служебную учётную запись, от которой будут осуществляться запросы в LDAP каталог.

Пример:

Пользователь: CN=LDAP_Searcher,OU=Service Accounts,DC=mydomain,DC=com
Пароль: password

Собрать Sendmail с поддержкой LDAP

   # cd /usr/ports/mail/sendmail-ldap/
   # make
   # make install

Проверить корректность фильтра, соединения с сервером LDAP каталога (контроллером домена)

Фильтр:
   (&(|(objectclass=user)(objectclass=group))(proxyAddresses=smtp:myname@mydomain.com))

Пример запроса:

   #ldapsearch -L -x -D "CN=LDAP_Searcher,OU=Service Accounts,
      DC=mydomain,DC=com" -w "password" -h "192.168.0.1" -p 389 -s sub -b
      "DC=MYDOMAIN,DC=COM" -d "0" "(&(|(objectclass=user)
      (objectclass=group))(proxyAddresses=smtp: myname@mydomain.com))"

Где 192.168.0.1 – IP адрес сервера LDAP каталога (контроллера домена).

Результатом работы данной команды мы должны получить полный список всех атрибутов объекта каталога
и их значения, соответствующие пользователю или группе, среди smtp
адресов которого встречается  myname@mydomain.com.

Исходя из положительного результата, приступаем к конфигурации Sendmail.

Добавляем в файл sendmail.mc следующие 3 строки:

define(`confLDAP_DEFAULT_SPEC', `-h "192.168.0.1" -b "DC=MYDOMAIN,
DC=COM" -d "CN=LDAP_Searcher,OU=Service Accounts,DC=mydomain,
DC=com" -MLDAP_AUTH_SIMPLE -P/etc/mail/ldap_pass')dnl

LDAPROUTE_DOMAIN_FILE(`/etc/mail/ldap_route_domains')dnl

FEATURE(`ldap_routing', `null', `ldap -1 -T<TMPF> -v mail -k
(&(|(objectclass=user)(objectclass=group))(proxyAddresses=smtp:%0))',`bounce')dnl

Собираем sendmail.cf

/usr/bin/m4 /usr/share/sendmail/cf/m4/cf.m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Содаём файл /etc/mail/ldap_pass, содержимым которого является пароль служебной
учётной записи LDAP_Searcher в открытом виде. В нашем случае:
password

Создаём файл /etc/mail/ldap_route_domains, содержимым которого является:
mydomain.com

Запускаем Sendmail.cf

Внимательно проверяем результат.


URL:
Обсуждается: http://www.opennet.dev/tips/info/1427.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проверка подлинности получателя  в Sendmail + Exchange Serve..."  +/
Сообщение от ToshK email(??) on 06-Июн-07, 12:55 
А как быть с альясами? Их же нет в АД)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Проверка подлинности получателя  в Sendmail + Exchange Serve..."  +/
Сообщение от Hare on 06-Июн-07, 13:14 
Есть
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Проверка подлинности получателя  в Sendmail + Exchange Serve..."  +/
Сообщение от Linus Torvalds on 06-Июн-07, 18:36 
>А как быть с альясами? Их же нет в АД)

RTFM.

Там записи вида
SMTP:main_addr
smtp:alias1
smtp:alias2
....
smtp:aliasN

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Проверка подлинности получателя  в Sendmail + Exchange Serve..."  +/
Сообщение от Сергей (??) on 09-Июн-07, 11:47 
Есть мнение что выгрузка раз в несколько минут адресов из AD в /etc/mail/access работает быстрее и меньше загружает сервер sendmail и сервер AD

Возможно стоить еще добавить объекты publicfolder в них же тоже могут писать извне

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Проверка подлинности получателя  в Sendmail + Exchange Serve..."  +/
Сообщение от Dmitry (??) on 01-Окт-08, 10:59 
Я чего-то недопонимаю, а как использовать адреса в access для проверки получателя?
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

5. "Проверка подлинности получателя  в Sendmail + Exchange Serve..."  +/
Сообщение от ALex_hha (??) on 11-Июн-07, 17:17 
> Exchange Server 2003
а что sendmail не умеет делать колауты?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Проверка подлинности получателя  в Sendmail + Exchange Serve..."  +/
Сообщение от funkblaster (??) on 17-Июн-07, 21:40 
milter-ahead решит все проблемы.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Проверка подлинности получателя  в Sendmail + Exchange Serve..."  +/
Сообщение от tohes (ok) on 16-Мрт-11, 17:46 
Рискну быть названым некропостером, но встала следующая задача:
Есть внешний сервер с Sendmail
Есть внутренний сервер с Exchange
Существует 2 домена в одном лесу (dc1.ru и dc2). Сервер с Exchange установлен в домене dc1.ru. При этом ящики пользователей созданы как в домене dc1.ru, так и в домене dc2. Отсюда возникает вопрос: есть ли возможность для Sendmail проверить существование пользователя в домене dc2.ru?
Как я понимаю, confLDAP_DEFAULT_SPEC может иметь только 1 значение.
FEATURE(`ldap_routing', <mailHost>, <mailRoutingAddress>, <bounce>, <detail>) тут вроде тоже не поможет.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру