postfix, auth smtp segítség kellene

Sziasztok!

Már régóta szívok egy postfix authentikált smtp párosal, rendszerem Debian GNU/LINUX 3.1 nem is szaporítom szót, közzéteszem a beállításaimat:

postfix, postfix-tls 2.1.5-9 -esek
libsasl2, sasl2-modules, sasl2-bin 2.1.19 -esek
Mindegyik csomagból lett telepítve.

/etc/postfix/main.cf

myhostname = domainem.hu
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases.db
mydestination = $myhostname, mail.$myhostname, localhost
mynetworks = 127.0.0.1/8, 192.168.0.0/24

home_mailbox = Maildir/

smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_use_tls = yes
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/postfix/ssl/server.crt
smtpd_tls_key_file = /etc/postfix/ssl/server.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

/etc/default/saslauthd

START=yes
MECHANISMS="pam"

/etc/postfix/sasl/smtpd.conf

pwcheck_method: saslauthd
mech_list: PLAIN LOGIN

Ezekkel a beállításokkal régebben már működött.

Kívülről próbáltam levelet küldeni rajta keresztül, részlet a mail.log-omból:

Dec 29 18:51:57 postfix/smtpd[18623]: connect from adsl-102-155.globonet.hu[89.186.102.155]
Dec 29 18:51:57 postfix/smtpd[18623]: setting up TLS connection from adsl-102-155.globonet.hu[89.186.102.155]
Dec 29 18:51:57 postfix/smtpd[18623]: TLS connection established from adsl-102-155.globonet.hu[89.186.102.155]: TLSv1 with cipher RC4-MD5 (128/128 bits)
Dec 29 18:51:57 postfix/smtpd[18623]: warning: SASL authentication failure: cannot connect to saslauthd server: Permission denied
Dec 29 18:51:57 postfix/smtpd[18623]: warning: adsl-102-155.globonet.hu[89.186.102.155]: SASL LOGIN authentication failed
Dec 29 18:51:57 postfix/smtpd[18623]: warning: Read failed in network_biopair_interop with errno=0: num_read=0, want_read=5
Dec 29 18:51:57 postfix/smtpd[18623]: lost connection after AUTH from adsl-102-155.globonet.hu[89.186.102.155]
Dec 29 18:51:57 postfix/smtpd[18623]: disconnect from adsl-102-155.globonet.hu[89.186.102.155]

Outlook Express nem ír semmilyen hibát, csak visszadobjálja a felhasználói név, jelszó ablakot.

Valaki segítsen please! :)

Bármilyen segítséget előre is köszönök!

Üdv Szety

Hozzászólások

A sasl...-deb alapból hibás, mi egy saját fordításút használunk.

Elso ranezesre chroot-ban fut az smtpd-d (a szokasos problema), vagy modositsd a master.cf-et, vagy a saslauthd socket-jet vidd be a chroot ala, akar bind mount-tal is.

Sziasztok!

A saslauthd socketeket monunt --bind-el bevittem a chroot alá, de valami még nem az igazi. A mail.log-omba ezt a hibaüzit kapom, ha próbálok keresztülzavarni rajta egy levelet:

Jan 10 13:07:14 postfix/smtpd[7225]: connect from dsl5400BF63.pool.t-online.hu[84.0.191.99]
Jan 10 13:07:14 postfix/smtpd[7225]: lost connection after NOOP from dsl5400BF63.pool.t-online.hu[84.0.191.99]
Jan 10 13:07:14 postfix/smtpd[7225]: disconnect from dsl5400BF63.pool.t-online.hu[84.0.191.99]

Az outlook 502-es hibát jelez.

Előre is köszi a további segítséget.

Üdv: Szety

Ide írok, mert nekem is auth problémám van. Hogy lehetséges az, hogy ha telnetelek a 25-ös portra egy Ubuntu kliensről akkor kapok ehlo után 250-STARTTLS sort viszont ugyan azon a hálózaton lévő W2000 kliensről telnetelés esetén nem jön 250-STARTTLS sor ehlo után? Mindezt egy thunderbird beállítása után fedeztem fel ami kiírta, hogy nem kap STARTTLS-t. Valakinek ötlete a témában?

covek@covek.hu

"W2000 kliensről telnetelés esetén nem jön 250-STARTTLS sor ehlo után"

Végül is ez nem auth, hanem titkosításí probléma!

A szerverem telnet kimenetében, auth 7-8 sorban van.

1. 250-PIPELINING
2. 250-SIZE 10240000
3. 250-VRFY
4. 250-ETRN
5. 250-STARTTLS
6. 250-AUTH PLAIN LOGIN
7. 250-AUTH=PLAIN LOGIN
8. 250 8BITMIME

----------------------------------------------------------------
"Értem én hogy villanymotor, de mi hajtja!?

Bocs hogy kozbeszolok a magasroptu beszelgetesbe (a fun kategoriaba illoek sany kollega valaszai...), de ideje lenne a lenyegre terni :) Postfix oldalon a debug_peer_list beallitasa hasznos tud lenni, valamint a kliensen szetnezni, nincs-e valamilyen "intelligens" tuzfal hasznalatban, ami beleszovegel az SMTP-be. tcpdump/wireshark hasznos, mindket oldalon celszeru futtatni.
[ A winxxx-es telnet amugy valoban nem tamogat TLS-t, ed ez esetunkben finoman szolva is irrelevans, az SMTP ehlo-jara a postfixnek vissza kene adnia a STARTTLS-t. ]

A fentieket köszi. Folytatom a nyomozást.

[ A winxxx-es telnet amugy valoban nem tamogat TLS-t, ed ez esetunkben finoman szolva is irrelevans, az SMTP ehlo-jara a postfixnek vissza kene adnia a STARTTLS-t. ]

Mi az hogy nem tudja? Nem csak egy egyszerű txt áramlásról van szó addig még a 250-STARTTLS sor visszajön válaszul a többi 250 -el kezdődő sorral 1ütt? A kliens oldalon kiadott starttls-ig text plain az adatáramlás nem? Még a csatolmány is így megy át csak uuencoded.

covek@covek.hu

ok. Nem akarok én ssl képes telnettel foglalkozni. A telnet a 25-ös portra csak tesztelés volt számomra. uuencoded helyett MIME van rendben ezt kicsit elfelejtettem. De a lényeg abban van amit írtam. Addig amíg a kliens ki nem adja a starttls parancsot addig plain text a forgalom. Szerintem.

covek@covek.hu

Kérdéses tcpdump kimenet, tcpdump -nnvvXSs 1400 'src w2k_kliens_ip or dst w2k_kliens_ip and (dst port 25 or src port 25)' > log.txt paracsnból logrészlet amikor a w2k thunderbird próbál levelet küldeni:


_______..250-PIP
ELINING..250-SIZ
E.10240000..250-
VRFY..250-ETRN..
250-STARTTLS..25
0-ENHANCEDSTATUS
CODES..250-8BITM
IME..250.DSN..

Ekkor a thunderbird azt üzeni, hogy nem tud ssl fölött dolgozni, mert az smtp szerver nem küldött neki 250-STARTTLS sort. Azaz a kliens azt hiszi, hogy nem tls képes smtp szerverrel vette fel a kapcsolatot. Pedig ez nem így van, mert a szerver a fenti kód szerint igen is elküldi a kérdéses plain text üzenetben a 250-STARTTLS sort.
Tehát itt valami turpisság van TLS ügyileg. Mivel w2k-hoz nem igazán értek jön a kérdés, hogy mi az ami lenyelheti a fentiek szerinti smtp üzenetet? Van ötlete valakinek?
covek@covek.hu

ebbe en is belefutottam, a saslauthd letrehoz egy socketet a /var-ban valahol (fejbol nemtudom, de netstat -lpn megmondja), es ott valamelyik konyvtaron 700 jog van, igy nemtudja a postfix a socketet elerni. en az saslauthd initd modositottam, hogy chmod 701 /var/nemtudommi, es akkor mar eleri a postfix a socketet.

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

újabb " magasroptu beszelgetes..." :) :D

" Addig amíg a kliens ki nem adja a starttls parancsot addig plain text a forgalom."

smtpd_tls_auth_only = yes

ha nincs benne a main.cf-ben hiába parancsol! :)

Nem inkább a mail szerver "indítványozza"?

Pl: webszerverhez hiába akarsz ssl-lel csatlakozni, ha a szerver "nem akar"! :)

tls nélkül megy?

----------------------------------------------------------------
"Értem én hogy villanymotor, de mi hajtja!?

Ez nem nekem szólt remélem! :) Viszont én mindenképpen azt szeretném, hogy csak tls fölött menjen az auth. :) Mivel plain van csak! Be is van kapcsolava a fenti sor segítségével nállam is.

https://www.covek.hu/postfilter.pdf ez volt ami alapján készült a szerver. De ezt én is írtam klf. doksik alapján.

covek@covek.hu

Akkor, hogy egyértelmű legyen a helyzet: van egy szerver ami postfix + postfilter + amavisd-new + clamav + spamassassin + FuzzyOcr stb-vel működik érdekeset produkál azzal, hogy némely klienssel működik, de nem működik win2000 alatti kliensekkel az smtp auth. A thunderbird ki is írta, hogy mi a baja: nem akpott az smtp szervertől 250-STARTTLS sort.
covek@covek.hu

"Ez egyre rosszabb lesz... Figyu, Te ennyire nem tudsz olvasni, vagy ennyire nem ertesz hozza? Nem az a feladat, hogy csak TLS folott menjen az authentikacio, ez az opcio pedig kizarolag erre van hatassal."

Nem olvastad el a topicot, de már válaszolt is covek! :)

----------------------------------------------------------------
"Értem én hogy villanymotor, de mi hajtja!?

A kollegának a legfőbb problémája az, hogy az EHLO-ra a szerver azt állítja magáról, hogy képtelen a SASLAUTH-ra.
Tök mindegy, hogy a szerveren mit állítasz be, a HELO/EHLO parancsoknak auth nélkül KELL menniük és plaintext választ KELL adniuk, mivel ezek információs parancsok, a kliens ezekkel kér infót a szervertől hogy az mit akar.

Az, hogy a SMTP szerver hazudik magáról, nyilván kizárható. Elsősorban én is tűzfalra gyanakszom, illetve valami olyan konfigopcióra, ami adott kliensekre nem engedi a SASL kommunikációt.

" auth nélkül KELL menniük és plaintext választ KELL adniuk"

Igen gondolom eddig el is jut.
Csak az a gond hogy a telnet kimenetben a tls az auth előtt van!
Így nem történik semmmi. (gondolom)
valszleg ez a titkosítási eljárás nincs win2000-ben,
akár a gnupg.
Ezt sem "ismeri" egyetlen win kliesn sem!
A windows "házi(barkácsolt) szabványai" nem engedik meg!
Ez is piaci visszaélés (árukapcsolás), ha kell a titkosítás vedd meg az M$-től! :)

----------------------------------------------------------------
"Értem én hogy villanymotor, de mi hajtja!?

"Ezt a sok marhasagot mar tenyleg fajdalmas olvasni..."

:D :D :D

Akkor használj lécci gnupg-t bűvészkedés nélkül win alatt!
"bűvészkedés nélkül" == ahogy a win telepítő cd-n van!
----------------------------------------------------------------
"Értem én hogy villanymotor, de mi hajtja!?

"Akkor használj lécci gnupg-t bűvészkedés nélkül win alatt!
"bűvészkedés nélkül" == ahogy a win telepítő cd-n van!"

ez meg hogy a fenébe kapcsolódik a témához nem tudom, amúgy hrgy84 és wildy teljesen korrektül leirta hogy mi lehet a gond, felesleges belinkelned minden második posztodban a webszerver.bloggolokám.meryo.hu-t attól még megoldást egyik sem ir.

de teljesen felvillanyoztál ezzel a gnupg dologgal minket...
linket plsss linket!!!!!

Nu akkor milyen szinten kellene itt elemezni a tcp adatáramlást ahhoz, hogy sany is megértse? Menjünk egésszen ethernet keretekig? Szerintem felelesleges. Az smtp tcp/ip kommunikációja során mi is történik?

  1. Az smtp szerver 25-ös porton figyel.
  2. Jön egy kliens aki erre portra kapcsolódik.
  3. Jön az smtp szerver válasza, hogy a kapcsolat lértejött.
  4. kliens küld egy
    ehlo "ip or hostname"

    sort, vagy

    helo

    kezdetű sort.

  5. 250-

    kezdettel a szerver elküldi mik a lehetőségei

  6. kliens elküldi a
    STARTTLS

    parancsot.

  7. tls kommunikáció indul
  8. auth indul
  9. ha auth ok akkor mailfrom, rcpt to, data, quit jön szépen sorban.

Ez látható az alábbiakban. Tehát a szerver tls-auth képes.


./smtp-client.pl --verbose --host=localhost --user=covek \
--from=covek@*****.hu --to=covek@covek.hu --enable-auth \
--data message-body.txt
Enter password for covek@localhost : 
[220] '*****.hu ESMTP Postfix (Debian/GNU)'
> EHLO localhost
[250] '*****.hu'
[250] 'PIPELINING'
[250] 'SIZE 10240000'
[250] 'VRFY'
[250] 'ETRN'
[250] 'STARTTLS'
[250] 'ENHANCEDSTATUSCODES'
[250] '8BITMIME'
[250] 'DSN'
Starting TLS...
> STARTTLS
[220] '2.0.0 Ready to start TLS'
Using cipher: ADH-AES256-SHA
Subject Name: undefined
Issuer  Name: undefined
> EHLO localhost
[250] '*****.hu'
[250] 'PIPELINING'
[250] 'SIZE 10240000'
[250] 'VRFY'
[250] 'ETRN'
[250] 'AUTH LOGIN PLAIN'
[250] 'AUTH=LOGIN PLAIN'
[250] 'ENHANCEDSTATUSCODES'
[250] '8BITMIME'
[250] 'DSN'
AUTH method (LOGIN PLAIN): using LOGIN
> AUTH LOGIN
[334] 'VXNlcm5hbWU6'
> Y292ZWs=
[334] 'UGFzc3dvcmQ6'
> Z2tvbHF3Z2s=
[235] '2.0.0 Authentication successful'
Authentication of covek@localhost succeeded
> MAIL FROM: <covek@*****.hu>
[250] '2.1.0 Ok'
> RCPT TO: <covek@covek.hu>
[250] '2.1.5 Ok'
> DATA
[354] 'End data with <CR><LF>.<CR><LF>'
[250] '2.0.0 Ok: queued as 3A5F434E655'
> QUIT
[221] '2.0.0 Bye'

A script megtalálható: itt

covek@covek.hu

" tcp adatáramlást ahhoz, hogy sany is megértse? "

Értem a tréfát. :)

Csakhogy ezt már leírtam.
idézet magamtól:
"Csak az a gond hogy a telnet kimenetben a tls az auth előtt van!"

Biztos nem vagyok guru, sőt nem is állítottam ilyet!
Csak próbáltam segíteni!
Lehet nem szaxerűen, ez a baj!?
Mindegy, majd valahogy lesz! :)

----------------------------------------------------------------
"Értem én hogy villanymotor, de mi hajtja!?

Az a gond a hozzaszolasaiddal, hogy tenyleg hatalmas marhasagokat tartalmaznak... Veled ellentetben van itt par ember, aki tudja, mi fan terem az SMTP, es nekunk tenyleg zavaro, ha a celiranyos hibakereses helyett zoldsegeket kell olvasnunk. Ne serteskent fogd fel, de csak olyan temakhoz celszeru hozzaszolni, ahol az ember alapos ismeretekkel rendelkezik, kulonben gyorsan szenne egetheti magat. Hiaba ismetelgeted a "STARTTLS az AUTH elott van!" szoveget, attol meg ez tokeletesen lenyegtelen. Az EHLO-ra adott valaszban nem a sorrend, hanem az opcio meglete szamit. Bovebben RFC2821 es kiegeszitesei, egyszer nem art, ha mindenki elolvassa, mi hogyan mukodik.

Akkor meg egyszer, a problema az, hogy egy bizonyos gepen a STARTTLS hianyzik az EHLO-ra adott valaszbol, pontosabban a TB panaszkodik a hianyara. NEM az AUTH-ra vadaszunk. A tcpdump alapjan a szerver elkuldi, a kliensprogram viszont nem kapja meg, legalabbis en igy ertelmezem a thread-et, majd Covek kijavit, ha nem igy van.

" Hiaba ismetelgeted a "STARTTLS az AUTH elott van!" szoveget, attol meg ez tokeletesen lenyegtelen."

Bocs, de tényleg nem civakodásképp! :)

Lényegtelen?

Akkor mire a titkosítás, ha az auth nem titkosított?!

EzeXerint sok marha van a világon, aki tls-ben reménykedik
hogy titkosított adatforgalmat remél!? :)

Másik dolog.

Smtp-ből megbuktam.

Rendben Tanár ÚR.

Ám Te szövegértelmezésből buktál meg, ami az anyanyelveden szólt hozzád! :)

covek: "Az auth csak tls fölött van engedélyezve."

Nincs harag, nem is volt! :)

----------------------------------------------------------------
"Értem én hogy villanymotor, de mi hajtja!?

> Bocs, de tényleg nem civakodásképp! :)
> Lényegtelen?
IGEN!!!

> Ám Te szövegértelmezésből buktál meg, ami az anyanyelveden szólt hozzád! :)
> covek: "Az auth csak tls fölött van engedélyezve."
TE buktal meg!!!
Szoval fussunk neki meg egyszer, pedig mar sokszor leirtak es tenelg nem nehez.
Tudjuk hogy: covek: "Az auth csak tls fölött van engedélyezve." < eddig megvan ugye?
Ahhoz hogy legyen TSL az kell, hogy a postfix kozolje a klienssel, hogy o biza TUD am TLS-t. < meg ezt is erted? (szolj ha nem)
Es a problema: win2k kliens eseten elfelejti kozolni a postfix, hogy o TUD TLS-t. < meg mindig erted? (nem hiszem el)
kovetkeztetes: nem megy win2k kliensekrol az authentikacio.
Ha mindent megertettel akkor ennek fenyeben olvasd ujra az amokfutasod, es legyszives hagyd a hozza ertoket segiteni.

York.

------
"Nyugi! Minden a legnagyobb rendben csúszik ki a kezeim közül..."

Es a problema: win2k kliens eseten elfelejti kozolni a postfix, hogy o TUD TLS-t. < meg mindig erted? (nem hiszem el)

Ha a tcpdump logot nézed akkor nem postfix oldali a probléma, mert az igen is küldi a

250-STARTTLS

sort.

kovetkeztetes: nem megy win2k kliensekrol az uthentikacio.

ez igaz.

covek@covek.hu

Szia

Nekem es igy elso korben virusirto gyanus. Minden kliensen ugyanaz a virusirto progi ugyanazon verzioja van?
Ha kikapcsolod a win2k-n futo virusirtot akkor se mukodik a tls?

York.

------
"Nyugi! Minden a legnagyobb rendben csúszik ki a kezeim közül..."

Jogos... Anno még a 2003-as Norton Antivirussal volt olyan gond, hogy átvette a levelet az outlooktól, és ő küldte tovább, mivel azonban az outlook ssl-es kapcsolatot indított, a víruskergető nem tudta analizálni az üzenetet, és hibával visszadobta. Ott az volt a megoldás, hogy a kimenő üzenetek víruskeresését ki kellett kapcsolni.

"
Es a problema: win2k kliens eseten elfelejti kozolni a postfix, hogy o TUD TLS-t. < meg mindig erted? (nem hiszem el)

Ha a tcpdump logot nézed akkor nem postfix oldali a probléma, mert az igen is küldi a 250-STARTTLS sort"

Köszönom. :) :D

Ugye milyen szar, ha az "ember" nem tud olvasni! :)

----------------------------------------------------------------
"Értem én hogy villanymotor, de mi hajtja!?