exim + ldap пара проблем

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
opt1k
лейтенант
Сообщения: 966
Зарегистрирован: 2007-12-05 9:45:18
Откуда: Mytischi

exim + ldap пара проблем

Непрочитанное сообщение opt1k » 2009-05-25 8:48:33

Делалось по http://www.lissyara.su/?id=1331
Прикрутил к лдапу ещё и довекот без проблем, но с экзимом немного не срослось.

Конфиг изменён минимально.
1) Не получается отправить письмо на локального пользователя, в логах такое:

Код: Выделить всё

2009-05-25 09:35:56 Delay 0s for wxp.tst.ru [192.168.16.9] with HELO=vasa. Mail from test@tst.ru to test@tst.ru.
2009-05-25 09:35:56 H=wxp.tst.ru (vasa) [192.168.16.9] I=[192.168.16.17]:25 F=<test@tst.ru> rejected RCPT <test@tst.ru>: Unrouteable address
для решения пробовал в ignore_target_hosts добавить свою сетку 192.168.0.0\16 после этого клиенту при отправке стало давать ошибку:

Код: Выделить всё

В этом домене нет такого пользователя
Вобщем понял, что лучше спросить у вас.
2)Громоптица не отправляет по смтп, авторизатор такой же как и в статье, при попытке авторизоваться в логах такое:

Код: Выделить всё

2009-05-25 09:44:02 auth_plain authenticator failed for ([192.168.16.9]) [192.168.16.9] I=[192.168.16.17]:25: 535 Incorrect authentication data (set_id=test@tst.ru)
2009-05-25 09:44:02 auth_login authenticator failed for ([192.168.16.9]) [192.168.16.9] I=[192.168.16.17]:25: 535 Incorrect authentication data (set_id=test@tst.ru)
Аутглюк авторизуется без проблем.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: exim + ldap пара проблем

Непрочитанное сообщение princeps » 2009-05-25 8:58:11

Значит громоптица использует какой-то другой механизм аутентификации. Здесь: http://www.lissyara.su/?id=1233 читал?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

opt1k
лейтенант
Сообщения: 966
Зарегистрирован: 2007-12-05 9:45:18
Откуда: Mytischi

Re: exim + ldap пара проблем

Непрочитанное сообщение opt1k » 2009-05-25 9:08:29

нет, использует Login
да, читал

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: exim + ldap пара проблем

Непрочитанное сообщение princeps » 2009-05-25 10:07:12

ну тогда хз :)
По поводу первой проблемы: с других серверов пробовал отправлять?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

opt1k
лейтенант
Сообщения: 966
Зарегистрирован: 2007-12-05 9:45:18
Откуда: Mytischi

Re: exim + ldap пара проблем

Непрочитанное сообщение opt1k » 2009-05-25 10:23:32

не-а, сервер в локалке, в инет не смогу вытащить. для тестовых целей.
вот что оно по аутентификации даёт:

Код: Выделить всё

Script started on Mon May 25 11:12:33 2009
test# exit^Hm -bd -d^M^M
Exim version 4.69 (FreeBSD 7.1) uid=0 gid=0 pid=9216 D=fbb95cfd^M
Probably Berkeley DB version 1.8x (native mode)^M
Support for: crypteq iconv() IPv6 use_setclassresources PAM Perl Expand_dlfunc OpenSSL Content_Scanning Old_Demime^M
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch ldap ldapdn ldapm nis nis0 passwd^M
Authenticators: cram_md5 dovecot plaintext spa^M
Routers: accept dnslookup ipliteral manualroute queryprogram redirect^M
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp^M
Fixed never_users: 0^M
Size of off_t: 8^M
changed uid/gid: forcing real = effective^M
  uid=0 gid=0 pid=9216^M
  auxiliary group list: 0^M
seeking password data for user "mailnull": using cached result^M
getpwnam() succeeded uid=26 gid=26^M
seeking password data for user "root": cache not available^M
getpwnam() succeeded uid=0 gid=0^M
configuration file is /usr/local/etc/exim/configure^M
log selectors = 0000cefe 00233821^M
cwd=/usr/home/amicus 3 args: exim -bd -d^M
trusted user^M
admin user^M
originator: uid=0 gid=0 login=root name=Charlie Root^M
 9216 listening on all interfaces (IPv6) port 25^M
 9216 listening on all interfaces (IPv4) port 25^M
 9216 pid written to /var/run/exim.pid^M
 9216 changed uid/gid: running as a daemon^M
 9216   uid=26 gid=6 pid=9216^M
 9216   auxiliary group list: 6 6^M
 9216 LOG: MAIN^M
 9216   exim 4.69 daemon started: pid=9216, no queue runs, listening for SMTP on port 25 (IPv6 and IPv4)^M
 9216 set_process_info:  9216 daemon: no queue runs, listening for SMTP on port 25 (IPv6 and IPv4)^M
 9216 daemon running with uid=26 gid=6 euid=26 egid=6^M
 9216 Listening...^M
 9216 Connection request from 192.168.16.9 port 1219^M
 9216 search_tidyup called^M
 9216 1 SMTP accept process running^M
 9216 Listening...^M
 9217 sender_fullhost = [192.168.16.9]^M
 9217 sender_rcvhost = [192.168.16.9]^M
 9217 Process 9217 is handling incoming connection from [192.168.16.9]^M
 9217 host in host_lookup? no (option unset)^M
 9217 set_process_info:  9217 handling incoming connection from [192.168.16.9] I=[192.168.16.17]:25^M
 9217 host in host_reject_connection? no (option unset)^M
 9217 host in sender_unqualified_hosts? no (option unset)^M
 9217 host in recipient_unqualified_hosts? no (option unset)^M
 9217 host in helo_verify_hosts? no (option unset)^M
 9217 host in helo_try_verify_hosts? no (option unset)^M
 9217 host in helo_accept_junk_hosts? no (end of list)^M
 9217 SMTP>> 220 mail.tst.ru, ESMTP EXIM 4.69^M
 9217 Process 9217 is ready for new message^M
 9217 smtp_setup_msg entered^M
 9217 SMTP<< EHLO [192.168.16.9]^M
 9217 [192.168.16.9] in helo_lookup_domains? no (end of list)^M
 9217 sender_fullhost = ([192.168.16.9]) [192.168.16.9]^M
 9217 sender_rcvhost = [192.168.16.9]^M
 9217 set_process_info:  9217 handling incoming connection from ([192.168.16.9]) [192.168.16.9] I=[192.168.16.17]:25^M
 9217 host in pipelining_advertise_hosts? yes (matched "*")^M
 9217 host in auth_advertise_hosts? yes (matched "*")^M
 9217 host in tls_advertise_hosts? yes (matched "*")^M
 9217 SMTP>> 250-mail.tst.ru Hello [192.168.16.9] [192.168.16.9]^M
 9217 250-SIZE 2097152^M
 9217 250-PIPELINING^M
 9217 250-AUTH LOGIN CRAM-MD5^M
 9217 250-STARTTLS^M
 9217 250 HELP^M
 9217 SMTP<< AUTH CRAM-MD5^M
 9217 SMTP>> 334 PDkyMTcuMTI0MzIzNTU2NUBtYWlsLnRzdC5ydT4=^M
 9217 SMTP<< dGVzdEB0c3QucnUgNzgxZDRkMGE2ZTE1M2VjNDI1NWNmZTcwNTYwMDBlMjg=^M
 9217 search_open: ldap "NULL"^M
 9217 search_find: file="NULL"^M
 9217   key="user="cn=exim,ou=system,dc=tst,dc=ru" pass="123" ldap:///ou=exim,dc=tst,dc=ru?clearPassword?sub? (&(accountStatus=active)(mail=test%40tst.ru))"
 9217 LRU list:^M
 9217 internal_search_find: file="NULL"^M
 9217   type=ldap key="user="cn=exim,ou=system,dc=tst,dc=ru" pass="123" ldap:///ou=exim,dc=tst,dc=ru?clearPassword?sub? (&(accountStatus=active)(mail=test%40
 9217 database lookup required for user="cn=exim,ou=system,dc=tst,dc=ru" pass="123" ldap:///ou=exim,dc=tst,dc=ru?clearPassword?sub? (&(accountStatus=active)(
 9217 LDAP parameters: user=cn=exim,ou=system,dc=tst,dc=ru pass=123 size=0 time=0 connect=0 dereference=0 referrals=on^M
 9217 perform_ldap_search: ldap URL = "ldap:///ou=exim,dc=tst,dc=ru?clearPassword?sub? (&(accountStatus=active)(mail=test%40tst.ru))" server=192.168.16.17 po
 9217 after ldap_url_parse: host=192.168.16.17 port=389^M
 9217 ldap_initialize with URL ldap://192.168.16.17:389/^M
 9217 initialized for LDAP (v3) server 192.168.16.17:389^M
 9217 LDAP_OPT_X_TLS_TRY set^M
 9217 binding with user=cn=exim,ou=system,dc=tst,dc=ru password=123^M
 9217 Start search^M
 9217 ldap_search failed: -7, Bad search filter^M
 9217 lookup deferred: ldap_search failed: -7, Bad search filter^M
 9217 SMTP>> 435 Unable to authenticate at present^M
 9217 LOG: MAIN REJECT^M
 9217   auth_cram_md5 authenticator failed for ([192.168.16.9]) [192.168.16.9] I=[192.168.16.17]:25: 435 Unable to authenticate at present (set_id=test@tst.r
 9217 SMTP<< AUTH LOGIN^M
 9217 host in smtp_accept_max_nonmail_hosts? yes (matched "*")^M
 9217 SMTP>> 334 VXNlcm5hbWU6^M
 9217 SMTP<< dGVzdEB0c3QucnU=^M
 9217 SMTP>> 334 UGFzc3dvcmQ6^M
 9217 SMTP<< MTIzNDU2Nw==^M
 9217 auth_login authenticator:^M
 9217   $auth1 = test@tst.ru^M
 9217   $auth2 = 1234567^M
 9217   $1 = test@tst.ru^M
 9217   $2 = 1234567^M
 9217 search_open: ldapdn "NULL"^M
 9217 search_find: file="NULL"^M
 9217   key="user="cn=exim,ou=system,dc=tst,dc=ru" pass="123" ldap:///ou=exim,dc=tst,dc=ru??sub?(& (accountStatus=active)(mail=test%40tst.ru) (clearPassword=
 9217 LRU list:^M
 9217 internal_search_find: file="NULL"^M
 9217   type=ldapdn key="user="cn=exim,ou=system,dc=tst,dc=ru" pass="123" ldap:///ou=exim,dc=tst,dc=ru??sub?(& (accountStatus=active)(mail=test%40tst.ru) (cl
 9217 database lookup required for user="cn=exim,ou=system,dc=tst,dc=ru" pass="123" ldap:///ou=exim,dc=tst,dc=ru??sub?(& (accountStatus=active)(mail=test%40t
 9217 LDAP parameters: user=cn=exim,ou=system,dc=tst,dc=ru pass=123 size=0 time=0 connect=0 dereference=0 referrals=on^M
 9217 perform_ldap_search: ldapdn URL = "ldap:///ou=exim,dc=tst,dc=ru??sub?(& (accountStatus=active)(mail=test%40tst.ru) (clearPassword=1234567))" server=192
 9217 after ldap_url_parse: host=192.168.16.17 port=389^M
 9217 re-using cached connection to LDAP server 192.168.16.17:389^M
 9217 Start search^M
 9217 search ended by ldap_result yielding 101^M
 9217 ldap_parse_result: 0^M
 9217 ldap_parse_result yielded 0: Success^M
 9217 LDAP search: no results^M
 9217 lookup failed^M
 9217 expanded string: no^M
 9217 SMTP>> 535 Incorrect authentication data^M
 9217 LOG: MAIN REJECT^M
 9217   auth_login authenticator failed for ([192.168.16.9]) [192.168.16.9] I=[192.168.16.17]:25: 535 Incorrect authentication data (set_id=test@tst.ru)^M
^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H
test# exit^M^M

Script done on Mon May 25 11:12:56 2009

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

Re: exim + ldap пара проблем

Непрочитанное сообщение f0s » 2009-05-25 13:43:30

юзай такую:

Код: Выделить всё

begin authenticators

auth_login:
driver = plaintext
public_name= LOGIN
server_prompts = "Username:: : Password::"
server_condition="${lookup ldap{user=uid=$1,ou=users,dc=artpaint,dc=spb,dc=ru pass=$2 ldap://localhost/ou=users,dc=artpaint,dc=spb,dc=ru?uid?sub?(uid=$1)}{yes}fail}"
server_set_id=$1
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

opt1k
лейтенант
Сообщения: 966
Зарегистрирован: 2007-12-05 9:45:18
Откуда: Mytischi

Re: exim + ldap пара проблем

Непрочитанное сообщение opt1k » 2009-05-25 13:45:01

вобщем косяк где-то тут:

Код: Выделить всё

 driver = plaintext
  public_name = PLAIN
  server_condition = ${lookup ldapdn{LDAP_AUTH \
                        ldap:///ou=exim,dc=tst,dc=ru??sub?(& \
                        (accountStatus=active)(mail=${quote_ldap:$2}) \
                        (clearPassword=${quote_ldap:$3}))}{yes}{no}}
  server_prompts = :
  server_set_id = $2


auth_login:
  driver = plaintext
  public_name = LOGIN
  server_condition = ${lookup ldapdn{LDAP_AUTH \
                        ldap:///ou=exim,dc=tst,dc=ru??sub? \
                        (&(accountStatus=active)(mail=${quote_ldap:$1}) \
                        (clearPassword=${quote_ldap:$2}))}{yes}{no}}
  server_prompts = Username:: : Password::
  server_set_id = $1
не пойму я смысла этих запросов... в инете видел способ как сделать с авторизацией по пользователю, но не катит для меня. Мне нужно именно использовать поисковый запрос, а он не понятно как работает и документации нету ни---я.

opt1k
лейтенант
Сообщения: 966
Зарегистрирован: 2007-12-05 9:45:18
Откуда: Mytischi

Re: exim + ldap пара проблем

Непрочитанное сообщение opt1k » 2009-05-25 13:51:04

не понимаю я запроса (
вобщем у меня есть пользователь exim с паролем 123, который может читать атрибуты в лдапе.
есть объект класса MailAccount, у которого есть атрибут mail в котором хранится мыло. Этот объект лежит в ou=tst.ru,ou=exim,dc=tst,dc=ru
Ещё у этого объекта есть поле cpass где лежит отрытый пароль.

Вот, подскажите как будет выглядеть server_condition в моём случае.

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

Re: exim + ldap пара проблем

Непрочитанное сообщение f0s » 2009-05-25 13:56:15

opt1k писал(а):не понимаю я запроса (
вобщем у меня есть пользователь exim с паролем 123, который может читать атрибуты в лдапе.
есть объект класса MailAccount, у которого есть атрибут mail в котором хранится мыло. Этот объект лежит в ou=tst.ru,ou=exim,dc=tst,dc=ru
Ещё у этого объекта есть поле cpass где лежит отрытый пароль.

Вот, подскажите как будет выглядеть server_condition в моём случае.
ясно.. у меян запрос на слуячай, когда каждому юхзеру, который в ou=users, присвоено значение mail=с даресом почты, а пароль берется ткакой же, как у юзера.. а ну, еще схема в ладп соотсветвующая от dbmail-а прикручена
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

opt1k
лейтенант
Сообщения: 966
Зарегистрирован: 2007-12-05 9:45:18
Откуда: Mytischi

Re: exim + ldap пара проблем

Непрочитанное сообщение opt1k » 2009-05-25 14:15:33

что посоветуете, модифицировать схему? или всё же запрос ковырять?

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: exim + ldap пара проблем

Непрочитанное сообщение princeps » 2009-05-25 14:31:48

мне кажется вариант со схемой правильней. смысл разводить кучу записей в ldap, разве он не для того, чтоб хранить все нужные данные в одном месте?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

Re: exim + ldap пара проблем

Непрочитанное сообщение f0s » 2009-05-25 14:35:22

opt1k писал(а):что посоветуете, модифицировать схему? или всё же запрос ковырять?
модифицируй схему. лдап - сощздан для удобвства.. зачем плодить дубли.. так завел нового юезра, пропсиал ему значение mail, и счиатй почта у него работает.. пароль такой же.. а тут, зачем-то еще один контейнер заводить.. да и пароль в открытом виде хранить.. жуть :)
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

opt1k
лейтенант
Сообщения: 966
Зарегистрирован: 2007-12-05 9:45:18
Откуда: Mytischi

Re: exim + ldap пара проблем

Непрочитанное сообщение opt1k » 2009-05-25 20:58:53

а смысл на самом деле есть. Например, где хранить алиасы? Или как модифицировать существующую схему для хранения алиасов?

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: exim + ldap пара проблем

Непрочитанное сообщение princeps » 2009-05-26 8:04:29

там же и хранить. Я бы использовал имя входа пользователя как локальную часть, а поле mail для хранения алиасов.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

Re: exim + ldap пара проблем

Непрочитанное сообщение f0s » 2009-05-26 12:20:38

opt1k писал(а):а смысл на самом деле есть. Например, где хранить алиасы? Или как модифицировать существующую схему для хранения алиасов?
у меня это поле mailAlternateAddress

схема взята от dbmail
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

Re: exim + ldap пара проблем

Непрочитанное сообщение f0s » 2009-05-26 12:21:11

princeps писал(а):там же и хранить. Я бы использовал имя входа пользователя как локальную часть, а поле mail для хранения алиасов.
это не всегда удобно
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: exim + ldap пара проблем

Непрочитанное сообщение princeps » 2009-05-26 12:33:00

Почему?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

Re: exim + ldap пара проблем

Непрочитанное сообщение f0s » 2009-05-26 12:44:22

princeps писал(а):Почему?
у меня есть пользователь ivanov, а почта у него должна быть marketing@..., а не ivanov@... fи есть пользователь ivanov_ip у него как раз должен быть адрес ivanov@....
вообщем неудобно.. проще взять схему от дбмейл, и в чкач-ве альяса юзать то, о чем я писал выше
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: exim + ldap пара проблем

Непрочитанное сообщение princeps » 2009-05-26 12:56:04

ну, в принципе, логика есть. Я делаю по примеру exchange, он берет локальную часть из имени входа
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

opt1k
лейтенант
Сообщения: 966
Зарегистрирован: 2007-12-05 9:45:18
Откуда: Mytischi

Re: exim + ldap пара проблем

Непрочитанное сообщение opt1k » 2009-05-26 18:40:40

дайте сабжевую схему от дбмаил, а то искать ломает, спасибо.

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

Re: exim + ldap пара проблем

Непрочитанное сообщение f0s » 2009-05-27 8:34:02

вот
Вложения
dbmail.tgz
(186 байт) 10 скачиваний
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]