exim+dovecot+ldap[ad win2008r2] timeout при аутентификации

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
npu3pak
мл. сержант
Сообщения: 121
Зарегистрирован: 2007-07-08 2:49:39

exim+dovecot+ldap[ad win2008r2] timeout при аутентификации

Непрочитанное сообщение npu3pak » 2013-09-27 16:53:52

Постоянный таймаут при подключении через веб-интерфейс roundcube и вообще любой MUA

/var/log/debug.log

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

Sep 27 17:35:18 post dovecot: auth: Debug: auth client connected (pid=67024)
Sep 27 17:35:18 post dovecot: auth: Debug: client in: AUTH      2       PLAIN   service=imap    secured session=sJyyjl3nFAB/AAAB        lip=127.0.0.1   rip=127.0.0.1   lport=143       rport=43284     resp=<hidden>
Sep 27 17:35:18 post dovecot: auth: Debug: ldap(npu3pak,127.0.0.1,<sJyyjl3nFAB/AAAB>): bind search: base=DC=domain,DC=local filter=(&(objectClass=user)(SamAccountName=npu3pak))
Sep 27 17:35:18 post dovecot: auth: Debug: ldap(npu3pak,127.0.0.1,<sJyyjl3nFAB/AAAB>): result: sAMAccountName=npu3pak
Sep 27 17:38:18 post dovecot: auth: Debug: client in: CANCEL    2
/var/log/maillog

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

Sep 27 17:37:48 post dovecot: auth: Error: PLAIN(npu3pak,127.0.0.1,<sJyyjl3nFAB/AAAB>): Request 67024.2 timeouted after 150 secs, state=1
Sep 27 17:38:18 post dovecot: imap-login: Disconnected: Inactivity during authentication (disconnected while authenticating, waited 180 secs): user=<>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured, session=<sJyyjl3nFAB/AAAB>
где может быть косяк? где рыть?

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

# 2.1.10: /usr/local/etc/dovecot/dovecot.conf
# OS: FreeBSD 9.1-RELEASE-p7 amd64
auth_mechanisms = plain login
auth_username_format = %Ln
disable_plaintext_auth = no
mail_debug = yes
auth_debug = yes
auth_verbose = yes
first_valid_gid = 26
first_valid_uid = 26
last_valid_gid = 26
last_valid_uid = 26
mail_location = maildir:%h
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
passdb {
  args = /usr/local/etc/dovecot/dovecot-ldap.conf
  driver = ldap
}
plugin {
  autocreate = Trash
  autocreate2 = Junk
  autocreate3 = Sent
  autocreate4 = Drafts
  autosubscribe = Trash
  autosubscribe2 = Junk
  autosubscribe3 = Sent
  autosubscribe4 = Drafts
  sieve = ~/.dovecot.sieve
  sieve_before = /usr/local/etc/exim/filters/sieve-filter
  sieve_dir = ~/sieve
  sieve_global_dir = /usr/local/etc/exim/filters/
  sieve_global_path = /usr/local/etc/exim/filters/sieve-filter
}
protocols = imap sieve
service auth {
  unix_listener auth-client {
    group = mail
    mode = 0660
    user = mailnull
  }
  unix_listener auth-master {
    group = mail
    mode = 0660
    user = mailnull
  }
  user = root
}

service imap-login {
        service_count = 0
        process_min_avail = 10
        process_limit = 30
        vsz_limit = 64M
}
userdb {
  args = /usr/local/etc/dovecot/dovecot-ldap.conf
  driver = ldap
}
protocol imap {
  imap_client_workarounds = delay-newmail tb-extra-mailbox-sep
  mail_plugin_dir = /usr/local/lib/dovecot
  mail_plugins = autocreate
}
protocol lda {
  info_log_path = /var/log/dovecot/dovecot-deliver.log
  log_path = /var/log/dovecot/dovecot-deliver.log
  mail_plugin_dir = /usr/local/lib/dovecot
  mail_plugins = sieve
  syslog_facility = mail

egrep -v '(^#|^$)' /usr/local/etc/dovecot/dovecot-ldap.conf

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

hosts = 10.0.2.118:389
dn = unixAU@domain.local
dnpass = LdaP,AutH
auth_bind = yes
base = DC=domain,DC=local
scope = subtree
user_filter = (&(objectClass=user)(SamAccountName=%u))
pass_attrs = SamAccountName=user,clearPassword=password
pass_filter = (&(objectClass=user)(SamAccountName=%u))
iterate_filter = (objectClass=user)
не спеши, а то успеешь.

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

moury
сержант
Сообщения: 249
Зарегистрирован: 2009-02-06 23:02:40
Откуда: Москва
Контактная информация:

Re: exim+dovecot+ldap[ad win2008r2] timeout при аутентификац

Непрочитанное сообщение moury » 2013-09-28 1:23:59

А user_attrs какой? Как dovecot узнает uid, gid и home?

Кроме того, если использовать ldap только для авторизации, может, иногда имеет смысл ставить userdb static.
Сисадмин - вождь апачей

npu3pak
мл. сержант
Сообщения: 121
Зарегистрирован: 2007-07-08 2:49:39

Re: exim+dovecot+ldap[ad win2008r2] timeout при аутентификац

Непрочитанное сообщение npu3pak » 2013-09-30 10:55:20

напихал в user_attrs uid,gid и home, однако безрезультатно. Вроде как строчки в dovecot.conf

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

mail_home = /var/mail/%d/%n
mail_location = Maildir:~/Mail
должны рассказать ему про home юзера, а значения из user_attrs вроде как оверрайдят эти переменные, не?

А сейчас будет тупой вопрос про ldap аутентификацию. Суть такова: при запросе по ldap dovecot начинает перебирать сервера из ForestDNSZones.domain.local. При том, что там стоят два контроллера домена, остальные записи, похоже, "протухшие". И, судя по поведению dovecot, он не дожидается окончания перебора всех серверов и катапультируется с таймаутом. Поборет ли обновление зоны domain.local ситуацию, или собака порылась ещё где-то?
не спеши, а то успеешь.

moury
сержант
Сообщения: 249
Зарегистрирован: 2009-02-06 23:02:40
Откуда: Москва
Контактная информация:

Re: exim+dovecot+ldap[ad win2008r2] timeout при аутентификац

Непрочитанное сообщение moury » 2013-09-30 17:43:06

Я не готов ответить на Ваш вопрос надо разбираться. Однако из
Sep 27 17:35:18 post dovecot: auth: Debug: ldap(npu3pak,127.0.0.1,<sJyyjl3nFAB/AAAB>): result: sAMAccountName=npu3pak
я решил. что dovecot до ldap-сервера достучался. И записи "ldap-сервер недоступен" - тоже нет.
Значит, проблема - в запросе.
При том, что там стоят два контроллера домена, остальные записи, похоже, "протухшие". ... Поборет ли обновление зоны domain.local ситуацию, или собака порылась ещё где-то?
Я не понимаю, как можно держать зону/базу неактуальной. Может привести к "наведенным" ошибкам.
Сисадмин - вождь апачей

npu3pak
мл. сержант
Сообщения: 121
Зарегистрирован: 2007-07-08 2:49:39

Re: exim+dovecot+ldap[ad win2008r2] timeout при аутентификац

Непрочитанное сообщение npu3pak » 2013-10-30 18:06:48

сломал окончательно голову. Что тут происходит? Куда смотреть и чего крутить?

maillog

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

Oct 30 18:52:10 post dovecot: imap-login: Disconnected: Shutting down (disconnected while finishing login, waited 82 secs): user=<npu3pak>, method=PLAIN, rip=10.0.10.11, lip=10.0.10.11, secured, session=<7eJvdfbp3QAKAAoL>
Oct 30 18:52:10 post dovecot: imap: Error: Login client disconnected too early
Oct 30 18:52:10 post dovecot: imap: Error: Internal auth failure (client-pid=90765 client-id=1)
Oct 30 18:52:10 post dovecot: auth: ldap(npu3pak,10.0.10.11,<7eJvdfbp3QAKAAoL>): Shutting down
Oct 30 18:53:35 post dovecot: imap-login: Error: master(imap): Auth request timed out (received 0/12 bytes)
Oct 30 18:53:35 post dovecot: imap-login: Internal login failure (pid=90807 id=1) (internal failure, 1 succesful auths): user=<npu3pak>, method=PLAIN, rip=10.0.10.11, lip=10.0.10.11, secured, session=<GIMMevbpNQAKAAoL>
Oct 30 18:53:35 post dovecot: imap: Error: Login client disconnected too early
Oct 30 18:54:40 post dovecot: imap: Error: Auth server request timed out after 155 secs (client-pid=90807 client-id=1)
debug.log

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

Oct 30 18:52:05 post dovecot: auth: Debug: Loading modules from directory: /usr/local/lib/dovecot/auth
Oct 30 18:52:05 post dovecot: auth: Debug: auth client connected (pid=90807)
Oct 30 18:52:05 post dovecot: auth: Debug: client in: AUTH      1       PLAIN   service=imap    secured session=GIMMevbpNQAKAAoL        lip=10.0.10.11  rip=10.0.10.11  lport=143 rport=46645     resp=<hidden>
Oct 30 18:52:05 post dovecot: auth: Debug: client passdb out: OK        1       user=npu3pak
Oct 30 18:52:05 post dovecot: auth: Debug: master in: REQUEST   1933312001      90807   1       0359562d312871bd54208eaa8583a98e
Oct 30 18:52:05 post dovecot: auth: Debug: ldap(npu3pak,10.0.10.11,<GIMMevbpNQAKAAoL>): user search: base=DC=domain,DC=local scope=subtree filter=(&(objectClass=user)(SamAccountName=npu3pak)(!(userAccountControl=514))) fields=SamAccountName
Oct 30 18:52:05 post dovecot: auth: Debug: ldap(npu3pak,10.0.10.11,<GIMMevbpNQAKAAoL>): result: sAMAccountName=npu3pak
Oct 30 18:52:10 post dovecot: auth: Debug: master userdb out: FAIL      2161246209
Oct 30 18:53:35 post dovecot: auth: Debug: client in: CANCEL    1
Oct 30 18:56:41 post dovecot: auth: Debug: master userdb out: FAIL      1933312001
запросы к базе вот таким образом успешно отрабатываются

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

ldapsearch -LLL -H ldap://servant.domain.local:389 -b 'dc=domain,dc=local' -D 'unixAU@domain.local' -w 'PASSWORD' '(sAMAccountName=npu3pak)'
не спеши, а то успеешь.

npu3pak
мл. сержант
Сообщения: 121
Зарегистрирован: 2007-07-08 2:49:39

Re: exim+dovecot+ldap[ad win2008r2] timeout при аутентификац

Непрочитанное сообщение npu3pak » 2013-11-01 8:00:13

решено выставлением userdb { driver = static }
не спеши, а то успеешь.