Проблемы с аутентификацией пользователей АД

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
blade
проходил мимо
Сообщения: 2
Зарегистрирован: 2008-02-26 21:43:51

Проблемы с аутентификацией пользователей АД

Непрочитанное сообщение blade » 2009-02-10 18:39:43

Добрый день всем.

Необходим свежий взгляд на проблему. Есть сервер АД и почтовик exim, который авторизует через АД пользователей.
имя юзера = mail атрибут в АД
пароль = пароль юзера в АД


используются макросы

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

LDAP_AD_BINDDN =${quote_ldap:CN=exim,CN=Users,****}
LDAP_AD_PASS =***
LDAP_AD_BASE =****
LDAP_AD_RCPT =user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///LDAP_AD_BASE?mail?sub?\
(&\
    (|\
    (objectclass=user)(objectclass=person)\
    )\
    (!(userAccountControl:1.2.840.113556.1.4.803:=2))\
    (mail=${quote_ldap:$local_part}@${quote_ldap:$domain})\
)
секция аутентификации

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

plain:
  driver = plaintext
  public_name = PLAIN
  server_condition = ${if ldapauth {user=${quote_ldap:${lookup \
ldapdn {user=LDAP_AD_BINDDN pass=LDAP_AD_PASS ldap:///LDAP_AD_BASE??sub?\
(&(objectclass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(mail=${quote_ldap:$auth2}@${quote_ldap:$domain}))}}} \
pass=${quote_ldap:$auth3} connect=5 ldap:///}{yes}{no}}
  server_prompts = :
  server_set_id = $2

login:
  driver = plaintext
  public_name = LOGIN
  server_condition = ${if ldapauth {user=${quote_ldap:${lookup \
ldapdn {user=LDAP_AD_BINDDN pass=LDAP_AD_PASS ldap:///LDAP_AD_BASE??sub?\
(&(objectclass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(mail=${quote_ldap:$auth1}@${quote_ldap:$domain}))}}} \
pass=${quote_ldap:$auth2} connect=5 ldap:///}{yes}{no}}
  server_prompts = Username:: : Password::
  server_set_id = $1
при проверке на раскрытие строк /usr/sbin/exim -be происходит странная (для меня) вещь
если возвращается пустой DN (нет юзера с таким e-mail) то аутентификация проходит на ура с любым паролем.
Может кто натолкнет на правильное движение мыслей?

Хостинговая компания 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/

blade
проходил мимо
Сообщения: 2
Зарегистрирован: 2008-02-26 21:43:51

Re: Проблемы с аутентификацией пользователей АД

Непрочитанное сообщение blade » 2009-02-11 16:17:00

Подумав немного, изменил запрос и все заработало

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

${if ldapauth {user=${quote_ldap:${lookup ldapdn {user="cn=exim,cn=users,dc=***" pass=**** ldap:///dc=****??sub?(&(objectclass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(mail=test@***))}{$value}fail}} pass=*** connect=5 ldap:///}{yes}{no}}
Данный запрос ищет DN-юзера в АД и возвращает его, либо fail.

flot
рядовой
Сообщения: 26
Зарегистрирован: 2009-02-14 9:17:16

Re: Проблемы с аутентификацией пользователей АД

Непрочитанное сообщение flot » 2009-02-25 19:21:10

А как подобное сделать в dovecot ?
Пока не могу понять...