Проблема авторизации exim в AD Windows 2003

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
#stas
проходил мимо
Сообщения: 1
Зарегистрирован: 2012-04-20 11:18:44

Проблема авторизации exim в AD Windows 2003

Непрочитанное сообщение #stas » 2012-04-20 11:29:16

Здравствуйте форумчане!!!
Помогите пжлста, заплонировался переезд с эксченджа на опенсурс, настраивал вот по этой статье:
http://www.lissyara.su/articles/freebsd/mail/exim+ad/

Мне не понятно как происходит авторизация, вернее даже по каким критериям... :bn:
В винде домен domain.local почта @mydomain.ru
юзера exim завел в домене, и вот теперь кусок конфига dovecot-ldap.conf:

# Авторизоваться
#
auth_bind= yes

# Login
#
dn= CN=exim,DC=domain,DC=local

# Password
#
dnpass= 11111111

# Дерево в котором будет производиться поиск
#
base= CN=Users,DC=mydomain,DC=ru


блин не понятно какие параметры описывать, а в логах следущее:

Apr 20 08:19:21 dovecot: Warning: Killed with signal 15 (by pid=0 uid=0 code=)
Apr 20 08:19:23 auth(default): Error: LDAP: binding failed (dn CN=exim,DC=domain,DC=local): Invalid credentials, 80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 525, vece

Подскажите пожалуйста, в какую область рыть и копать :cry:

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

Аватара пользователя
KAS
рядовой
Сообщения: 27
Зарегистрирован: 2009-08-12 21:32:10
Откуда: Orenburg
Контактная информация:

Re: Проблема авторизации exim в AD Windows 2003

Непрочитанное сообщение KAS » 2012-05-10 10:37:12

Если тема еще актуальна, то я делал вот так:
В конфигурации exim у меня вот что написано:
Настройки подключения в серверу AD

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

# Адрес сервера LDAP по умолчанию (мой AD/DC):
ldap_default_servers = server.domain.local
# Учетная запись exim для возможность подключения к AD и поиску информации о пользователях
LDAP_BASE = user="CN=exim,CN=Users,DC=domain,DC=local" pass="password" ldap:///DC=domain,DC=local
Для доставки писем у каждого пользователя в профиле прописан адрес E-Mail (т.к. адрес может не совпадать логином):

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

# Осуществляет проверку в AD на наличие активного пользователя с таким адресом
ldapuser:
  driver                = accept
  condition             = ${if eq{} {${lookup ldap{LDAP_BASE?sAMAccountName?sub?\
                        (&(objectClass=top)(objectClass=organizationalPerson)\
                        (!(userAccountControl:1.2.840.113556.1.4.803:=2))\
                        (mail=${quote_ldap:$local_part@$domain})\
                        (objectClass=user)(objectClass=person))}{$value}}} {no}{yes}}
  transport             = ldap_delivery
Поясню пару строк из написанного выше:
Это какой-то хитрый способ проверки, что учетка пользователя не отключена (как нашел уже не помню):

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

(!(userAccountControl:1.2.840.113556.1.4.803:=2))
Проверка наличия пользователя с таким адресом получателя:

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

(mail=${quote_ldap:$local_part@$domain})
Ну собственно аутентификация пользователей в AD:

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

begin authenticators
auth_plain:
  driver                = plaintext
  public_name           = PLAIN
  server_condition      = ${if ldapauth{user=${quote_ldap_dn:${auth2}@domain.local} pass=${quote:$auth3} ldap:///}{yes}{no}}
  server_prompts        = :
  server_set_id         = $auth2
  server_advertise_condition = ${if def:tls_cipher}
auth_login:
  driver                = plaintext
  public_name           = LOGIN
  server_condition      = ${if ldapauth{user=${quote_ldap_dn:${auth1}@domain.local} pass=${quote:$auth2} ldap:///}{yes}{no}}
  server_prompts        = Username:: : Password::
  server_set_id         = $auth1
  server_advertise_condition = ${if def:tls_cipher}
Вот правда дальше у меня стоит courier-imap и authlib, вот конфиги:

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

[13:25][kas@mailserver:/home/kas]> sudo cat /usr/local/etc/authlib/authdaemonrc
authmodulelist="authldap"
authmodulelistorig="authldap"
daemons=5
authdaemonvar=/var/run/authdaemond
subsystem=mail
DEBUG_LOGIN=0
DEFAULTOPTIONS="wbnodsn=1"
LOGGEROPTS=""
[13:25][kas@mailserver:/home/kas]> sudo cat /usr/local/etc/authlib/authldaprc
LDAP_URI        ldap://server.domain.local
LDAP_PROTOCOL_VERSION   3
LDAP_BASEDN     ou=staff,dc=domain,dc=local
LDAP_BINDDN     cn=exim,cn=users,dc=domain,dc=local
LDAP_BINDPW     password
LDAP_TIMEOUT    5
LDAP_AUTHBIND   1
LDAP_MAIL       sAMAccountName
LDAP_FILTER     (objectClass=top)(objectClass=organizationalPerson)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(objectClass=user)(objectClass=person)
LDAP_GLOB_UID   mail
LDAP_GLOB_GID   mail
LDAP_HOMEDIR    mail
LDAP_MAILROOT   /mail/exim
LDAP_MAILDIR    ./
LDAP_DEFAULTDELIVERY    defaultDelivery
LDAP_FULLNAME           cn
LDAP_CLEARPW            clearPassword
LDAP_CRYPTPW            userPassword
LDAP_DEREF              never
LDAP_TLS                0
[13:25][kas@mailserver:/home/kas]> sudo cat /usr/local/etc/courier-imap/pop3d-ssl
SSLPORT=995
SSLADDRESS=192.168.1.1
SSLPIDFILE=/var/run/pop3d-ssl.pid
SSLLOGGEROPTS="-name=pop3d-ssl"
POP3DSSLSTART=YES
POP3_STARTTLS=YES
POP3_TLS_REQUIRED=1
COURIERTLS=/usr/local/bin/couriertls
#TLS_PROTOCOL="TLS_1:TLS1:SSL3"
TLS_PROTOCOL="SSL23"
TLS_STARTTLS_PROTOCOL=TLS1
TLS_KX_LIST=ALL
TLS_COMPRESSION=ALL
TLS_CERTS=X509
TLS_CERTFILE=/etc/ssl/mail_2011.pem
TLS_TRUSTCERTS=/etc/ssl/cert.pem
TLS_CACHEFILE=/usr/local/var/couriersslcache
TLS_CACHESIZE=524288
MAILDIRPATH=./
DEBUG_LOGIN=0
Вот как-то так.
Если хочешь, чтобы что-то было сделано хорошо - сделай это сам!