Dovecot и sasl аутентификация

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Alexey29
Сообщения: 88
ОС: F8

Dovecot и sasl аутентификация

Сообщение Alexey29 »

Настраиваю почтовый сервер на postfix+dovecot+mysql+postfixadmin+sasl по этому мануалу.
Почта отправляется, оказываетя в нужном ящике. С этим всё нормально.
Но ни как не могу её принять.
OE пишет: Не удается соединиться с сервером с использованием защищенного подтверждения пароля (SPA).
Bat тоже отказывается забирать.
В чём может быть проблема? Как хотябы временно отключить sasl для проверки?


Код:

cat /etc/dovecot/dovecot-sql.conf ## Dovecot configuration file # base_dir = /var/run/dovecot/ # # imap imaps pop3 pop3s (use imaps and pop3s if configured for SSL) protocols = imap pop3 # # Uncomment the ssl_listen statements and comment out listen if using SSL protocol imap { listen = *:143 # ssl_listen = *:993 } protocol pop3 { listen = *:110 # ssl_listen = *:995 } log_path = /var/log/dovecot info_log_path = /var/log/dovecot # log_timestamp = "%Y-%m-%d %H:%M:%S" syslog_facility = mail # # Uncomment these if using SSL #ssl_cert_file = /etc/ssl/mycompany/mailserver/mail-cert.pem #ssl_key_file = /etc/ssl/mycompany/mailserver/mail-key.pem #ssl_ca_file = /etc/ssl/mycompany/ca/mycompany.pem #ssl_verify_client_cert = yes #ssl_parameters_regenerate = 168 #verbose_ssl = no # # Where the mailboxes are located mail_location = maildir:/var/vmail/%d/%u # mail_extra_groups = mail mail_debug = no first_valid_uid = 150 last_valid_uid = 150 maildir_copy_with_hardlinks = yes # protocol imap { login_executable = /usr/libexec/dovecot/imap-login mail_executable = /usr/libexec/dovecot/imap imap_max_line_length = 65536 } protocol pop3 { login_executable = /usr/libexec/dovecot/pop3-login mail_executable = /usr/libexec/dovecot/pop3 pop3_uidl_format = %08Xu%08Xv } protocol lda { postmaster_address = postmaster@mail.kul sendmail_path = /usr/lib/sendmail auth_socket_path = /var/run/dovecot/auth-master } # auth_verbose = no auth_debug = no auth_debug_passwords = no # auth default { mechanisms = PLAIN passdb sql { args = /etc/dovecot/dovecot-sql.conf } userdb sql { args = /etc/dovecot/dovecot-sql.conf } user = nobody socket listen { master { path = /var/run/dovecot/auth-master mode = 0660 user = vmail group = mail } client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix } } # # If you want client certificates, use these lines # ssl_require_client_cert = yes # ssl_username_from_cert = yes }



Код:

driver = mysql cat /etc/dovecot/dovecot-sql.conf connect = host=localhost dbname=mail user=mail password=mail # The new name for MD5 is MD5-CRYPT so you might need to change this depending on version default_pass_scheme = PLAIN # Get the mailbox user_query = SELECT ‘/var/vmail/%d/%n’ as home, ‘maildir:/var/vmail/%d/%n’ as mail, 150 AS uid, 8 AS gid, concat(’dirsize:storage=’, quota) AS quota FROM mailbox WHERE username = ‘%u’ AND active = ‘1′ # Get the password password_query = SELECT username as user, password, ‘/var/vmail/%d/%n’ as userdb_home, ‘maildir:/var/vmail/%d/%n’ as userdb_mail, 150 as userdb_uid, 8 as userdb_gid FROM mailbox WHERE username = ‘%u’ AND active = ‘1′


Или может ссылку дадите на другой мануал.
Или кто даст рабочий конфиг dovecot-а.
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 887
ОС: gentoo

Re: Dovecot и sasl аутентификация

Сообщение vr13 »

уроме комментирования всего, что касается ssl, нужно явно указать ssl_disable = yes (умолчание - обратно)

кстати, а что dovecot пишет в логах на попытки авторизации клиента?
Спасибо сказали:
Alexey29
Сообщения: 88
ОС: F8

Re: Dovecot и sasl аутентификация

Сообщение Alexey29 »

Установил ssl_disable = yes
Ничего не изменилось.

Установил
info_log_path = /var/log/dovecot
log_path = /var/log/dovecot

При проверке почты пишет
dovecot: Apr 07 10:54:30 Info: auth(default): new auth connection: pid=22726
dovecot: Apr 07 10:54:53 Info: pop3-login: Disconnected: rip=10.29.11.13, lip=10.29.11.12


Если в клиенте убираю галку Безопасная проверка пароля SPA, то в логах идёт следующее

Код:

dovecot: Apr 07 10:52:57 Info: auth(default): client in: AUTH 1 PLAIN service=POP3 lip=10.29.11.12 rip=10.29.11.13 resp=AHRlc3QyADExMTE= dovecot: Apr 07 10:52:57 Info: auth-worker(default): sql(test2,10.29.11.13): query: SELECT username as user, password, '/var/vmail/mail.kul/test2' as userdb_home, 'maildir:/var/vmail/mail.kul/test2' as userdb_mail, 150 as userdb_uid, 12 as userdb_gid FROM mailbox WHERE username ='test2' AND active = '1' dovecot: Apr 07 10:52:57 Info: auth-worker(default): sql(test2,10.29.11.13): unknown user dovecot: Apr 07 10:52:58 Info: auth(default): new auth connection: pid=22723 dovecot: Apr 07 10:52:58 Info: auth(default): client out: FAIL 1 user=test2 dovecot: Apr 07 10:52:58 Info: pop3-login: Disconnected: user=<test2>, method=PLAIN, rip=10.29.11.13, lip=10.29.11.12 dovecot: Apr 07 10:54:30 Info: pop3-login: Disconnected: rip=10.29.11.13, lip=10.29.11.12


Пробовал использовать конфиг с сайта
www.lissyara.su/?id=1173
Та же история.

Может файле конфигурации dovecot-sql.conf

Код:

driver = mysql connect = host=localhost dbname=mail user=mail password=mail default_pass_scheme = PLAIN password_query = SELECT username as user, password, '/var/vmail/mail.kul/%n' as userdb_home, 'maildir:/var/vmail/mail.kul/%n' as userdb_mail, $mail, 150 as userdb_uid, 12 as userdb_gid FROM mailbox WHERE username ='%u' AND active = '1' user_query = SELECT '/var/vmail/mail.kul/%n' as home, 'maildir:/var/vmail/mail.kul/%n' as mail, 150 AS uid, 12 AS gid, concat('dirsize:storag=',quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1'


Может в систему какой модуль не установил.

И ещё вопрос немного не в тему.
Пробую настроить evolution. Почту он отправляет, но при приёме после ввода пароля, выскакивает окно Разблокирование брелока. Никакой пароль не подходит. Что это такое и где установить пароль? А то надоело бегать на соседнюю машину чтоб проверить почту.

----
немного поковырял.
Оказывается телнетом всё проходит.

Код:

# telnet mail.kul 110 Trying 10.29.11.12... Connected to mail.kul. Escape character is '^]'. +OK dovecot MUA ready user test2@mail.kul +OK pass 1111 +OK Logged in. list +OK 2 messages: 1 560 2 2650 . quit +OK Logging out.
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 887
ОС: gentoo

Re: Dovecot и sasl аутентификация

Сообщение vr13 »

Alexey29 писал(а):
07.04.2008 11:31
...
dovecot: Apr 07 10:52:57 Info: auth-worker(default): sql(test2,10.29.11.13): query: SELECT username as user, password, '/var/vmail/mail.kul/test2' as userdb_home, 'maildir:/var/vmail/mail.kul/test2' as userdb_mail, 150 as userdb_uid, 12 as userdb_gid FROM mailbox WHERE username ='test2' AND active = '1'
dovecot: Apr 07 10:52:57 Info: auth-worker(default): sql(test2,10.29.11.13): unknown user
...


а ведь он вам все верно говорит - см выделенное жирным :)

# telnet mail.kul 110
Trying 10.29.11.12...
Connected to mail.kul.
Escape character is '^]'.
+OK dovecot MUA ready
user test2@mail.kul
Спасибо сказали:
Alexey29
Сообщения: 88
ОС: F8

Re: Dovecot и sasl аутентификация

Сообщение Alexey29 »

Немного разобрался.
В настройке клиента указал test2@mail.kul.
В sql конфиге dovecot, username='%u' заменил на %n@%d.
После этого аккаунты совпали, но почему не проходило с %u непонятно.
Теперь встала другая проблема. Если в клиенте указать - Безопасная проверка пароля, то при проверке почты пишет - Не удалось соединиться с сервером с использованием защищённого подтверждения пароля (SPA).
А если эту галку снять, то ругается на несовпадение паролей, т.к. он передаётся в открытом виде, а в базе хранятся в закодированном.
Попробовал в базе указать явно, только после этого всё пошло.
Может незапущена какая служба, раз не хочет соединяться с безопасной проверкой пароля или какой строки в конфиге не хватает.
Спасибо сказали:
JonnyBekoff
Сообщения: 126
ОС: Kubuntu 9.10

Re: Dovecot и sasl аутентификация

Сообщение JonnyBekoff »

может saslauthd не запущен?
Спасибо сказали:
Alexey29
Сообщения: 88
ОС: F8

Re: Dovecot и sasl аутентификация

Сообщение Alexey29 »

Запущен.

Вот только точно не знаю что где ставить PLAIN, LOGIN, MD5-DIGEST или что другое.
Спасибо сказали:
JonnyBekoff
Сообщения: 126
ОС: Kubuntu 9.10

Re: Dovecot и sasl аутентификация

Сообщение JonnyBekoff »

Интересно, что в ссылке ,что вы указали и у вас в файле dovecot-sql.conf строка:
default_pass_scheme = ... отличается (в статье = MD5, а у вас почему-то =PLAIN )?
Спасибо сказали:
Alexey29
Сообщения: 88
ОС: F8

Re: Dovecot и sasl аутентификация

Сообщение Alexey29 »

Это уже эксперименты пошли.
С plain авторизация с открытым паролем проходит.
Уже совсем запутался что где указывать.
В dovecot.conf тоже есть указание plain или др.

Где бы почитать про эти методы, желательно на русском. И что правильно выставить.
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 887
ОС: gentoo

Re: Dovecot и sasl аутентификация

Сообщение vr13 »

если с паролем все нормально, попробуйте подстроиться под это (разница в данном случае - используется pam auth, это моя рабчая конфигурация)

Код:

syslog_facility = mail protocols = imaps ssl_listen = * disable_plaintext_auth = yes shutdown_clients = yes ssl_disable = no ssl_cert_file = /etc/ssl/dovecot/dovecot.pem ssl_key_file = /etc/ssl/dovecot/dovecot.key ssl_parameters_regenerate = 168 ssl_verify_client_cert = yes ssl_cipher_list = ALL:!LOW login_dir = /var/run/dovecot/login login_chroot = yes login_user = dovecot login_process_size = 32 login_process_per_connection = yes login_processes_count = 32 login_max_processes_count = 32 mail_location = maildir:~/.maildir namespace private { separator = / prefix = location = inbox = yes } mmap_disable = no mail_extra_groups = mail mail_debug = no first_valid_uid = 1000 last_valid_uid = 2000 max_mail_processes = 512 mail_process_size = 32 mail_max_keyword_length = 50 umask = 0077 mbox_read_locks = fcntl mbox_write_locks = dotlock fcntl mbox_dotlock_change_timeout = 120 protocol imap { imap_max_line_length = 65536 login_greeting_capability = yes } protocol lda { postmaster_address = postmaster@a-host.a-domain auth_socket_path = /var/run/dovecot/auth-master } auth_process_size = 32 auth_cache_size = 128 auth_cache_ttl = 3600 auth_username_chars = abcdefghijklmnopqrstuvwxyz auth_verbose = no auth_debug = no auth_debug_passwords = no auth default { mechanisms = plain login passdb pam { args = cache_key=%u dovecot } userdb passwd { } socket listen { client { path = /var/run/dovecot/auth-client mode = 0666 } } }


на всякий случай - dovecot сам умеет работать sasl аутентификатором, поэтому saslauthd не нужен
Спасибо сказали:
Alexey29
Сообщения: 88
ОС: F8

Re: Dovecot и sasl аутентификация

Сообщение Alexey29 »

Если не сложно то можно поподребнее как это сделать.
У меня нет дирректории /etc/ssl/
Плюс ещё надо где-то достать файлы
dovecot.pem
dovecot.key
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 887
ОС: gentoo

Re: Dovecot и sasl аутентификация

Сообщение vr13 »

директория - не проблема. можете создать :)
что касается файлов, то, чтобы не повторяться - поищите информацию в сети (есть и по русски) т.ч тут, на форуме про openssl. можно сделать самописный сетификат, а можно и приобрести у любого pki - за деньги разумеется
Спасибо сказали: