postfix/mysql/pam problem

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
nicki
Beiträge: 53
Registriert: 31.03.2003 21:27:23

postfix/mysql/pam problem

Beitrag von nicki » 23.10.2003 01:30:59

hallo zusammen,

bei all den problemen mit der postfix-konfiguration war es fast klar, dass es bei mir auch welche geben würde :-(
ich habe alle möglichen threads gelesen, gegooglet und mir nächteweise um die ohren geschlagen, aber hier trotzdem mein problem:

postfix soll per smtp-auth mails annehmen, die userdaten befindet sich dabei in einer mysql-db. das ganze soll über pam laufen.

ertsmal ein teil meiner /etc/postfix/main.cf (ich hoffe der hierfür wichtige teil):

Code: Alles auswählen

smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_relay_domains
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
wie in zahlrechen threads beschrieben habe ich in /var/spool/postfix/etc/pam.d/smtp

Code: Alles auswählen

auth required pam_mysql.so user=postfix passwd=xxxxxxxxxx host=127.0.0.1 db=emailusers table=users usercolumn=email passwdcolumn=password crypt=1

account sufficient pam_mysql.so user=postfix passwd=xxxxxxxxxx  host=127.0.0.1 db=emailusers table=users usercolumn=email passwdcolumn=password crypt=1
damit pam benutz wird steht in /etc/postfix/sasl/smtpd.conf

Code: Alles auswählen

pwcheck_method: pam
außerdem habe ich die pam_mysql.so in /var/spool/postfix/lib/security/ kopiert.


damit postfix aus seiner chroot-umgebung rauskommt habe ein mal nen link auf den socket aus der chroot-umgebung gelegt (dann bei host=localhost) und ein anderes mal in /etc/mysql/my.cnf skip-networking deaktiviert (host=127.0.0.1).

versuche ich jetzt allerdinmgs ne mail abzusetzen habe ich folgendes in der mail.log

Code: Alles auswählen

Oct 23 02:45:21 testserver postfix/smtpd[15242]: connect from p50916222.dip.t-dialin.net[80.145.98.80]
Oct 23 02:45:22 testserver postfix/smtpd[15242]: PAM _pam_init_handlers: no default config /etc/pam.d/other
Oct 23 02:45:22 testserver postfix/smtpd[15242]: pam_mysql: MySQL err Can't connect to MySQL server on '127.0.0.1' (111) 
Oct 23 02:45:22 testserver postfix/smtpd[15242]: warning: p50916250.dip.t-dialin.net[80.145.98.80]: SASL LOGIN authentication failed
Oct 23 02:45:27 testserver postfix/smtpd[15242]: disconnect from p50916222.dip.t-dialin.net[80.145.98.80]
aus dem ganzen hier werde ich jetzt nicht so recht schlau...
hoffentlich erbarmt sich einer der gurus ;-)

lieber gruß
nick

Criena
Beiträge: 99
Registriert: 12.05.2002 18:43:48
Wohnort: Neu-Isenburg
Kontaktdaten:

Beitrag von Criena » 23.10.2003 17:27:32

Ich bin zwar keiner der Gurus und darum kann ich dir vermutlich nicht wirklich helfen, aber das stark danach aus als ob deine "Link in Chroot-Umgebung"-Lösung nicht funktioniert. Das Log sagt ja ganz deutlich, daß er nicht zum MySQL-Server connecten konnte.

Ich verwende auch SMTP-Auth mit MySQL, hab aber die Chroot-Umgebung ausgeschaltet. Ist das für dich nicht akzeptabel oder geht es nur ums Prinzip (was funktionieren müßte, sollte es auch tun :wink:)? Ich hatte bis noch keine Sicherheits-Probleme.

Grüße,
Criena

nicki
Beiträge: 53
Registriert: 31.03.2003 21:27:23

Beitrag von nicki » 23.10.2003 20:34:48

zur sicherheit: hmmm, es ist zwar kein server, auf dem wichtige sachen sind, eher zum testen und rumspielen, aber trotzdem hängt er am internet und ich möchte da nicht potentiell tür und tor öffnen.

die vermutung mit der chroot-umgebung hatte ich auch sofort und habe deshalb beide oben beschriebenen möglichkeiten, aus der chroot raus, mit mysql zu kommunizieren, ausgetestet. was ich aber gar nicht verstehe, ist die zeile im error-log vor der cannot connect zeile, also die mit dem pam no default config. da weiß ich schonmal nicht, wo ansetzen, um dem error auf die spur zu kommen...

aber trotzdem danke :-)

gruß
nicki

xhacker
Beiträge: 37
Registriert: 23.12.2002 21:50:16

Beitrag von xhacker » 24.10.2003 08:29:49

Hi,

hatte ein aehnliches Problem.
Wenn Du Networking bei MySQL deaktivierst, musst Du in der PostFix chroot() Umgebung dafuer sorgen, dass der Unix Socket zur Verfuegung steht, zB durch einen Link. Der Socket liegt also unter der PostFix chroot() Umgebung, wird aber von ausserhalb referenziert, dann brauchst Du MySQL nicht anpassen.

Die andere Variante, die ich bevorzuge, erlaubt Networking in MySQL, aber ich connecte weiterhin ueber 127.0.0.1. Wenn Du dort localhost eintraegst, wird aber wiederrum der Unix Socket verwendet.

Du kannst ja dem DB User erlauben, nur von 127.0.0.1 zu connecten. Zusaetzlich sollte man sowieso eine Firewall laufen lassen, und wenn man dann MySQL nur an die Netzwerk-Devices lo und eth0 (zB) bindet, sollte das sicher genug sein.

HTH

nicki
Beiträge: 53
Registriert: 31.03.2003 21:27:23

Beitrag von nicki » 24.10.2003 14:06:50

hey xhacker,

genau das hab ich schon beides probiert... (siehe erstes posting im threas)...

trotzdem danke!
nicki

xhacker
Beiträge: 37
Registriert: 23.12.2002 21:50:16

Beitrag von xhacker » 24.10.2003 14:56:19

Hi,

ok... dann hatte ich wohl falsch gelesen. :wink:

Dann check doch nochmal die Einstellungen fuer den User, der connecten will. Ich hatte teilweise Probleme mit den Berechtigungen fuer den MySQL User, speziell das Host Feld verhaelt sich manchmal merkwuerdig. Evtl. sollte dort 127.0.0.1 als Host stehen.

HTH

Antworten