The OpenNET Project / Index page

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

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

"Dovecot + AD + SASL"  +/
Сообщение от KobaLTD. email on 29-Июн-10, 15:41 
Собираюсь перевешиваю почтовик, собрал тестовую площадку и вот затык
дано
AD (Windows server 2008)
Dovecot

Собственно если АД не использует SASL то все работает .т.е.
>dovecot-ldap.conf

hosts = 192.168.0.2:389
dn = CN=dovecot,CN=Users,DC=domain,DC=local
dnpass=password
debug_level = 1
auth_bind = yes
ldap_version = 3
base = DC=domain,DC=local
user_attrs = mail=user, uid=Debina-exim, gid-Debian-exim
user_filter = (&(objectClass=person)(mail=%n@kobaltd.local))
pass_attrs = mail=user
pass_filter = (&(objectClass=person)(sAMAccountName=%u))

все замечательно работает
но
включаем в 2008 в AD sasl опции GPO (LDAP server signing requirements = require signing, LDAP client signing requirements = require signing)

и меняем конфиг на

>dovecot-ldap.conf

hosts = 192.168.0.2:389
dn = CN=dovecot,CN=Users,DC=domain,DC=local
dnpass=password
sasl_bind = yes
sasl_mech = DIGEST-MD5
sasl_realm =
sasl_authz_id =
debug_level = 1
auth_bind = no
ldap_version = 3
base = DC=domain,DC=local
user_attrs = mail=user, uid=Debina-exim, gid-Debian-exim
user_filter = (&(objectClass=person)(mail=%n@kobaltd.local))
pass_attrs = mail=user
pass_filter = (&(objectClass=person)(sAMAccountName=%u))

не работает

>/var/log/mail.info

....
Jun 29 15:18:20 mail dovecot: auth(default): res_errno: 49, res_error: <8009030C: LdapErr: DSID-0C0904D1, comment: AcceptSecurityContext error, data 52e, v1772>, res_matched: <>
Jun 29 15:18:20 mail dovecot: auth(default): ldap_free_request (origid 4, msgid 4)
Jun 29 15:18:20 mail dovecot: auth(default): ldap_parse_sasl_bind_result
Jun 29 15:18:20 mail dovecot: auth(default): ldap_parse_result
Jun 29 15:18:20 mail dovecot: auth(default): ldap_msgfree
Jun 29 15:18:20 mail dovecot: auth(default): ldap_err2string
Jun 29 15:18:20 mail dovecot: auth(default): LDAP: binding failed (dn CN=dovecot,CN=Users,DC=domain,DC=local): Invalid credentials, 8009030C: LdapErr: DSID-0C0904D1, comment: AcceptSecurityContext error, data 52e, v1772

если поменять
dn = CN=dovecot,CN=Users,DC=domain,DC=local
на
dn = dovecot

во привязка (saslbind) срабатывает

>/var/log/mail.info

....
Jun 29 15:21:12 mail dovecot: auth(default): res_errno: 0, res_error: <>, res_matched: <>
Jun 29 15:21:12 mail dovecot: auth(default): ldap_free_request (origid 2, msgid 2)
Jun 29 15:21:12 mail dovecot: auth(default): ldap_parse_sasl_bind_result
Jun 29 15:21:12 mail dovecot: auth(default): ldap_parse_result
Jun 29 15:21:12 mail dovecot: auth(default): ldap_msgfree
Jun 29 15:21:12 mail dovecot: auth(default): sasl_client_step: 0
Jun 29 15:21:12 mail dovecot: auth(default): ldap_pvt_sasl_generic_install

однако пользователи перестают проходить авторизацию

.....
Jun 29 15:34:55 mail dovecot: auth(default): client in: AUTH#0111#011PLAIN#011service=pop3#011secured#011lip=192.168.0.92#011rip=192.168.0.60#011lport=110#011rport=43909#011resp=<hidden>
Jun 29 15:34:55 mail dovecot: auth(default): ldap(test,192.168.0.60): pass search: base=DC=domain,DC=local scope=subtree filter=(sAMAccountName=test) fields=mail
Jun 29 15:34:55 mail dovecot: auth(default): ldap_search
Jun 29 15:34:55 mail dovecot: auth(default): put_filter: "(sAMAccountName=test)"
Jun 29 15:34:55 mail dovecot: auth(default): put_filter: simple
Jun 29 15:34:55 mail dovecot: auth(default): put_simple_filter: "sAMAccountName=test"
Jun 29 15:34:55 mail dovecot: auth(default): ldap_send_initial_request
Jun 29 15:34:55 mail dovecot: auth(default): ldap_send_server_request
Jun 29 15:34:55 mail dovecot: auth(default): ldap_result ld 0x7fdb4dd4cff0 msgid -1
Jun 29 15:34:55 mail dovecot: auth(default): wait4msg ld 0x7fdb4dd4cff0 msgid -1 (timeout 0 usec)
Jun 29 15:34:55 mail dovecot: auth(default): wait4msg continue ld 0x7fdb4dd4cff0 msgid -1 all 1
Jun 29 15:34:55 mail dovecot: auth(default): ** ld 0x7fdb4dd4cff0 Connections:
Jun 29 15:34:55 mail dovecot: auth(default): * host: 192.168.0.2  port: 389  (default)
Jun 29 15:34:55 mail dovecot: auth(default):   refcnt: 2  status: Connected
Jun 29 15:34:55 mail dovecot: auth(default):   last used: Tue Jun 29 15:34:55 2010
Jun 29 15:34:55 mail dovecot: auth(default):
Jun 29 15:34:55 mail dovecot: auth(default):
Jun 29 15:34:55 mail dovecot: auth(default): ** ld 0x7fdb4dd4cff0 Outstanding Requests:
Jun 29 15:34:55 mail dovecot: auth(default):  * msgid 3,  origid 3, status InProgress
Jun 29 15:34:55 mail dovecot: auth(default):    outstanding referrals 0, parent count 0
Jun 29 15:34:55 mail dovecot: auth(default):   ld 0x7fdb4dd4cff0 request count 1 (abandoned 0)
Jun 29 15:34:55 mail dovecot: auth(default): ** ld 0x7fdb4dd4cff0 Response Queue:
Jun 29 15:34:55 mail dovecot: auth(default):    Empty
Jun 29 15:34:55 mail dovecot: auth(default):   ld 0x7fdb4dd4cff0 response count 0
Jun 29 15:34:55 mail dovecot: auth(default): ldap_chkResponseList ld 0x7fdb4dd4cff0 msgid -1 all 1
Jun 29 15:34:55 mail dovecot: auth(default): ldap_chkResponseList returns ld 0x7fdb4dd4cff0 NULL
Jun 29 15:34:55 mail dovecot: auth(default): ldap_int_select
Jun 29 15:34:55 mail dovecot: auth(default): read1msg: ld 0x7fdb4dd4cff0 msgid -1 all 1
Jun 29 15:34:55 mail dovecot: auth(default): read1msg: ld 0x7fdb4dd4cff0 msgid 3 message type search-entry
Jun 29 15:34:55 mail dovecot: auth(default): read1msg: ld 0x7fdb4dd4cff0 msgid 3 message type search-result
Jun 29 15:34:55 mail dovecot: auth(default): read1msg: ld 0x7fdb4dd4cff0 0 new referrals
Jun 29 15:34:55 mail dovecot: auth(default): read1msg:  mark request completed, ld 0x7fdb4dd4cff0 msgid 3
Jun 29 15:34:55 mail dovecot: auth(default): request done: ld 0x7fdb4dd4cff0 msgid 3
Jun 29 15:34:55 mail dovecot: auth(default): res_errno: 0, res_error: <>, res_matched: <>
Jun 29 15:34:55 mail dovecot: auth(default): ldap_free_request (origid 3, msgid 3)
Jun 29 15:34:55 mail dovecot: auth(default): adding response ld 0x7fdb4dd4cff0 msgid 3 type 101:
Jun 29 15:34:55 mail dovecot: auth(default): ldap_parse_result
Jun 29 15:34:55 mail dovecot: auth(default): ldap_first_attribute
Jun 29 15:34:55 mail dovecot: auth(default): ldap(test,192.168.0.60): no fields returned by the server
Jun 29 15:34:55 mail dovecot: auth(default): ldap(test,192.168.0.60): No password returned (and no nopassword)
Jun 29 15:34:55 mail dovecot: auth(default): ldap_msgfree
Jun 29 15:34:55 mail dovecot: auth(default): ldap_result ld 0x7fdb4dd4cff0 msgid -1
Jun 29 15:34:55 mail dovecot: auth(default): wait4msg ld 0x7fdb4dd4cff0 msgid -1 (timeout 0 usec)
Jun 29 15:34:55 mail dovecot: auth(default): wait4msg continue ld 0x7fdb4dd4cff0 msgid -1 all 1
Jun 29 15:34:55 mail dovecot: auth(default): ** ld 0x7fdb4dd4cff0 Connections:
Jun 29 15:34:55 mail dovecot: auth(default): * host: 192.168.0.2  port: 389  (default)
Jun 29 15:34:55 mail dovecot: auth(default):   refcnt: 1  status: Connected
Jun 29 15:34:55 mail dovecot: auth(default):   last used: Tue Jun 29 15:34:55 2010
Jun 29 15:34:55 mail dovecot: auth(default):
Jun 29 15:34:55 mail dovecot: auth(default):
Jun 29 15:34:55 mail dovecot: auth(default): ** ld 0x7fdb4dd4cff0 Outstanding Requests:
Jun 29 15:34:55 mail dovecot: auth(default):    Empty
Jun 29 15:34:55 mail dovecot: auth(default):   ld 0x7fdb4dd4cff0 request count 0 (abandoned 0)
Jun 29 15:34:55 mail dovecot: auth(default): ** ld 0x7fdb4dd4cff0 Response Queue:
Jun 29 15:34:55 mail dovecot: auth(default):    Empty
Jun 29 15:34:55 mail dovecot: auth(default):   ld 0x7fdb4dd4cff0 response count 0
Jun 29 15:34:55 mail dovecot: auth(default): ldap_chkResponseList ld 0x7fdb4dd4cff0 msgid -1 all 1
Jun 29 15:34:55 mail dovecot: auth(default): ldap_chkResponseList returns ld 0x7fdb4dd4cff0 NULL
Jun 29 15:34:55 mail dovecot: auth(default): ldap_int_select
Jun 29 15:34:56 mail dovecot: auth(default): new auth connection: pid=26873
Jun 29 15:34:57 mail dovecot: auth(default): client out: FAIL#0111#011user=test
Jun 29 15:35:02 mail dovecot: pop3-login: Aborted login (auth failed, 1 attempts): user=<test>, method=PLAIN, rip=192.168.0.60, lip=192.168.0.92, TLS

Собственно у кого работает такая связка? что я делаю не так?

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

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


1. "Dovecot + AD + SASL"  +/
Сообщение от tux2002 email(ok) on 30-Июн-10, 13:34 
http://www.ultimatewindowssecurity.com/wiki/WindowsSecurityS...

Requiring LDAP data-signing can break many LDAP clients although Windows servers and workstations should support it without problem. If you use any non-Windows LDAP clients such as AD integrated Mac systems or Linux systems or other applications that communicate with AD via LDAP be very careful about requiring data signing. Research and test. Some clients support it. For LDAP clients that don’t support signing you may consider LDAP over SSL. See ??? for more details.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Dovecot + AD + SASL"  +/
Сообщение от tux2002 email(ok) on 30-Июн-10, 13:39 
Вобщем, не обещают, что будет работать со всеми клиентами, предлагают работать через SSL. Я в свою очередь предлагаю Вам настраивать аутентификацию в dovecot например через pam_krb5 или pam_winbind. Pam_winbind проще настроить, pam_krb5 тоже неплохо, секьюрно, но требует замороки с созданием и экспортом на linux сервер дополнительных принципалов типа imap\hostname@DOMAIN, pop\hostname@DOMAIN (надо уточнять их наименования)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Dovecot + AD + SASL"  +/
Сообщение от KobaLTD. email on 30-Июн-10, 13:48 
>Вобщем, не обещают, что будет работать со всеми клиентами, предлагают работать через
>SSL. Я в свою очередь предлагаю Вам настраивать аутентификацию в dovecot
>например через pam_krb5 или pam_winbind. Pam_winbind проще настроить, pam_krb5 тоже неплохо,
>секьюрно, но требует замороки с созданием и экспортом на linux сервер
>дополнительных принципалов типа imap\hostname@DOMAIN, pop\hostname@DOMAIN (надо уточнять их наименования)

Жалко :( хотя странно binding то проходит - т.е. dovecot подключаеться в АД и видит всю инфу, - собственно само подключение по SASL работает - вопрос - почему не проходит авторизация пользователей :(, по логам у меня создаеться впечатление что проверка пользователей происходит не через bind а попыткой достать из АД пароль - правда может быть я и заблуждаюсь

.....
Jun 29 15:34:55 mail dovecot: auth(default): ldap(test,192.168.0.60): no fields returned by the server
Jun 29 15:34:55 mail dovecot: auth(default): ldap(test,192.168.0.60): No password returned (and no nopassword)
.....

можно ссылочку - по настройке вами предложенного варианта - почитаем - посмотрим.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Dovecot + AD + SASL"  +/
Сообщение от tux2002 email(ok) on 30-Июн-10, 14:09 
>можно ссылочку - по настройке вами предложенного варианта - почитаем - посмотрим.
>

У меня через winbind
Примерно
http://www.ccs.neu.edu/home/battista/articles/winbind/winbin...
http://www.ccs.neu.edu/home/battista/articles/winbind/domain...
http://www.ccs.neu.edu/home/battista/articles/winbind/pam.html
У меня
cat /etc/pam.d/imap:
auth sufficient pam_winbind.so
auth required pam_unix.so nullok_secure use_first_pass
account sufficient pam_winbind.so
account required pam_unix.so
session required pam_unix.so
session required pam_winbind.so
session required pam_mkhomedir.so umask=0066 skel=/etc/skel

cat /etc/pam.d/pop3:
auth sufficient pam_winbind.so
auth required pam_unix.so nullok_secure use_first_pass
account sufficient pam_winbind.so
account required pam_unix.so
session required pam_unix.so
session required pam_winbind.so
session required pam_mkhomedir.so umask=0066 skel=/etc/skel

cat /etc/dovecot.conf:
.............
auth default {
  mechanisms = plain login
  
  passdb pam {
    args = blocking=yes *
  }

  userdb passwd {
    args = blocking=yes
   }

  user = root
}
..................

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Dovecot + AD + SASL"  +/
Сообщение от tux2002 email(ok) on 30-Июн-10, 14:10 
Вот ещё важно
http://www.ccs.neu.edu/home/battista/articles/winbind/nsswit...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

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

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




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

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