Postfix, SASL probléma

A vállalti exchange előtt van egy postfix (debian 6-on) és rajta SASL

Befelé csak az adott domain-re fogad mailt, minden mást eldob, tehát ez működik

Van 2 roadwarrior, akinek meg akarom nyitni az smtp szerverünket, hogy authentikáció után tudjanak mailt küldeni.

DE nem megy... ötlet?

a postfix main.cf-be ez került


smtpd_sasl_auth_enable = yes
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_local_domain = domainünk.hu
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject
smtpd_tls_auth_only = no
smtpd_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

/etc/postfix/sasl/smtpd.conf-ba ez

#global parameters
log_level: 5
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM

van egy user:password felvéve az /etc/postfix/sasl_passwd fileban

postmap sasl_passwd lefut, de csak ha a user és a pass között nincs :

log:

Apr 29 15:02:02 szita postfix/smtpd[16857]: connect from xxxxxxxxx.fixip.t-online.hu[x.x.x.x]
Apr 29 15:02:07 szita postfix/smtpd[16857]: warning: SASL authentication problem: unable to open Berkeley db /etc/$
Apr 29 15:02:07 szita postfix/smtpd[16857]: warning: SASL authentication failure: no secret in database
Apr 29 15:02:07 szita postfix/smtpd[16857]: warning: xxxxxxx.fixip.t-online.hu[x.x.x.x]: SASL NTLM authen$
Apr 29 15:02:11 szita postfix/smtpd[16857]: disconnect from xxxxxxxx.fixip.t-online.hu[x.x.x.x]

Hozzászólások

Olyan, mintha nem találná a usereket tároló DB-fájlt.

open Berkeley db /etc/$

Vagy csak levágta a konzolod a sorok végét? :)

Esetleg nézd meg, hogy mi van beállítva a /etc/default/saslauthd fájlban (elég beszédesek a kommentek).

Nálunk így néz ki (IMAP authentikácival):


MECHANISMS="rimap"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -O 127.0.0.1 -r"

Postfixnél figyelni kell rá, hogy a -m paraméternél olyan elérést adj meg, ami a /var/spool/postfix könyvtár alatt van, mivel a postfix chroot-olja a processeit ebbe a könyvtárba.

Hülye kérdés: postmap /etc/postfix/sasl_passwd volt?

--
Debian Linux rulez... :D

"The reason that it can't find /etc/sasldb2 even though you've created it (hopefully) using saslpasswd2 is that saslauthd chroots (by default) to /var/spool/postfix for security. Thus, despite the authentication daemon thinking it's checking /etc/sasldb2 and this is where the saslpasswd2 creates the database, it's not there. Simply copy /etc/sasldb2 to /var/spool/postfix/etc/sasldb2 and the problem will be fixed. "

Ez megoldotta, most már "csak" annyi a baj, hogy nem fogadja el a saslpasswd2-vel beállított user jelszavát...

nem lehet hogy rosszul próbálod, szerintem te nem ezt akarod használni az smtp_sasl... dolgokat

vagy én értem félre

smtp_sasl_password_maps
Enabling SASL authentication in the Postfix SMTP/LMTP client
ez arra szolgál ha csak nem állítottál át mindent, hogy amikor a postfix levelet küld és a szerver akinek küldi kér auth-t akkor innen tudja kiszedni, hogy milyen auth kell

smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
/etc/postfix/sasl_passwd:
# destination credentials
[mail.isp.example] username:password
# Alternative form:
# [mail.isp.example]:submission username:password

http://www.postfix.org/SASL_README.html

Pont az nem ezt akarom..
Szóval: Van az exchange előtt egy Debian + postfix + spamassassin + stb relay ként, csak a mi domainünkre fogad el bejövő mailt. Ez működik is
Két roadwarriornak akarom engedélyezni, hogy a postfix-es debian-on keresztül kívülről, vmiféle authentikációval tudjanak mailt küldeni...

1. Próbáld meg debuggolni a saslauthd-t, hátha többet látsz így a kimenetben:


/etc/init.d/saslauthd stop
/usr/sbin/saslauthd -c -m /var/spool/postfix/var/run/saslauthd -d

2. Alternatív megoldás: saslauthd PAM üzemmódban, userek tárolása egy libpam-pwdfile fájlban.

a. Telepítsd a libpam-pwdfile és az apache2-utils csomagokat:

apt-get install libpam-pwdfile apache2-utils

b. Nyisd meg az /etc/defaults/saslauthd fájlt, és szerkeszd az alábbiak szerint:

MECHANISMS="pam"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

c. Hozd létre a /etc/pam.d/smtp fájlt az alábbi tartalommal:


auth required pam_pwdfile.so pwdfile=/etc/postfix/postfix.users
account required    pam_permit.so

d. Hozd létre a usereket és jelszavaikat tároló fájlt az alábbi paranccsal:

htpasswd -c /etc/postfix/postfix.users (usernev)

e. Indítsd újra a saslauthd-t és a postfix-et, és tesztelj. Bár nem próbáltam ki, de ennek így működnie kell.