The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Настройка авторизации courier-imap"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Настройка авторизации courier-imap"  
Сообщение от SergSW email(ok) on 06-Июл-06, 07:06 
Интересная проблема возникла!
В начале поставил сервер (courier-imap) пока тестировал использовал обычый метод аутентификации, всё работало!!!
Потом перешел на MD5-CRAM всё ок было.
Сейчас пытаюсь свести чтоб и то и то работало, не получается!
Обычная аутентифиация проваливается (Пишет не верный логин), а шифрованый с теми же параметрами работат, какие варианты только не пробовал для POP3AUTH и POP3AUTH_ORIG: 'LOGIN','PLAIN','CRAM-MD5' (все возможные сосетания) - результат один и тотже будто он эти параметры и не смотрит, аналогично для POP3-ssl,IMAP,IMAP-ssl,ESMTP,ESMTP-ssl.
Как лечить???
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

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


1. "Настройка авторизации courier-imap"  
Сообщение от Xela (ok) on 06-Июл-06, 12:10 
POP3AUTH="LOGIN CRAM-MD5"

Где и в каком виде хранятся пароли?

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

2. "Настройка авторизации courier-imap"  
Сообщение от SergSW email(ok) on 06-Июл-06, 12:14 
>POP3AUTH="LOGIN CRAM-MD5"
>
>Где и в каком виде хранятся пароли?


В MySql
В одном поле не шифрованые пароли, в отдельном хеши

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

8. "Настройка авторизации courier-imap"  
Сообщение от Xela (ok) on 06-Июл-06, 13:56 
>>POP3AUTH="LOGIN CRAM-MD5"
>>
>>Где и в каком виде хранятся пароли?
>
>
>В MySql
>В одном поле не шифрованые пароли, в отдельном хеши

Может у вас не точно указаны вот эти параметры в authmysqlrc(authdaemon)

#MYSQL_CRYPT_PWFIELD    crypt
#MYSQL_CLEAR_PWFIELD     passwd

Или быть может, вы просто забыли рестартануть authdaemon после внесения изменений в конфигурацию?

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

9. "Настройка авторизации courier-imap"  
Сообщение от SergSW email(ok) on 06-Июл-06, 14:03 
>>>POP3AUTH="LOGIN CRAM-MD5"
>>>
>>>Где и в каком виде хранятся пароли?
>>
>>
>>В MySql
>>В одном поле не шифрованые пароли, в отдельном хеши
>
>Может у вас не точно указаны вот эти параметры в authmysqlrc(authdaemon)
>
>#MYSQL_CRYPT_PWFIELD    crypt
>#MYSQL_CLEAR_PWFIELD     passwd


Наврядли, включил кроме этого логирование на MySql SQL скрипты правильно отрабатывают,
более того 1 в 1 выполнял из вручную, мускул правильно возвращает, и хешь и открытый пароль
Пробовал и через MYSQL_SELECT_CAUSE сам этот SELECT написать, тоже самое записи возврщает, но работает только с MD5

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

3. "Настройка авторизации courier-imap"  
Сообщение от SergSW email(ok) on 06-Июл-06, 12:16 
>POP3AUTH="LOGIN CRAM-MD5"
>
>Где и в каком виде хранятся пароли?

Увы но
POP3AUTH="LOGIN CRAM-MD5"
не прокатило!!!

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

4. "Настройка авторизации courier-imap"  
Сообщение от LinaS email(ok) on 06-Июл-06, 13:12 
>>POP3AUTH="LOGIN CRAM-MD5"
>>
>>Где и в каком виде хранятся пароли?
>
>Увы но
>POP3AUTH="LOGIN CRAM-MD5"
>не прокатило!!!

а в логи не ругается как-нибудь?

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

5. "Настройка авторизации courier-imap"  
Сообщение от SergSW email(ok) on 06-Июл-06, 13:19 
>>>POP3AUTH="LOGIN CRAM-MD5"
>>>
>>>Где и в каком виде хранятся пароли?
>>
>>Увы но
>>POP3AUTH="LOGIN CRAM-MD5"
>>не прокатило!!!
>
>а в логи не ругается как-нибудь?


Запустил уже POP3D с параметром DEBUG_LOGIN=2
Проверяю по логам и вот что вижу
Jul  6 15:09:21 mx courierpop3login: LOGIN: DEBUG: ip=[::ffff:192.168.4.202], command=USER
Jul  6 15:09:21 mx courierpop3login: LOGIN: DEBUG: ip=[::ffff:192.168.4.202], command=PASS
Jul  6 15:09:21 mx courierpop3login: LOGIN: DEBUG: ip=[::ffff:192.168.4.202], username=test@domen.ru
Jul  6 15:09:21 mx courierpop3login: LOGIN: DEBUG: ip=[::ffff:192.168.4.202], password=***
Jul  6 15:09:26 mx courierpop3login: LOGIN FAILED, ip=[::ffff:192.168.4.202]

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

6. "Настройка авторизации courier-imap"  
Сообщение от SergSW email(ok) on 06-Июл-06, 13:21 
>>>POP3AUTH="LOGIN CRAM-MD5"
>>>
>>>Где и в каком виде хранятся пароли?
>>
>>Увы но
>>POP3AUTH="LOGIN CRAM-MD5"
>>не прокатило!!!
>
>а в логи не ругается как-нибудь?


В случае с MD5 всё ок (для POP3 таже картина)
Jul  6 15:19:25 mx pop3d-ssl: LOGIN: DEBUG: ip=[::ffff:192.168.4.202], command=AUTH
Jul  6 15:19:25 mx pop3d-ssl: LOGIN, user=test@domain.ru, ip=[::ffff:192.168.4.202]
Jul  6 15:19:25 mx pop3d-ssl: LOGOUT, user=test@domain.ru, ip=[::ffff:192.168.4.202], top=0, retr=0, time=0

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

7. "Настройка авторизации courier-imap"  
Сообщение от SergSW email(ok) on 06-Июл-06, 13:41 
>>>>POP3AUTH="LOGIN CRAM-MD5"
>>>>
>>>>Где и в каком виде хранятся пароли?
>>>
>>>Увы но
>>>POP3AUTH="LOGIN CRAM-MD5"
>>>не прокатило!!!
>>
>>а в логи не ругается как-нибудь?
>
>
>В случае с MD5 всё ок (для POP3 таже картина)
>Jul  6 15:19:25 mx pop3d-ssl: LOGIN: DEBUG: ip=[::ffff:192.168.4.202], command=AUTH
>Jul  6 15:19:25 mx pop3d-ssl: LOGIN, user=test@domain.ru, ip=[::ffff:192.168.4.202]
>Jul  6 15:19:25 mx pop3d-ssl: LOGOUT, user=test@domain.ru, ip=[::ffff:192.168.4.202], top=0, retr=0, time=0
>
Кроме всего прочего не слушается DEBUG_LOGIN в модуле authdaemon
Дистрибутив courier-0.47-4sarge5 (OS Debian)

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

10. "Настройка авторизации courier-imap"  
Сообщение от SergSW email(ok) on 06-Июл-06, 16:05 
>>>>>POP3AUTH="LOGIN CRAM-MD5"
>>>>>
>>>>>Где и в каком виде хранятся пароли?
>>>>
>>>>Увы но
>>>>POP3AUTH="LOGIN CRAM-MD5"
>>>>не прокатило!!!
>>>
>>>а в логи не ругается как-нибудь?
>>
>>
>>В случае с MD5 всё ок (для POP3 таже картина)
>>Jul  6 15:19:25 mx pop3d-ssl: LOGIN: DEBUG: ip=[::ffff:192.168.4.202], command=AUTH
>>Jul  6 15:19:25 mx pop3d-ssl: LOGIN, user=test@domain.ru, ip=[::ffff:192.168.4.202]
>>Jul  6 15:19:25 mx pop3d-ssl: LOGOUT, user=test@domain.ru, ip=[::ffff:192.168.4.202], top=0, retr=0, time=0
>>
>Кроме всего прочего не слушается DEBUG_LOGIN в модуле authdaemon
>Дистрибутив courier-0.47-4sarge5 (OS Debian)


Вчём трабл сам по себе нашел!!!
Оказывается он(authmysql) при любом методе аутентификации брал шифрованый хеш!!!
и его сравнивал с открытым паролем!!!
Но повторюсь в настройках модуля прописаны коректно, почему так происходит понять не могу!!!
Как лечить тоже!!!
Вопрос остаётся открытым!!!

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

11. "Настройка авторизации courier-imap"  
Сообщение от SergSW email(ok) on 07-Июл-06, 08:56 
>>>>>>POP3AUTH="LOGIN CRAM-MD5"
>>>>>>
>>>>>>Где и в каком виде хранятся пароли?
>>>>>
>>>>>Увы но
>>>>>POP3AUTH="LOGIN CRAM-MD5"
>>>>>не прокатило!!!
>>>>
>>>>а в логи не ругается как-нибудь?
>>>
>>>
>>>В случае с MD5 всё ок (для POP3 таже картина)
>>>Jul  6 15:19:25 mx pop3d-ssl: LOGIN: DEBUG: ip=[::ffff:192.168.4.202], command=AUTH
>>>Jul  6 15:19:25 mx pop3d-ssl: LOGIN, user=test@domain.ru, ip=[::ffff:192.168.4.202]
>>>Jul  6 15:19:25 mx pop3d-ssl: LOGOUT, user=test@domain.ru, ip=[::ffff:192.168.4.202], top=0, retr=0, time=0
>>>
>>Кроме всего прочего не слушается DEBUG_LOGIN в модуле authdaemon
>>Дистрибутив courier-0.47-4sarge5 (OS Debian)
>
>
>Вчём трабл сам по себе нашел!!!
>Оказывается он(authmysql) при любом методе аутентификации брал шифрованый хеш!!!
>и его сравнивал с открытым паролем!!!
>Но повторюсь в настройках модуля прописаны коректно, почему так происходит понять не
>могу!!!
>Как лечить тоже!!!
>Вопрос остаётся открытым!!!

Обновил до версии 0.53.2
Покрайней мерез стал писать логи аутентификации
вот что эта зараза выдаёт!!!
Jul  7 10:49:42 mx authdaemond: received auth request, service=pop3, authtype=login
Jul  7 10:49:42 mx authdaemond: authmysql: trying this module
Jul  7 10:49:42 mx authdaemond: SQL query: SELECT login, crypt, clear, uid, gid, home, maildir, quota, name, auxoptions FROM user WHERE login = "test@domain.ru"
Jul  7 10:49:42 mx authdaemond: supplied password '****' does not match encrypted password '378b243e220ca493'
Jul  7 10:49:42 mx authdaemond: authmysql: REJECT - try next module
Jul  7 10:49:42 mx authdaemond: FAIL, all modules rejected
Подскажите!!!
Почему он с зашифрованным паролем сравнивает!!!???
Может подскажет кто??? Может какие мысли есть!!!???

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

12. "Настройка авторизации courier-imap"  
Сообщение от Silent on 07-Июл-06, 11:35 
>>>>>>>POP3AUTH="LOGIN CRAM-MD5"
>>>>>>>
>>>>>>>Где и в каком виде хранятся пароли?
>>>>>>
>>>>>>Увы но
>>>>>>POP3AUTH="LOGIN CRAM-MD5"
>>>>>>не прокатило!!!
>>>>>
>>>>>а в логи не ругается как-нибудь?
>>>>
>>>>
>>>>В случае с MD5 всё ок (для POP3 таже картина)
>>>>Jul  6 15:19:25 mx pop3d-ssl: LOGIN: DEBUG: ip=[::ffff:192.168.4.202], command=AUTH
>>>>Jul  6 15:19:25 mx pop3d-ssl: LOGIN, user=test@domain.ru, ip=[::ffff:192.168.4.202]
>>>>Jul  6 15:19:25 mx pop3d-ssl: LOGOUT, user=test@domain.ru, ip=[::ffff:192.168.4.202], top=0, retr=0, time=0
>>>>
>>>Кроме всего прочего не слушается DEBUG_LOGIN в модуле authdaemon
>>>Дистрибутив courier-0.47-4sarge5 (OS Debian)
>>
>>
>>Вчём трабл сам по себе нашел!!!
>>Оказывается он(authmysql) при любом методе аутентификации брал шифрованый хеш!!!
>>и его сравнивал с открытым паролем!!!
>>Но повторюсь в настройках модуля прописаны коректно, почему так происходит понять не
>>могу!!!
>>Как лечить тоже!!!
>>Вопрос остаётся открытым!!!
>
>Обновил до версии 0.53.2
>Покрайней мерез стал писать логи аутентификации
>вот что эта зараза выдаёт!!!
>Jul  7 10:49:42 mx authdaemond: received auth request, service=pop3, authtype=login
>Jul  7 10:49:42 mx authdaemond: authmysql: trying this module
>Jul  7 10:49:42 mx authdaemond: SQL query: SELECT login, crypt, clear,
>uid, gid, home, maildir, quota, name, auxoptions FROM user WHERE login
>= "test@domain.ru"
>Jul  7 10:49:42 mx authdaemond: supplied password '****' does not match
>encrypted password '378b243e220ca493'
>Jul  7 10:49:42 mx authdaemond: authmysql: REJECT - try next module
>
>Jul  7 10:49:42 mx authdaemond: FAIL, all modules rejected
>Подскажите!!!
>Почему он с зашифрованным паролем сравнивает!!!???
>Может подскажет кто??? Может какие мысли есть!!!???

А что Вам мешает заглянуть в исходники courier-authlib-0.58?
Cмотрим файл authmysql.c, строка 65. Подправить ее под себя так тяжело?

diff -u authmysql.c.orig authmysql.c
--- authmysql.c.orig    Fri Jul  7 11:27:57 2006
+++ authmysql.c Fri Jul  7 11:34:01 2006
@@ -58,11 +58,14 @@
        {
                if (authcheckpassword(pass,authinfo->cryptpw))
                {
-                       errno=EPERM;
-                       return (-1);    /* User/Password not found. */
+                       if (!authinfo->clearpw) {
+                               errno=EPERM;
+                               return (-1);    /* User/Password not found. */
+                       }
                }
        }
-       else if (authinfo->clearpw)
+
+       if (authinfo->clearpw)
        {
                if (strcmp(pass, authinfo->clearpw))
                {


PS. Должно сработать, сам не проверял. ;-)))

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

13. "Настройка авторизации courier-imap"  
Сообщение от SergSW email(ok) on 07-Июл-06, 12:07 
>А что Вам мешает заглянуть в исходники courier-authlib-0.58?
>Cмотрим файл authmysql.c, строка 65. Подправить ее под себя так тяжело?
>
>diff -u authmysql.c.orig authmysql.c
>--- authmysql.c.orig    Fri Jul  7 11:27:57 2006
>+++ authmysql.c Fri Jul  7 11:34:01 2006
>@@ -58,11 +58,14 @@
>        {
>                if (authcheckpassword(pass,authinfo->cryptpw))
>            
>    {
>-            
>          
>errno=EPERM;
>-            
>          
>return (-1);    /* User/Password not found. */
>+                       if (!authinfo->clearpw) {
>+            
>          
>        errno=EPERM;
>+            
>          
>        return (-1);  
>  /* User/Password not found. */
>+            
>          
>}
>            
>    }
>        }
>-       else if (authinfo->clearpw)
>+
>+       if (authinfo->clearpw)
>        {
>                if (strcmp(pass, authinfo->clearpw))
>            
>    {
>
>
>PS. Должно сработать, сам не проверял. ;-)))

Чесно говоря решение не из изящьных!!!
Спасибо что натолкнули на мысль порыться в исходникак... многое прояснило!!!
Я то думал что они смотрят сверяют пасы в зависимости от типа аутентификации... окакзалось не так!!! ;-(((

Оказалось проще не пересобирать библиотеку а просто в конфиге убрать параметр
MYSQL_CRYPT_PWFIELD и во всех SELECT-ах поле crypt поменять на пустую строку.

Всем спасибо!!!

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

14. "Настройка авторизации courier-imap"  
Сообщение от Silent on 07-Июл-06, 13:41 
Насколько я понял по этим строкам исходника, если используется авторизация по хешу, то не используется авторизация по паролю. С патчем должно работать в обоих случаях, ИМХО нужно тестить. Удачи!  

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

15. "Настройка авторизации courier-imap"  
Сообщение от SergSW email(ok) on 07-Июл-06, 13:50 
>Насколько я понял по этим строкам исходника, если используется авторизация по хешу,
>то не используется авторизация по паролю. С патчем должно работать в
>обоих случаях, ИМХО нужно тестить. Удачи!

А теперь фишка если закоментарить MYSQL_CRYPT_PWFIELD и во всех SELECT-ах поле crypt поменять на пустую строку.
То все методы авторизации начинают работать...
Т.Е. если он не находит хеша, то он его в открытом виде берёт из базы и генерит хешь на лету и таким макаром всё работает...

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

16. "Настройка авторизации courier-imap"  
Сообщение от Silent on 07-Июл-06, 14:00 
>>Насколько я понял по этим строкам исходника, если используется авторизация по хешу,
>>то не используется авторизация по паролю. С патчем должно работать в
>>обоих случаях, ИМХО нужно тестить. Удачи!
>
>А теперь фишка если закоментарить MYSQL_CRYPT_PWFIELD и во всех SELECT-ах поле crypt
>поменять на пустую строку.
>То все методы авторизации начинают работать...
>Т.Е. если он не находит хеша, то он его в открытом виде
>берёт из базы и генерит хешь на лету и таким макаром
>всё работает...

Так задачу которую Вы решали, подразумевала использование как хеша в базе так и пароля. Или я не прав?

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

17. "Настройка авторизации courier-imap"  
Сообщение от SergSW email(ok) on 07-Июл-06, 14:04 
>>>Насколько я понял по этим строкам исходника, если используется авторизация по хешу,
>>>то не используется авторизация по паролю. С патчем должно работать в
>>>обоих случаях, ИМХО нужно тестить. Удачи!
>>
>>А теперь фишка если закоментарить MYSQL_CRYPT_PWFIELD и во всех SELECT-ах поле crypt
>>поменять на пустую строку.
>>То все методы авторизации начинают работать...
>>Т.Е. если он не находит хеша, то он его в открытом виде
>>берёт из базы и генерит хешь на лету и таким макаром
>>всё работает...
>
>Так задачу которую Вы решали, подразумевала использование как хеша в базе так
>и пароля. Или я не прав?


На самом деле мне надо было заставить работать почтовик и с открытым паролем и с хешем, не обязательно в базе при этом хранить хешь, т.к. для авторизации с открытым паролем и так необходим открытый пароль.

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

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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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