Не могу настроить связку postfix+sasl2+mysql, Помогите!!!

Подключение и настройка дополнительных модулей: антивирус, антиспам, аутентификация mySQL и пр.
Писать в этот форум могут только зарегистрированные пользователи.

Модераторы: prefer, alexandrnew, ALex_hha, Roman, Axel

temp0001

Не могу настроить связку postfix+sasl2+mysql, Помогите!!!

Сообщение temp0001 » 03 окт 2005, 06:46

Установил связку postfix+sasl2+mysql руководствуюсь этой статьёй: http://www.opennet.ru/base/net/isp_mail_howto.txt.html
Первая проблема: если я включаю авторазацию на smtp строкой: smtpd_recipient_restrictions = permit_sasl_authenticated в main.cf то при коннекте на сервер.. серверо просто молчит не привета не ответа.... даже приглашение в телнете не выдёт и игнорирует все команды...
Вторая проблема: если я отклчаю эту авторизацию то сервер начинает работать нормально, но есть оно но.. отправленные мной письма деваются в некуда... допустим отправил я сам себе письмо,далее смотрю: ls -l /var/spool/vmail/ а там пустота... куда девются мои письма?
Пожалуйсто помогите, очень вас прошу!

buzz

Сообщение buzz » 03 окт 2005, 15:08

0. пароли в майскле плэйном или хэши от паролей?
1. а pam_mysql ставил?
2. в логах майскла помотри, обращения к нему есть вообще? (помоему, для этого демон майскла надо с дебаг-ключиком запускать).
3. telnet YOUR_MTA_IP YOUR_MTA's_SMTP_PORT со включённой авторизацией, дальше скажи ehlo shnuaga.org, а потом auth и посмтори, какой список механизмов аутентификации предлагается и предлагается ли вообще.

buzz

Сообщение buzz » 03 окт 2005, 15:18

ну эта. main.cf/master.cf покажи.

temp0001

Сообщение temp0001 » 04 окт 2005, 02:57

пароли в мускуле в чистом виде тоесть как есть (qwerty)
pam_mysql только сейчас поставил но проблема не изменилась
при включённой функции smtpd_recipient_restrictions = permit_sasl_authenticated телнетиться но на команду не реагирует
как только её закоментирую то на команды начинет реагировать но после ввода auth пишет:
501 Syntax: AUTH mechanism
master.cf я не редактировал а main.cf куда скинуть?

buzz

Сообщение buzz » 04 окт 2005, 09:51

0. конфиги пиши сюда
1. saslauthd стаивил? sasl-у говорил, что pwcheck_method=saslauthd для smtpd?
2. конфиг pam для smtp покажи
3. в конфиге main.cf сказал, что smtpd_sasl_auth_enable=yes? а постфикс, вообще говоря, собран с поддержкой sasl и mysql?
4. mysql в отладочном режиме запускал? до него вообще какие-то запросы доходят?

buzz

Сообщение buzz » 04 окт 2005, 09:59

а пароли в mysql в чистом виде - зло

temp0001

Сообщение temp0001 » 04 окт 2005, 17:39

Скинь какую-нибуть статейку по этому делу, попробую по ней заново всё собрать

sudiv

Сообщение sudiv » 05 окт 2005, 10:58

ээээ, а зачем вообще saslauth ?

возможно для небольшого сервера удобнее будет собрать все нужное в cyrus-sasl2 без saslauth ? всё в auth-sasldb

типа так
PREFIX=/usr/local
configure --with-plugindir=${PREFIX}/lib/sasl2 \
--with-dbpath=${PREFIX}/etc/sasldb2 \
--includedir=${PREFIX}/include \
--enable-static \
--enable-auth-sasldb \
--with-rc4=openssl \
--with-mysql=/usr/local/lib/mysql \
--disable-otp \
--enable-ntlm

+ разрешить еще формы какие нужны (GSSAPI, KRB4/5 и проч)

в /usr/local/lib/sasl2/smtpd.conf написать
pwcheck_method: auxprop
auxprop_plugin: sql
sql_engine: mysql
sql_user:
sql_passwd:
sql_hostnames: 127.0.0.1
sql_database: mail
sql_select: select password from listusers where login='%u@%r'
sql_verbose: yes

в main.cf pfix
smtpd_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination, reject_unknown_recipient_domain, reject_non_fqdn_recipient

postfix reload

вот ссылка на статью, где всё подробно описано (правда там pgsql вместо mysql, что сути не меняет)
http://www.linuxcenter.ru/lib/articles/ ... gsql.phtml

buzz

Сообщение buzz » 06 окт 2005, 09:37

sudiv писал(а):ээээ, а зачем вообще saslauth ?
видимо, имелся в виду saslauthd? если надо поддерживать много доменов, много юзеров и т.п. - имхо, удобнее поднять sasluathd с мехнизмом аутентификации via PAM, поставить тот же pam_mysql, написать PAM-конфиг для smtp, где написать что (логин/пароль), как и откуда (база/таблица) брать для аутентификации, и держать всё в некой базе.

вот очень толковая статья: http://www.opennet.ru/base/net/postfix_tls.txt.html

Гость

Сообщение Гость » 06 окт 2005, 09:41

sudiv писал(а): в main.cf pfix
smtpd_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination, reject_unknown_recipient_domain, reject_non_fqdn_recipient
ну я бы не стал пускать smtp-аутентификацию без TLS, благо у постфикса есть такая возможность - параметр smtpd_tls_auth_only в main.cf.

Гость

Сообщение Гость » 06 окт 2005, 13:05

Anonymous писал(а):
sudiv писал(а): в main.cf pfix
smtpd_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination, reject_unknown_recipient_domain, reject_non_fqdn_recipient
ну я бы не стал пускать smtp-аутентификацию без TLS, благо у постфикса есть такая возможность - параметр smtpd_tls_auth_only в main.cf.
ну так, согласен, я и не пускаю :), кроме того, у пользователя свободный выбор, скажет STARTTLS - будет ему щастье, не скажет, ну тоже будет, только меньше.
но вопрос был про sasl кажется :), он ведь поддерживает не только plain ? хотя я как-то не сильно надеюсь, что это может кому-то помочь :))

sudiv

Сообщение sudiv » 06 окт 2005, 13:12

buzz писал(а):
sudiv писал(а):ээээ, а зачем вообще saslauth ?
видимо, имелся в виду saslauthd? если надо поддерживать много доменов, много юзеров и т.п. - имхо, удобнее поднять sasluathd с мехнизмом аутентификации via PAM, поставить тот же pam_mysql, написать PAM-конфиг для smtp, где написать что (логин/пароль), как и откуда (база/таблица) брать для аутентификации, и держать всё в некой базе.

вот очень толковая статья: http://www.opennet.ru/base/net/postfix_tls.txt.html
да, про главную букву я как то забыл :)
спорить тоже не буду, вполне возможно, если на хосте обслуживается пару тыщ доменов и в тридцать три раза по столько юзеров (-шепотом- тут и saslauthd не поможет) :wink:, то будет удобнее; у меня с десяток домов и немного сотен клиентов, и все вполне неплохо и довольно удобно (пока удобно :oops:) работает и так как господин-товарищ-барин Владимир Агапов рекомендовал выше.

вобщем каждый конечно выбирает для себя 8)

BMerlin1
Новичок
Новичок
Сообщения: 4
Зарегистрирован: 06 окт 2005, 10:41

Сообщение BMerlin1 » 07 окт 2005, 12:46

Делал по статье http://www.opennet.ru/base/net/postfix_tls.txt.html

[07.10.2005 10:23:17] >> mail# telnet localhost 25
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.firma.ru.
Escape character is '^]'.
220 mail.firma.ru ESMTP Postfix
ehlo aol.com
250-mail.firma.ru
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH NTLM LOGIN PLAIN GSSAPI DIGEST-MD5 CRAM-MD5
250 8BITMIME
#вроде работает... но строчки типа:
#AUTH PLAIN bWVAcmF2ZW4uZWxrLnJ1AG1lQHJhdmVuLmVsay5ydQBwYXNzd29yZDop
#235 Authentication successful
не выдаёт
В чём может быть грабля?

main.cf:

readme_directory = no
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

в smtp.conf:

метод saslauthd

mail# ps ax|grep sasl
765 ?? Is 0:00.00 /usr/local/sbin/saslauthd -a pam
766 ?? I 0:00.00 /usr/local/sbin/saslauthd -a pam
767 ?? I 0:00.00 /usr/local/sbin/saslauthd -a pam
768 ?? I 0:00.00 /usr/local/sbin/saslauthd -a pam
769 ?? I 0:00.00 /usr/local/sbin/saslauthd -a pam
896 p0 R+ 0:00.00 grep sasl

temp0001

Сообщение temp0001 » 08 окт 2005, 04:29

Переустановил всё... теперь наблюдаю такую вещ:
ehlo domain.ru
250-domain.ru
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN
250-AUTH=LOGIN
250 8BITMIME
ehlo saomain.ru
250-domain.ru
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN
250-AUTH=LOGIN
250 8BITMIME
mail from: root@domain.ru
250 Ok
rcpt to: root@domain.ru
550 <root@domain.ru>: Recipient address rejected: User unknown in local recipient table

а в /var/log/mail.warn увидел вот это:
Oct 8 05:10:57 server postfix/smtpd[21980]: warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory
Oct 8 05:10:57 server postfix/smtpd[21980]: warning: ppp83-237-193-86.pppoe.mtu-net.ru[83.237.193.86]: SASL LOGIN authentication failed

BMerlin1
Новичок
Новичок
Сообщения: 4
Зарегистрирован: 06 окт 2005, 10:41

разобрался

Сообщение BMerlin1 » 08 окт 2005, 06:15

BMerlin1 писал(а):Делал по статье http://www.opennet.ru/base/net/postfix_tls.txt.html

#вроде работает... но строчки типа:
#AUTH PLAIN bWVAcmF2ZW4uZWxrLnJ1AG1lQHJhdmVuLmVsay5ydQBwYXNzd29yZDop
#235 Authentication successful
не выдаёт
В чём может быть грабля?
Разобрался,что надо самому сгенерировать и подставить код авторизации
скриптом:
perl -MMIME::Base64 -e \
'print encode_base64("логин\0логин\0пароль");'
после ручной подстановки, в случае если всё нормально пишет:
235 Authentication successful

Ответить