Postfix + Dovecot auth nem megy és kifogytam

Fórumok

Üdv !

Hozzátok fordulok, mert már kifogytam az ötletekből.
Az a gondom, hogy csinálok egy mail servert amin egy imap+smtp (Dovecot+POstfix) kombináció van. Az IMAP auth és levél olvasás megy rendesen, a levelek be is jönnek rá. A problémám, hogy a postfix a dovecot-on autholna elvileg. Elvben minden authentikált usernek kellene engedni levelet küldenie, de nem engedi.
Ubuntu 8.04 alatt próbálom. Olvasgattam már sokmindent, de most elakadtam.
A config és tesztr adott válasz az alábbi:

Telnetre a válasz smtp porton:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.example.hu ESMTP Postfix (Ubuntu)
EHLO white.example.hu
250-mail.example.hu
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN
250-AUTH=PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

main.cf tartalma:

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.

# Uncomment the next line to generate "delayed mail" warnings
delay_warning_time = 4h

readme_directory = no

myhostname = mail.example.hu
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = example.hu
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter =
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_authenticated_header = yes
debug_peer_level = 5
relay_domains = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_helo_required = yes
relayhost =
inet_interfaces = all
inet_protocols = ipv4
home_mailbox = Maildir/

smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_ccert_verifydepth = 3

smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = /private/auth
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

A dovecot be van állítva szépen, az auth socketet meg is találja a postfix. A postfix logban az látszik, hogy elutasítja a címzettet.

Merre induljak ?

Előre is köszi !

Hozzászólások

"myhostname = mail.example.hu"

Ez a "hosname -f" kimenete?

"A postfix logban az látszik, hogy elutasítja a címzettet."

MIért? az ok nincs a logban?
/var/log/mail.*

A logban ez van:

May 14 18:07:56 white postfix/smtpd[28973]: connect from dsl51B7A47E.pool.t-online.hu[81.183.164.126]
May 14 18:07:56 white postfix/smtpd[28973]: NOQUEUE: reject: RCPT from dsl51B7A47E.pool.t-online.hu[81.183.164.126]: 554 5.7.1 : Relay access denied; from= to= proto=ESMTP helo=
May 14 18:07:56 white postfix/smtpd[28973]: disconnect from dsl51B7A47E.pool.t-online.hu[81.183.164.126]

És igen, a myhostname -ban a rendes hostname van.

A relay_domains tenyleg ezt tartalmazza? Mert ha igen, igencsak nagy marhasag van odairva... Nem smtpd_client_restrictions akart ez lenni eredetileg?

Ahogy tesztelgettem, most azt látom, hogy az authentikáció sem az igazi, mivel ha nem állítok be jelszót vagy rosszat állítok be, akkor sem változik semmi.

Postfix SASL Howto

Dovecot SASL support-tal van fordítva a Postfix? Azért mert SASL alatt általában a cyrus féle saslauthd-t szokás érteni. Én mondjuk először azzal próbálnám meg belőni.
Másik: a Dovecot is megfelelően be van álítva, hogy adja a socket-et a leírás szerint?

Üdv,
Dw.

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

Ismerem azt a doksit. Csak a leírtakat megcsinálva nem mükszik.

Próbáltam a sima saslauth-ot is, de nem talált össze a postfix a saslathd sockettal. Pedig ottvolt ahol kell (igen.chroot-ban volt.).
Dovekot socket a helyén van és a jogosultságok is jók. De nem is keresi, mert ha igen, annak a logban lenne nyoma.

nekem ez "Relay access denied" azt mondja, hogy ahonnan küldeni szeretnéd a mail-t az nincs bent a mynetworks-ben. Itt az van, hogy csak localhost-ról fogad el küldést. Ha máshonnan próbálod, akkor az már relay, ami ebben az esetben máshonnan nem engedélyezett. Azaz más hálózati szegmensből. Mondjuk az IPv6-ot nem nyomom, így nem tudom, hogy azok az IP-k mit ölelnek fel.
Simán ha telnet localhost és auth, az sem megy?
Nyomj már ide egy telnet localhost 25-öt auth-al.
Ja és persze az erre írott messages mag maillog is előnyös lenne.

nemvagyok nagy szakerto, de a saslauthd fut ?

Köszönöm a segítségeket!

A helyzet a következő: saslauthd fut. A kliens mintha nem is próbálna authentikálni,mivel ha direkt rossz jelszót állítok be, akkor sem szól a hiba miatt. A logban nyoma sincsen authentikációnak, mint a korábban idézett log darabból is látsz. Próbáltam korábban sima saslauthd-s megoldást is, de az sem ment rendesen. Ez a dovecotos megoldás jobban tetszik, de nem akarja az igazságot.
Telnettel belépve a válasz szintén fent látható.

Nekem
main.cf:


smtpd_sasl_auth_enable = yes 
smtpd_sasl_authenticated_header = yes 
broken_sasl_auth_clients = yes 
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

relayhost = [mail.t-online.hu]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwords
smtp_sasl_security_options =

relay_domains =
mynetworks_style = host
mynetworks = 127.0.0.1/32, 192.168.1.0/24

t-online-on keresztül mennek kielé a levelek.
dovecot.conf:


auth default {
  # Space separated list of wanted authentication mechanisms:
  #   plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi
  mechanisms = plain login digest-md5 cram-md5

...

    client {
      # The client socket is generally safe to export to everyone. Typical use
      # is to export it to your SMTP server so it can do SMTP AUTH lookups
      # using it.
      #path = /var/run/dovecot/auth-client
      #mode = 0660
      path = /var/spool/postfix/private/auth
      mode = 0660
      user = postfix
      group = postfix
    }
  }

És megy minden szépen...


Connected to 127.0.0.1.
Escape character is '^]'.
220 gthomas.homelinux.org ESMTP Postfix (Debian/GNU)
EHLO white.example.hu
250-gthomas.homelinux.org
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

Kösznöm !

Sikerült is így megoldani. Már megy a küldés jelszóval szépen. Viszont van még egy kis problémám:

ha küldök levelet az admin@domainem.hu -ra, akkor visszadobja a szerver, hogy nincs ilyen local user.

Logba ezt látom:
May 16 09:16:54 white postfix/smtpd[29989]: warning: database /etc/aliases.db is older than source file /etc/aliases
May 16 09:16:54 white postfix/smtpd[29989]: NOQUEUE: reject: RCPT from mail01d.mail.t-online.hu[84.2.42.6]: 550 5.1.1 : Recipient address rejected: User unknown in local recipient table; from= to= proto=ESMTP helo=

Van is igaza, mivel nincs ilyen user a rendszerbe, de /etc/aliases -ben bentvan, hogy az admin: rendesuser . A logból azt látom, hogy nem frissült talán az aliases.db. HOgyan tudom frissíteni ?

Kicsit még kínlódok az aliasokkal.

A gondom a következő: mostmár friss az aliases.db, bejön a levél az admin@domainem.hu címre, de nem kapom meg. A logbejegyzés az alábbi:

May 17 08:36:52 white postfix/smtpd[4434]: connect from mail02d.mail.t-online.hu[84.2.42.7]
May 17 08:36:53 white postfix/smtpd[4434]: 04B7B32: client=mail02d.mail.t-online.hu[84.2.42.7]
May 17 08:36:53 white postfix/cleanup[4438]: 04B7B32: message-id=
May 17 08:36:53 white postfix/qmgr[4153]: 04B7B32: from=, size=7432, nrcpt=1 (queue active)
May 17 08:36:53 white postfix/smtpd[4434]: disconnect from mail02d.mail.t-online.hu[84.2.42.7]
May 17 08:36:53 white postfix/cleanup[4438]: 094B1F3CE: message-id=
May 17 08:36:53 white postfix/qmgr[4153]: 094B1F3CE: from=, size=7563, nrcpt=1 (queue active)
May 17 08:36:53 white postfix/local[4439]: 04B7B32: to=, relay=local, delay=0.11, delays=0.08/0.01/0/0.02, dsn=2.0.0, status=sent (forwarded as 094B1F3CE)
May 17 08:36:53 white postfix/qmgr[4153]: 04B7B32: removed
May 17 08:36:53 white postfix/smtp[4440]: 094B1F3CE: to=, orig_to=, relay=none, delay=0.06, delays=0.02/0.02/0.02/0, dsn=5.4.6, status=bounced (mail for white.domainem.hu loops back to myself)
May 17 08:36:53 white postfix/cleanup[4438]: 1A148F3DB: message-id=<20080517063653.1A148F3DB@white.domainem.hu>
May 17 08:36:53 white postfix/qmgr[4153]: 1A148F3DB: from=<>, size=9485, nrcpt=1 (queue active)
May 17 08:36:53 white postfix/bounce[4441]: 094B1F3CE: sender non-delivery notification: 1A148F3DB
May 17 08:36:53 white postfix/qmgr[4153]: 094B1F3CE: removed
May 17 08:36:53 white postfix/smtp[4440]: 1A148F3DB: to=, relay=mail.felado.hu[212.52.xx.xx]:25, delay=0.3, delays=0.01/0/0.05/0.24, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 2D4C119042)
May 17 08:36:53 white postfix/qmgr[4153]: 1A148F3DB: removed

A gond itt lehet: (mail for white.domainem.hu loops back to myself)

Mit tudok ezzel csinálni? Ha jól értem saját magának adná vissza, ami gond. Hozzá tartozik, hogy 2 domain levelei is ide futnak be. A domainem.hu és a masodik_domainem.com is ide jön. Elvileg az admin@masodik_domainem.com levelei a alias_cimzett@domainem.hu -re kéne jönniük, ahol az alias_cimzett valós usernek.

Íme a config:

root@white:~# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
delay_warning_time = 4h
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = ipv4
mailbox_size_limit = 0
mydestination = domainem.hu
myhostname = white.domainem.hu
mynetworks = 87.229.xx.xx 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
readme_directory = no
relay_domains =
relayhost =
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
virtual_alias_domains = masodik_domainem.com
virtual_alias_maps = hash:/etc/postfix/virtual

A virtual pedig:
root@white:/etc/postfix# cat virtual
postmaster@masodik_doimainem.com linux_user
admin@masodik_doimainem.com linux_user
root@masodik_doimainem.com linux_user

Megnéztem a sima aliases-ben lívő virtual usereknek (pl. postmaster) sem jön be a levél, hanem kidobja azt is. Gondolom az ok ugyanaz lehet. de mi ?
Valami ötlet ? Nekem ez az első postfix szerver, szóval még szívok minden aprósággal.

Furcsa, nem latok hibat a konfigban. Az aliases-t ne keverjuk ossze a virtual-lal, van koztuk kulonbseg. A virtual tablaban ugye egy sorban van a postmaster@... es a linux_user? A 'postmap -q postmaster@masodik_domain.com hash:/etc/postfix/virtual' vissza is adja? Azt hiszem, ideje bebillenteni a debug_peer_list opciot, akkor majd kiderul a turpissag.