Postfix SMTP küldés auth TLS-sel

Sziasztok!

Elakadtam. Több Howto alapján próbáltam beállítani azt, hogy leveleket lehessen küldeni a 465-ös porton.
Azt hiszem minden be van építve, a logika alapján működnie is kéne.
- Posfix/Courier/MySQL
- saját hálózatból megy a küldés auth nélkül, leveleket tudok fogadni, imapon és pop3-on authentikálni. Tehát a levelezőszerver működik

Ha kívülről levelezőklienssel próbálom elküldeni a levelet (465-ös pott, ssl, normál plain text jelszó), akkor a logban csak ennyi jelenik meg:

Jun 29 11:45:47 tauri postfix/smtpd[29690]: connect from catv-89-133-8-22.catv.broadband.hu[89.133.8.22]
Jun 29 11:47:47 tauri postfix/smtpd[29690]: lost connection after UNKNOWN from catv-89-133-8-22.catv.broadband.hu[89.133.8.22]
Jun 29 11:47:47 tauri postfix/smtpd[29690]: disconnect from catv-89-133-8-22.catv.broadband.hu[89.133.8.22]

A kliens csak azt mondja, hogy nem sikerült authentikálni.
Ha parancssorból próbálom

root@server:~# telnet server.hu 465
Trying XX.XX.XX.XX...
Connected to server.hu.
Escape character is '^]'.
220 servername.server.hu ESMTP Postfix (Debian/GNU)
EHLO server.hu
250-servername.server.hu
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth login
503 5.5.1 Error: authentication not enabled

A master.cf-ben be van állítva
smtps inet n - - - - smtpd -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject

A main.cf-be pedig a szükésges dolgok:
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject
smtpd_sasl_authenticated_header = yes
smtpd_sasl_path = smtpd
smtpd_sasl_local_domain = $mydomain
smtpd_tls_auth_only = yes
smtpd_tls_cert_file=/etc/postfix/smtpd.cert
smtpd_tls_key_file=/etc/postfix/smtpd.key

Miért nem megy mégsem a dolog? Tudna valaki segíteni?

Üdv: redman

Hozzászólások

Nekem egy ilyen beállítás oldotta meg:

receive_override_options = no_address_mappings

én a mydestiantion-ba vettem fel a domainemet, imigyen: mail.domainnevem.hu
innentől működött a dolog. de lehet ide nem ez a megoldás kell mivel látom telnetnél is error autentictaion van :(

illetőleg megnéztem saját main.cf-emet és abban így nézz ki a megfelelő sor:

smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_destination, check_policy_service

smtpd_tls_auth_only = yes

Ezt kapcsold ki a teszteleshez.

tompos

Naszóval, igen így már jó lesz, van előrébb lépés:
...
auth login
334 VXNlcm5hbWU6
cmVkbWFuLmh1
334 UGFzc3dvcmQ6
bWVsaW5hcA==
535 5.7.8 Error: authentication failed: generic failure

A logban azt írja, hogy nem tudja elérni a saslauthd-t
SASL authentication failure: cannot connect to saslauthd server: No such file or directory

Pedig ebben a könyvtrában vannak fájlok, tehát fut:
/var/spool/postfix/var/run/saslauthd

A 465 portoton figyelést a smtps bekapcsolásával nyitottam meg a master.cf fájlban.

Üdv: redman

http://www.redman.hu

Megnéztem a MySQL logot, megpróbálja lekérdezni, de levágja a felhasználónév elejét:
Pl.:
felhasználó: nev@domain.hu
a táblából úgy próbálkozik, hogy:
SELECT password FROM users WHERE email = 'nev'

Nem értem miért. (Most már csak kliensből (thunderbird) próbálom)

http://www.redman.hu

Örülök, hogy kicsi a világ és hogy megismerik ennyi idő után is az embert! :)

smtpd_sasl_path = smtpd

Tehát a postfix könyvtárban levő smtpd.conf-ot nézi ugye?

Abban pedig ez van:

pwcheck_method: saslauthd
mech_list: plain login
allow_plaintext: true
auxprop_plugin: mysql
sql_hostnames: 127.0.0.1
sql_user: mail_database
sql_passwd: **********
sql_database: mail_user
sql_select: select password from users where email = '%u'

Ha '%u'@'%r'
illetve
'%u@%r'
a végén az érték, akkor sem megy. Ugyanaz a lekérdezés. A felhasználónévből (e-mail cím) a @ utáni rész levágja és emiatt nem authentikál.

http://www.redman.hu

Hm...

Én itt indultam el:

http://wiki1.dovecot.org/HowTo/PostfixAndDovecotSASL
http://wiki2.dovecot.org/HowTo/PostfixAndDovecotSASL

aztán ezt is megnéztem:

http://www.postfix.org/SASL_README.html
főleg ezt a részt:
http://www.postfix.org/SASL_README.html#server_dovecot

Saját olvasatomban nem az smtpd.conf-ot nézi, hanem a program socket-jét keresi az adott név alatt...

Nálam a dovecot authentical... pontosabban az adja a postfix-nek a sasl-t. A dove pedig PAM-on keresztül LDAP-ból nyomja :D

--
Debian Linux rulez... :D

Ha egyszerűen beírod a domaint a select-be akkor megy?

- sql_select: select password from users where email = '%u'
+ sql_select: select password from users where email = '%u@example.com'

Szerk: egyébként a @ nem valamilyen paraméter átadó megjelölés?
Szerk2: esetleg karakterkódolási probléma (UTF8, ...)

nekem az a megfejtesem volt Centoson, hogy a saslauthd _socketjet_, ami defaulte a /var/run/saslauthd alatt van be kellett vinni a postfixnak megfelelo /var/spool/postfix/var/run/saslauthd konyvtar ala.

Jó reggelt!

Most már biztos, hogy nem az általam szerkesztett smtpd.conf
/etc/postfix/smtpd.conf
vagy
/etc/postfix/sasl/smtpd.conf

fájlból veszi a konfigot a Postfix.
Beírtam a lefuttatandó SQL-be egy szót és az authentikáláskor nem az a sor futott le. :)
Vicces.
Nem tudom honnan veszi az sql parancsot.
Rákerestem az /etc könyvtrában, de ott nincs az a parancs, ami a mysql logban megjelenik.
Nem értem.
Hogyan lehet megtudni vagy beállítani neki, hogy melyik fájlból veszi/vegye a Postfix a smtp authentikációhoz szükséges SQL kérést?

http://www.redman.hu

Ha ez áll ott:
smtpd_sasl_path = /etc/postfix/smtpd.conf

akkor a logban ez jelenik meg:

Jun 30 09:35:43 server postfix/smtpd[8988]: connect from catv-89-133-8-22.catv.broadband.hu[89.133.8.22]
Jun 30 09:35:51 server postfix/smtpd[8988]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Jun 30 09:35:51 server postfix/smtpd[8988]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Jun 30 09:35:51 server postfix/smtpd[8988]: warning: SASL authentication failure: Password verification failed
Jun 30 09:35:51 server postfix/smtpd[8988]: warning: catv-89-133-8-22.catv.broadband.hu[89.133.8.22]: SASL PLAIN authentication failed: authentication failure
Jun 30 09:35:52 server postfix/smtpd[8988]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Jun 30 09:35:52 server postfix/smtpd[8988]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Jun 30 09:35:52 server postfix/smtpd[8988]: warning: catv-89-133-8-22.catv.broadband.hu[89.133.8.22]: SASL LOGIN authentication failed: authentication failure

http://www.redman.hu

doksiban le van írva, hogy a .conf nem kell a végére, azt odateszi. (ugye eddig se volt)
ha nem találja, akkor egyéb helyeken keresi, mint pl. /usr/lib/sasl2, /var/lib/sasl2, ilyesmi, disztrófügg. (milyen disztró ez?) illetve elször /usr/lib/sasl2-ben keresi elvileg, és ha ott talál config fájlt, akkor azt hasznája.
de ha eddig ment a sasl mysql pluginnel, most meg nem megy és sasldb-t használna (ha látná a chrootból), akkor ezek szerint mégiscsak van hatása ennek az opciónak.

Ugyanaz. Csak azért mégis más, mint a fenti, mert a sasldb2-t beraktam már a chrootba.

Jun 30 14:15:55 server postfix/smtpd[11891]: connect from catv-89-133-8-22.catv.broadband.hu[89.133.8.22]
Jun 30 14:15:57 server postfix/smtpd[11891]: warning: SASL authentication failure: Password verification failed
Jun 30 14:15:57 server postfix/smtpd[11891]: warning: catv-89-133-8-22.catv.broadband.hu[89.133.8.22]: SASL PLAIN authentication failed: authentication failure
Jun 30 14:15:58 server postfix/smtpd[11891]: warning: catv-89-133-8-22.catv.broadband.hu[89.133.8.22]: SASL LOGIN authentication failed: authentication failure
Jun 30 14:16:01 server postfix/smtpd[11891]: disconnect from catv-89-133-8-22.catv.broadband.hu[89.133.8.22]

Próbáltam a következő paraméterekkel is:
smtpd_sasl_path = mysql:/etc/postfix/smtpd.conf
smtpd_sasl_path = proxy:mysql:/etc/postfix/smtpd.conf
smtpd_sasl_path = mysql:/etc/postfix/smtpd

http://www.redman.hu

donatus@donatus~$ _

de akkor kérlek írd át a topic címét "Postfix SMTP küldés auth TLS-sel"-re

köszi