Postfix+Cyrus-SASL

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Postfix+Cyrus-SASL

Stans Sataa
Привет,

Никак не могу сконфигурировать связку Postfix+Cyrus-SASL на авторизацию
клиента через smtp.

Содержимое файла /usr/lib/sasl2/smtpd.conf
        pwcheck_method: auxprop
        mech_list: login plain

# saslpasswd2 -c -u stanstation.com -a smtpauth test
password: testpass

# sasldblistusers2
[hidden email]: cmusaslsecretOTP
[hidden email]: userPassword

Часть /etc/postfix/main.cf
        ..
        smtpd_sasl_auth_enable = yes
        smtp_sasl_security_options = noanonymous
        broken_sasl_auth_clients = yes
        smtpd_sasl_local_domain =
        smtpd_client_restrictions = permit_sasl_authenticated
        smtpd_sender_restrictions = permit_sasl_authenticated

На попытку авторизоваться выдаёт authentication failure:

$ telnet 192.168.1.1 25
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
220 router.oristans.net ESMTP Postfix
ehlo stanstation.com
250-router.oristans.net
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth plain
334
dGVzdAB0ZXN0AHRlc3RwYXNz
535 5.7.0 Error: authentication failed: authentication failure

В логах:
Feb 17 20:25:39 router postfix/smtpd[20248]: connect from
unknown[192.168.1.4]
Feb 17 20:26:48 router postfix/smtpd[20248]: warning: SASL
authentication failure: Could not open db
Feb 17 20:26:48 router postfix/smtpd[20248]: warning: SASL
authentication failure: Could not open db
Feb 17 20:26:48 router postfix/smtpd[20248]: warning: SASL
authentication failure: Password verification failed
Feb 17 20:26:48 router postfix/smtpd[20248]: warning:
unknown[192.168.1.4]: SASL plain authentication failed: authentication
failure

# ls -l sasldb*
lrwxr-xr-x  1 root      wheel     15 Feb 17 20:09 sasldb2 -> /etc/sasldb2.db
-rw-------  1 _postfix  wheel  16384 Feb 17 19:44 sasldb2.db

Есть мысли? Что я делаю не так?

ЗЫ: postfix установлен из портов с поддержкой mysql и sasl2, а
cyrus-sasl-2.1.22p1.tgz из паккеджей.

ЗЫ2: есть ли какой способ наложить запустить поддержку шифрованных
паролей  в cyrus-sasl - password_format: crypt, т.к. наложенние патча
cyrus-sasl-2.1.19-md5crypt.patch не привело к результатам, при
компиляции вываливаются *** Error code 1
/usr/bin/ld: cannot find -lcrypt
collect2: ld returned 1 exit status

--
Best regards,
 Stans                            gtalk: [hidden email]
       


Reply | Threaded
Open this post in threaded view
|

Re: Postfix+Cyrus-SASL

Anton Maksimenkov-2
> Никак не могу сконфигурировать связку Postfix+Cyrus-SASL на авторизацию
> клиента через smtp.

Cyrus-SASL замените на Dovecot и всё станет куда проще.
--
engineer
Reply | Threaded
Open this post in threaded view
|

Re[2]: Postfix+Cyrus-SASL

dmroot
Здравствуйте, engineer.



А вызывать sasldb2 пробовали???     Просто сначала обязательно нужно
создать /etc/sasldb2 командой sasldb2 -c

--
С уважением,
 Dmroot                          mailto:[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Postfix+Cyrus-SASL

Stans Sataa
In reply to this post by Stans Sataa
Друзья, не работает также авторизация postfix+sasl2 через демон
saslauthd. :(

# cat /usr/lib/sasl2/smtpd.conf

pwcheck_method: saslauthd

# ps -aux | grep sasl
root      4237  0.0  0.2   344   848 ??  Ss     3:50PM    0:00.04
saslauthd -a getpwent
root     24396  0.0  0.1   300   308 ??  S      3:50PM    0:00.00
saslauthd -a getpwent
root     12508  0.0  0.1   300   336 ??  S      3:50PM    0:00.00
saslauthd -a getpwent
root     25211  0.0  0.1   300   308 ??  S      3:50PM    0:00.00
saslauthd -a getpwent
root      9649  0.0  0.1   300   308 ??  S      3:50PM    0:00.00
saslauthd -a getpwent

Демон функционирует и подтверждает правильный пароль
# testsaslauthd -u test -p teStteSt -s smtpd
0: OK "Success."

И нет подтверждает если пароль ошибочный, всё ок.
# testsaslauthd -u test -p test -s smtpd
0: NO "authentication failed"

Часть /etc/postfix/main.cf
.
smtpd_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain =
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sender_restrictions = permit_sasl_authenticate

Проверяем с клиента:
stans@razor:~$ telnet 192.168.1.1 25
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
220 router.oristans.net ESMTP Postfix
ehlo stanstation.com
250-router.oristans.net
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-AUTH LOGIN PLAIN CRAM-MD5
250-AUTH=LOGIN PLAIN CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth plain
334
dGVzdAB0ZXN0AHRlU3R0ZVN0
535 5.7.8 Error: authentication failed: generic failure

# cat /var/log/maillog
.
Feb 18 16:02:27 router postfix/smtpd[242]: connect from unknown[192.168.1.4]
Feb 18 16:02:49 router postfix/smtpd[242]: warning: SASL authentication
failure: cannot connect to saslauthd server: No such file or directory
Feb 18 16:02:49 router postfix/smtpd[242]: warning: SASL authentication
failure: Password verification failed
Feb 18 16:02:49 router postfix/smtpd[242]: warning:
unknown[192.168.1.4]: SASL plain authentication failed: generic failure

Почему же postfix он не может приконнектиться к saslauthd server???
Проблема в нахождении сокета, правах или в chroot??

Stans I. пишет:

> Привет,
>
> Никак не могу сконфигурировать связку Postfix+Cyrus-SASL на авторизацию
> клиента через smtp.
>
> Содержимое файла /usr/lib/sasl2/smtpd.conf
> pwcheck_method: auxprop
> mech_list: login plain
>
> # saslpasswd2 -c -u stanstation.com -a smtpauth test
> password: testpass
>
> # sasldblistusers2
> [hidden email]: cmusaslsecretOTP
> [hidden email]: userPassword
>
> Часть /etc/postfix/main.cf
> ..
> smtpd_sasl_auth_enable = yes
> smtp_sasl_security_options = noanonymous
> broken_sasl_auth_clients = yes
> smtpd_sasl_local_domain =
> smtpd_client_restrictions = permit_sasl_authenticated
> smtpd_sender_restrictions = permit_sasl_authenticated
>
> На попытку авторизоваться выдаёт authentication failure:
>
> $ telnet 192.168.1.1 25
> Trying 192.168.1.1...
> Connected to 192.168.1.1.
> Escape character is '^]'.
> 220 router.oristans.net ESMTP Postfix
> ehlo stanstation.com
> 250-router.oristans.net
> 250-PIPELINING
> 250-SIZE 10240000
> 250-ETRN
> 250-AUTH PLAIN LOGIN
> 250-AUTH=PLAIN LOGIN
> 250-ENHANCEDSTATUSCODES
> 250-8BITMIME
> 250 DSN
> auth plain
> 334
> dGVzdAB0ZXN0AHRlc3RwYXNz
> 535 5.7.0 Error: authentication failed: authentication failure
>
> В логах:
> Feb 17 20:25:39 router postfix/smtpd[20248]: connect from
> unknown[192.168.1.4]
> Feb 17 20:26:48 router postfix/smtpd[20248]: warning: SASL
> authentication failure: Could not open db
> Feb 17 20:26:48 router postfix/smtpd[20248]: warning: SASL
> authentication failure: Could not open db
> Feb 17 20:26:48 router postfix/smtpd[20248]: warning: SASL
> authentication failure: Password verification failed
> Feb 17 20:26:48 router postfix/smtpd[20248]: warning:
> unknown[192.168.1.4]: SASL plain authentication failed: authentication
> failure
>
> # ls -l sasldb*
> lrwxr-xr-x  1 root      wheel     15 Feb 17 20:09 sasldb2 -> /etc/sasldb2.db
> -rw-------  1 _postfix  wheel  16384 Feb 17 19:44 sasldb2.db
>
> Есть мысли? Что я делаю не так?
>
> ЗЫ: postfix установлен из портов с поддержкой mysql и sasl2, а
> cyrus-sasl-2.1.22p1.tgz из паккеджей.
>
> ЗЫ2: есть ли какой способ наложить запустить поддержку шифрованных
> паролей  в cyrus-sasl - password_format: crypt, т.к. наложенние патча
> cyrus-sasl-2.1.19-md5crypt.patch не привело к результатам, при
> компиляции вываливаются *** Error code 1
> /usr/bin/ld: cannot find -lcrypt
> collect2: ld returned 1 exit status
>


--
Best regards,                     icq: 53530661
 Stans                            gtalk: [hidden email]
       


Reply | Threaded
Open this post in threaded view
|

Re: Postfix+Cyrus-SASL

Anton Maksimenkov-2
> failure: cannot connect to saslauthd server: No such file or directory
> Почему же postfix он не может приконнектиться к saslauthd server???
> Проблема в нахождении сокета, правах или в chroot??
Да. Именно в местонахождении сокета, в правах и в chroot (касательно postfix'а).
Я давно уже выкинул эту гадость (цирус). Но скажу по памяти - сокет
надо класть в chroot к постфиксу. И права постфиксу вроде отдать. И
кажется где-то надо указывать толи относительный путь, толи
воссоздавать /usr/lib/sasl2/. Чтобы и саслодемон и постфикс видели что
надо. И кого-то там надо делать симлинком. Вроде у постфикса реальный
должен лежать, а саслодемон может и по симлинку сходить.
Как-то так.
Самое весёлое начнётся когда захочешь приладить к этому MySQL. Вот там
да, ещё больше повеселиться можно. Но я таки доводил и это до рабочего
режима. Уже не помню как :-))))).

Зря ты игнорировал моё предложение с Dovecot'ом. Повторюсь, с ним всё
будет _намного_ проще.
Поэтому остальные тут даже и не отвечают уже про циррус.
--
engineer
Reply | Threaded
Open this post in threaded view
|

Re: Postfix+Cyrus-SASL

Anton Kvashin
In reply to this post by Stans Sataa
Stans I. пишет:
> Никак не могу сконфигурировать связку Postfix+Cyrus-SASL на авторизацию
> клиента через smtp.
>
> На попытку авторизоваться выдаёт authentication failure:
>
> Есть мысли? Что я делаю не так?

автор сетует на работу smtpd постфикса в chroot, и предлагает варианты:
http://www.opennet.ru/base/net/postfix_sasl_cyrus_mta.txt.html

> ЗЫ2: есть ли какой способ наложить запустить поддержку шифрованных
> паролей  в cyrus-sasl - password_format: crypt, т.к. наложенние патча
> cyrus-sasl-2.1.19-md5crypt.patch не привело к результатам, при
> компиляции вываливаются *** Error code 1
> /usr/bin/ld: cannot find -lcrypt
> collect2: ld returned 1 exit status

либу хочет.
нет уверенности, но libssl стоит?

--
Anton Kvashin


Reply | Threaded
Open this post in threaded view
|

Re: Postfix+Cyrus-SASL

Andrey N. Oktyabrski
In reply to this post by Anton Maksimenkov-2
engineer wrote:
>> failure: cannot connect to saslauthd server: No such file or directory
>> Почему же postfix он не может приконнектиться к saslauthd server???
>> Проблема в нахождении сокета, правах или в chroot??
> Да. Именно в местонахождении сокета, в правах и в chroot (касательно postfix'а).
> Я давно уже выкинул эту гадость (цирус).
Ну чо сразу гадось-то? Не нравится - не ешь, другим больше достанется
:-) Тем более, что проблема "в местонахождении сокета, в правах и в
chroot". Есть, кстати, вариант спрашивать его по tcp вместо сокета. Но
лучше даже не спрашивать, если постфикс умеет sasl (exim, например, умеет).

> Самое весёлое начнётся когда захочешь приладить к этому MySQL.
Вот этого точно делать не надо.

> Зря ты игнорировал моё предложение с Dovecot'ом. Повторюсь, с ним всё
> будет _намного_ проще.
> Поэтому остальные тут даже и не отвечают уже про циррус.
Потому что тут про постфикс отвечать надо. А эта болячка похуже цирроза.


Reply | Threaded
Open this post in threaded view
|

Re: Postfix+Cyrus-SASL

Anton Kvashin
In reply to this post by Anton Maksimenkov-2
engineer пишет:
>> failure: cannot connect to saslauthd server: No such file or directory
>> Почему же postfix он не может приконнектиться к saslauthd server???
>> Проблема в нахождении сокета, правах или в chroot??
> Я давно уже выкинул эту гадость (цирус).

cyrus свою работу выполняет, это видно из вывода sasl-тестов

> Как-то так.
> Самое весёлое начнётся когда захочешь приладить к этому MySQL. Вот там
> да, ещё больше повеселиться можно.

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

> Зря ты игнорировал моё предложение с Dovecot'ом. Повторюсь, с ним всё
> будет _намного_ проще.
> Поэтому остальные тут даже и не отвечают уже про циррус.

выбор хорошая штука, например, exim умеет сам smtp-auth, а вы про cyrus ;)

--
Anton Kvashin


Reply | Threaded
Open this post in threaded view
|

Re: Postfix+Cyrus-SASL

Mike Belopuhov
In reply to this post by Anton Kvashin
On Wed, Feb 18, 2009 at 16:11 +0500, Anton Kvashin wrote:

> Stans I. пишет:
>> Никак не могу сконфигурировать связку Postfix+Cyrus-SASL на авторизацию
>> клиента через smtp.
>>
>> На попытку авторизоваться выдаёт authentication failure:
>>
>> Есть мысли? Что я делаю не так?
>
> автор сетует на работу smtpd постфикса в chroot, и предлагает варианты:
> http://www.opennet.ru/base/net/postfix_sasl_cyrus_mta.txt.html
>
>> ЗЫ2: есть ли какой способ наложить запустить поддержку шифрованных
>> паролей  в cyrus-sasl - password_format: crypt, т.к. наложенние патча
>> cyrus-sasl-2.1.19-md5crypt.patch не привело к результатам, при
>> компиляции вываливаются *** Error code 1
>> /usr/bin/ld: cannot find -lcrypt
>> collect2: ld returned 1 exit status
>
> либу хочет.
> нет уверенности, но libssl стоит?
>

во первых он хочет не -lcrypto, а -lcrypt, который не входит в openssl
и является сущщим линуксизмом.

во вторых openssl в openbsd всегда стоит.

> --
> Anton Kvashin
>
>