Portál AbcLinuxu, 13. května 2025 22:28

Dotaz: Postfix a saslauthd si nerozumi

3.10.2006 10:47 Ziik
Postfix a saslauthd si nerozumi
Přečteno: 2237×
Odpovědět | Admin
Ahoj, pod Debianem(testing) se snazim nastavit postfix s autorizaci pres saslauthd demona, ktery pouziva pam, ktere se pta mysql databaze. Neco jako postfix->saslauthd->pam->mysql.

Test saslauthd je OK: testsaslauthd -s smtp -u uzivatel@domena.cz -p mojeheslo

V souborech /etc/posfix/sasl/smtpd.conf a /var/spool/postfix/etc/sasl/smtpd.conf je
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
saslauthd_path: /var/spool/postfix/var/run/saslauthd
log_level: 7

Pokus o autorizaci postovnim klientem se nezdari.

Mail.log hlasi:

Oct  3 10:24:53 chip postfix/smtpd[10275]: warning: SASL authentication failure: Password verification failed
Oct  3 10:24:53 chip postfix/smtpd[10275]: warning: mail.aipsafe.cz[213.210.156.214]: SASL PLAIN authentication failed: authentication failure
Oct  3 10:24:53 chip postfix/smtpd[10275]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory

Auth.log hlasi:

Oct  3 10:24:51 chip postfix/smtpd[10275]: OTP unavailable because can't read/write key database /etc/opiekeys: No such file or directory
Oct  3 10:24:51 chip postfix/smtpd[10275]: NTLM server step 1
Oct  3 10:24:51 chip postfix/smtpd[10275]: client flags: ffff8207
Oct  3 10:24:51 chip postfix/smtpd[10275]: NTLM server step 2
Oct  3 10:24:51 chip postfix/smtpd[10275]: client user: ziik@zona64.cz
Oct  3 10:24:53 chip postfix/smtpd[10275]: NTLM server step 1
Oct  3 10:24:53 chip postfix/smtpd[10275]: client flags: ffff8207
Oct  3 10:24:53 chip postfix/smtpd[10275]: NTLM server step 2
Oct  3 10:24:53 chip postfix/smtpd[10275]: client user: ziik@domena.cz

Podle meho nazoru se posfix spatne pta, mozna pouzije spatne servicename.

Netusi nekdo co je shnileho?
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

3.10.2006 11:03 Libor Klepac | skóre: 45 | Mýto
Rozbalit Rozbalit vše Re: Postfix a saslauthd si nerozumi
Odpovědět | | Sbalit | Link | Blokovat | Admin
postfix ti bezi chrootovany do /var/spool/postfix?
Urine should only be green if you're Mr. Spock.
3.10.2006 12:33 Ziik
Rozbalit Rozbalit vše Re: Postfix a saslauthd si nerozumi
Ano. Podle /etc/init.d/postfix a /etc/postfix/master.cf bezi v chrootu ve /var/spool/postfix/.

V souboru /etc/postfix/master.cf je
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
=======================================================================
smtp      inet  n       -       -       -       -       smtpd
smtp      unix  -       -       -       -       -       smtp
virtual   unix  -       n       n       -       -       virtual

Postfix by mel mit dostupny konfiguracni soubor smtpd.conf i pid saslauthd.
3.10.2006 15:10 Libor Klepac | skóre: 45 | Mýto
Rozbalit Rozbalit vše Re: Postfix a saslauthd si nerozumi
no tak pak hleda tu cestu vzhledem k tomu chrootu, tzn. (celkove) /var/spool/postfix/var/spool/postfix/var/run/saslauthd ... nebo se pletu?
Urine should only be green if you're Mr. Spock.
3.10.2006 15:38 Ziik
Rozbalit Rozbalit vše Re: Postfix a saslauthd si nerozumi
V souborech smtpd.conf jsem zmenil cestu na /var/run/saslauthd a ke zmene nedoslo. Stav stejny jako predtim.

Adresar /var/spool/postfix/var/run/saslauthd/ existuje a je v nem "mux", "mux.accept", "saslauthd.pid".
3.10.2006 12:56 Ziik
Rozbalit Rozbalit vše Re: Postfix a saslauthd si nerozumi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dalsi hlask z Auth.log je
Oct  3 12:41:29 chip postfix/smtpd[16177]: sql_select option missing
Oct  3 12:41:29 chip postfix/smtpd[16177]: auxpropfunc error no mechanism available
Oct  3 12:41:29 chip postfix/smtpd[16177]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql
Oct  3 12:41:29 chip postfix/smtpd[16177]: OTP unavailable because can't read/write key database /etc/opiekeys: No h file or directory
3.10.2006 14:57 AloneInTheDark | skóre: 21
Rozbalit Rozbalit vše Re: Postfix a saslauthd si nerozumi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Cus, nevim jestli dobre chapu ceho chces dosahnout. Tedy pokud chces, aby se uzivatel overoval pri odesilani pres smtp, domnivam se ze potrebujes nasledujici: ( uz jsem se v tom nejakou dobu nehrabal :) )
1. Postfix pouziva cyrus sasl knihovnu pro overovani smtp, takze mu nejdriv musis ric, kde ma hledat uzivatele a jejich hesla.

Zeditujes /etc/postfix/sasl/smtp.conf nasledovne:
pwcheck_method: auxprop
auxprop_plugin: sql
mech_list: plain login cram-md5 digest-md5
sql_engine: mysql
sql_hostnames: 127.0.0.1
sql_user: JMENO_UZIVATELE_V_DB
sql_passwd: HESLO_UZIVATELE_V_DB
sql_database: mail
sql_select: select clearpwd from users where login='%u'


2. v /etc/pam.d/smtp
auth    required   pam_mysql.so user=JMENO_UZIVATELE_V_DB passwd=JMENO_UZIVATELE_V_DB host=127.0.0.1 db=mail(JMENO DB) table=users(TABULKA)
usercolumn=login(SLOUPEC V DB S LOGIN JMENEM) passwdcolumn=clearpwd (SLOUPEC OBSAHUJICI HESLO) crypt=0 (ZDA-LI KRYPUJEME MD5 CI NE )
(TYHLE BLOKY) ve vypisu jsou komentare, ale to si asi pochopil, takze je vynech - jo a vsechno je to jeden radek

3. Odpovidajici tabulky s vhodnym obsahem v mysql db

Pouzivam postfix spolecne s courier pop3/imap serverem (courier-authdaemon, courier-authmysql,courier-pop, courier-imap) .

Snad jsem te trochu postrcil spravnym smerem - nejdriv si ujasni jak to funguje ( co se kde overuje, co musi bezet, jak se kouknout jestli se dotazuje mysql, zvysit ukecanost logu mysql aby si videl jaky dotazy se postfix snazi provadet apd. ) Jinak zprovozneni vlstniho sifrovani pomoci TLS je potom uz vyrazne snadnejsi, staci povolit v main.cf ( smtpd_use_tls = yes, smtpd_tls_cert_file = /etc/postfix/smtpd.cert, smtpd_tls_key_file = /etc/postfix/smtpd.key ) vygenerovat a zkopirovat vlstni klic a melo by to fungovat.
Any technology distinguishable from magic is insufficiently advanced.
3.10.2006 15:17 Ziik
Rozbalit Rozbalit vše Re: Postfix a saslauthd si nerozumi
Ahoj, diky za obsahly prispevek.

Pokud v /etc/postfix/sasl/smtp.conf nastavim ...
pwcheck_method: auxprop
auxprop_plugin: sql

... saha sasl rovnou do databaze. Tahle metoda funguje, avsak neumoznuje mit zakodovana hesla v DB.

Pokud se pouzije pam skrze saslauthd, je mozno nastavit "crypt=1 md5=y" a hesla v DB budou zakodovana.

Co potrebuji je, aby se postfix zeptal demona saslauthd jestli jmeno a heslo co dostal od klienta je spravne. saslauthd odpovi OK nebo Fail a postfix tohle akceptuje.

Aby saslauthd odpovedel uz mam hotove, to funguje.

Zbyva tedy zajistit aby se postfix zeptal saslauthd demona. A to je to co nefunguje.
3.10.2006 16:21 AloneInTheDark | skóre: 21
Rozbalit Rozbalit vše Re: Postfix a saslauthd si nerozumi
Nechtel bych se hadat, ale i s touto variantou lze pouzivat sifrovana hesla. Staci nastavit "crypt=1" a do DB ty hesla ukladat pomoci funkce ENCRYPT('heslo').

Ale dobra, tvuj zpusob by mel taky fungovat. Co mas nastaveno v /etc/default/saslauthd ?
# This needs to be uncommented before saslauthd will be run automatically
START=yes

# You must specify the authentication mechanisms you wish to use.
# This defaults to "pam" for PAM support, but may also include
# "shadow" or "sasldb"
MECHANISMS=pam

Tohle a presto to nejede ? ( Z toho uplne prvniho vypisu mi prijde, ze zkousi pouzivat sasldb )

warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Any technology distinguishable from magic is insufficiently advanced.
3.10.2006 16:50 Libor Klepac | skóre: 45 | Mýto
Rozbalit Rozbalit vše Re: Postfix a saslauthd si nerozumi
no prave, pokud se zepta pres saslauthd a pres pam-mysql, tak zakodovana hesla mohou byt (i md5hashem, s novejsim pam-mysql), ale pokud se zepta primo pres auxprop, tak hesla musi mit v cleartextu

ale podle vypisu to opravdu vypada, jako ze se postfix saslauthd vubec nesnazi kontaktovat, zkusil bych jeste takovou nouzovku, udelat symlink na /etc/postfix/sasl/stmp.conf v adresari /usr/lib/sasl2
Urine should only be green if you're Mr. Spock.
3.10.2006 15:09 Libor Klepac | skóre: 45 | Mýto
Rozbalit Rozbalit vše Re: Postfix a saslauthd si nerozumi
Odpovědět | | Sbalit | Link | Blokovat | Admin
tohle ma mensi nevyhodu ... musis mit cleartext hesla v db
Urine should only be green if you're Mr. Spock.
3.10.2006 15:15 Libor Klepac | skóre: 45 | Mýto
Rozbalit Rozbalit vše Re: Postfix a saslauthd si nerozumi
ehm ...vedle

puvodni tazatel> mas vsechny libsasl2 balicky? tzn. i libsasl2-modules a sasl2-bin ?
Urine should only be green if you're Mr. Spock.
3.10.2006 15:21 Ziik
Rozbalit Rozbalit vše Re: Postfix a saslauthd si nerozumi
Ano, sasl balicky mam nainstalovane: libsasl2, libsasl2-modules, libsasl2-modules-sql, sasl2-bin. To jsou predpokladam vsechny pro sasl co je potreba mit.
7.10.2006 11:18 Ziik
Rozbalit Rozbalit vše Re: Postfix a saslauthd si nerozumi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dekuji vsem za reakce.

Chyba byla pravdepodobne v instalaci zbytecnich balicku (libsasl7, gsasl ...). Po odinstalovani vseho *sasl* a nainstalovani pouze nejnutnejsich balicku sasl-bin,libsasl2,libsasl-modules, atp. vse zacalo chodit jak ma. Tedy po tom co se vyresili prava.

Byla chyba v /etc/init.d/saslauthd ktery spatne nastavoval prava na adresar s mux souborem. Pak pridat uzivatele postfix do skupiny sasl.

Problem je vyresen.
4.3.2007 20:13 Petr Malina
Rozbalit Rozbalit vše Re: Postfix a saslauthd si nerozumi
Dobry den, mohl by jste napsat podrobne, co vse jste provedl, aby vam to fungovalo? Potykam se s timto problemem uz jakou dobu a porad to ne a ne vyresit.

Dekuji.
4.3.2007 20:44 svaca | skóre: 38
Rozbalit Rozbalit vše Re: Postfix a saslauthd si nerozumi
Ahoj, no zacni radsi takto: 

Vytvor si sasl2 databazi: 

saslpasswd2 -c -u server.domena.cz -a smtpauth nejakyuzivatel

vznikne ti: 

/etc/sasldb2 

chown root:postfix /etc/sasldb2 

autorizujes pomoci postfix a cyrus-sasl primo: 

cat /etc/smtpd.conf
log_level: 3
pwcheck_method: saslauthd
mech_list: plain login

A hod prislusne veci do postfixu, tohle je nejrychlejsi, bude-li to makat, muzes pridodit PAM (PAM nesnasim, nepouzivam) 
Super je pouzit dovecot a delat sasl autorizaci PRIMO pres dovecot. 

Nikde na toto neexistuje poradny navod, jdu na to napsat navod, pak sem hodim link ....
Never give up ! Stay ATARI !
19.4.2007 13:49 Martin Dufka
Rozbalit Rozbalit vše Re: Postfix a saslauthd si nerozumi - mé řešení
Na Debianu mi to hlásilo stejnou chybu: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2

Problém u mne byl v tom, že po hromadném update z distribuce se patrně změnila požadovaná cesta k souboru smtpd.conf, což sice reinstalace řeší, ale já to raději udělal bez ní pomocí linků do adresářů /etc (fungovalo před update) a /etc/postfix/sasl (kde to funguje teď) :o)))

ln -s /usr/lib/sasl2/smtpd.conf /etc/postfix/sasl/smtpd.conf

ln -s /usr/lib/sasl2/smtpd.conf /etc/smtpd.conf (ponechávám pro jistotu i v /etc, pro nějakou další podobnou změnu v budoucnosti)


Doufám, že to někomu pomůže alespoň pro příště. :o))

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.