Discussion:
sendmail: SMTP mit Login (bei GMX)
(zu alt für eine Antwort)
Bernhard Lange
2005-03-28 13:09:00 UTC
Permalink
Hallo,

ich möchte gerne bei GMX meine e-Mails mit SMTP mit Login abliefern.
Leider versucht mein sendmail offenbar gar nicht erst SMTP mit Login,
da ich stets die Fehlermeldung "Need to authenticate via SMTP-AUTH-Login"
erhalte.

Auszug aus der sendmail.mc:
===========================
define('confAUTH_MECHANISMS', 'PLAIN LOGIN')dnl
define('confDEF_AUTH_INFO', '/etc/mail/authinfo')dnl
TRUST_AUTH_MECH('PLAIN LOGIN')dnl
FEATURE('authinfo', 'hash /etc/mail/authinfo')dnl

/etc/mail/authinfo:
===================
AuthInfo:mail.gmx.net "U:1234567" "I:1234567" "P:xxx" "R:mail.gmx.net" "M:PLAIN"

Kann mir bitte jemand einen Rat geben, woran es liegen kann, wenn
sendmail SMTP mit Login gar nicht erst versucht? M.E. nach steht
doch explizit da, dass er die authinfo verwenden soll...

Bei wem funktiniert mit sendmail SMTP mit Login, konkret bei GMX?

Viele Grüße, Bernhard
*********************
Alexander Dalloz
2005-03-28 14:01:39 UTC
Permalink
Post by Bernhard Lange
ich möchte gerne bei GMX meine e-Mails mit SMTP mit Login abliefern.
Leider versucht mein sendmail offenbar gar nicht erst SMTP mit Login,
da ich stets die Fehlermeldung "Need to authenticate via SMTP-AUTH-Login"
erhalte.
===========================
define('confAUTH_MECHANISMS', 'PLAIN LOGIN')dnl
define('confDEF_AUTH_INFO', '/etc/mail/authinfo')dnl
TRUST_AUTH_MECH('PLAIN LOGIN')dnl
FEATURE('authinfo', 'hash /etc/mail/authinfo')dnl
===================
AuthInfo:mail.gmx.net "U:1234567" "I:1234567" "P:xxx" "R:mail.gmx.net" "M:PLAIN"
Wieso mail.gmx.net als realm? Das macht keinen Sinn.
Das authinfo File ist auch gehashed?
Post by Bernhard Lange
Kann mir bitte jemand einen Rat geben, woran es liegen kann, wenn
sendmail SMTP mit Login gar nicht erst versucht? M.E. nach steht
doch explizit da, dass er die authinfo verwenden soll...
Bei wem funktiniert mit sendmail SMTP mit Login, konkret bei GMX?
Viele Grüße, Bernhard
Hast du irgendwo mail.gmx.net als relay host definiert? Weil bei Abfrage
der MX records für gmx.de und gmx.net bekomme ich jeweils mx0.gmx.de und
mx0.gmx.net. Folglich wird Sendmail von allein auch nicht mail.gmx.net
verwenden. Entweder du trägst in der sendmail.mc

define(`SMART_HOST',`[mail.gmx.net')

- die eckigen Klammern sind wichtig -

ein - wenn du sowieso ausschließlich per GMX versendest -, oder du
verwendest mailertable Einträge

gmx.de smtp:[mail.gmx.net]
gmx.net smtp:[mail.gmx.net]

Doku: http://www.sendmail.org/m4/mailertables.html
In jedem Falle hilft das Studieren des maillog Files weiter, da man dort
sieht, welcher Host kontaktiert wird, etc.

Alexander
--
Alexander Dalloz | Enger, Germany | GPG http://pgp.mit.edu 0xB366A773
legal statement: http://www.uni-x.org/legal.html
Fedora Core 2 GNU/Linux on Athlon with kernel 2.6.10-1.770_FC2smp
Serendipity 15:50:27 up 11 days, 12:46, load average: 0.57, 0.54, 0.46
Alexander Dalloz
2005-03-28 14:06:30 UTC
Permalink
Post by Bernhard Lange
===========================
define('confAUTH_MECHANISMS', 'PLAIN LOGIN')dnl
define('confDEF_AUTH_INFO', '/etc/mail/authinfo')dnl
TRUST_AUTH_MECH('PLAIN LOGIN')dnl
FEATURE('authinfo', 'hash /etc/mail/authinfo')dnl
Beim 1. Lesen gar mir nicht aufgefallen: die quotes sind verkehrt und
sollten beim Versuch, mit m4 eine sendmail.cf zu bauen, zu Fehlermeldungen
führen. Ein Paar ist nicht '', sonder `'.

Korrektur meiner anderen Antwort:

define(`SMART_HOST',`[mail.gmx.net]')dnl

für den smart host Eintrag. Ich hatte die schließende eckige Klammer
unterschlagen.

Alexander
--
Alexander Dalloz | Enger, Germany | GPG http://pgp.mit.edu 0xB366A773
legal statement: http://www.uni-x.org/legal.html
Fedora Core 2 GNU/Linux on Athlon with kernel 2.6.10-1.770_FC2smp
Serendipity 16:03:03 up 11 days, 12:59, load average: 0.17, 0.35, 0.44
Bernhard Lange
2005-03-28 15:20:52 UTC
Permalink
Hallo Alexander,

vielen Dank für Deine Hinweise. Leider bewegt sich die Sache noch
keinen Millimeter. :-(

Hier noch einmal meine geänderte config:
(die Anführungszeichen sind im Original korrekt, sondern nur hier
editiert..., einem cut & paste per Maus geschuldet)

define('SMART_HOST', '[mail.gmx.net]')dnl
define('confAUTH_MECHANISMS', 'PLAIN LOGIN')dnl
define('confDEF_AUTH_INFO', '/etc/mail/authinfo')dnl
TRUST_AUTH_MECH('PLAIN LOGIN')dnl
FEATURE('authinfo', 'hash -o /etc/mail/authinfo.db')dnl

so sieht mein /var/log/maillog aus:

sendmail[1578]: started as: /usr/sbin/sendmail -O LogLevel=16 -bd -q14d
sm-msp-queue[1587]: starting daemon (8.12.8): ***@14+00:00:00
sendmail[1592]: j2SEmVk9001592: from=<***@fox.forest.de>, size=352, class=0, nrcpts=1, msgid=<Pine.LNX.4.44.0503281648261.1
sendmail[1596]: NOQUEUE: connect from localhost [127.0.0.1]
sendmail[1596]: AUTH: available mech=PLAIN LOGIN ANONYMOUS, allowed mech=PLAIN LOGIN
sendmail[1596]: j2SEmVgJ001596: Milter: no active filter
sendmail[1596]: j2SEmVgJ001596: --- 220 fox.forest.de ESMTP Sendmail 8.12.8/8.12.8; Mon, 28 Mar 2005 16:48:31 +0200
sendmail[1596]: j2SEmVgJ001596: <-- EHLO fox.forest.de
sendmail[1596]: j2SEmVgJ001596: --- 250-fox.forest.de Hello localhost [127.0.0.1], pleased to meet you
sendmail[1596]: j2SEmVgJ001596: --- 250-ENHANCEDSTATUSCODES
sendmail[1596]: j2SEmVgJ001596: --- 250-PIPELINING
sendmail[1596]: j2SEmVgJ001596: --- 250-EXPN
sendmail[1596]: j2SEmVgJ001596: --- 250-VERB
sendmail[1596]: j2SEmVgJ001596: --- 250-8BITMIME
sendmail[1596]: j2SEmVgJ001596: --- 250-SIZE
sendmail[1596]: j2SEmVgJ001596: --- 250-DSN
sendmail[1596]: j2SEmVgJ001596: --- 250-ETRN
sendmail[1596]: j2SEmVgJ001596: --- 250-AUTH PLAIN LOGIN
sendmail[1596]: j2SEmVgJ001596: --- 250-DELIVERBY
sendmail[1596]: j2SEmVgJ001596: --- 250 HELP
sendmail[1596]: j2SEmVgJ001596: <-- MAIL From:<***@fox.forest.de> SIZE=352 BODY=8BITMIME
sendmail[1596]: j2SEmVgJ001596: --- 250 2.1.0 <***@fox.forest.de>... Sender ok
sendmail[1596]: j2SEmVgJ001596: <-- RCPT To:<***@gmx.net>
sendmail[1596]: j2SEmVgJ001596: --- 250 2.1.5 <***@gmx.net>... Recipient ok
sendmail[1596]: j2SEmVgJ001596: <-- DATA
sendmail[1596]: j2SEmVgJ001596: --- 354 Enter mail, end with "." on a line by itself
sendmail[1596]: j2SEmVgJ001596: from=<***@fox.forest.de>, size=527, class=0, nrcpts=1, msgid=<Pine.LNX.4.44.0503281648261.1
sendmail[1596]: j2SEmVgJ001596: --- 050 <***@gmx.net>... queued
sendmail[1596]: j2SEmVgJ001596: to=<***@gmx.net>, delay=00:00:00, mailer=relay, pri=30480, stat=queued
sendmail[1596]: j2SEmVgJ001596: --- 250 2.0.0 j2SEmVgJ001596 Message accepted for delivery
sendmail[1595]: j2SEmVk9001592: to=<***@gmx.net>, ctladdr=<***@fox.forest.de> (1000/100), delay=00:00:00, xdelay=
sendmail[1596]: j2SEmVgK001596: <-- QUIT
sendmail[1596]: j2SEmVgK001596: --- 221 2.0.0 fox.forest.de closing connection
sendmail[1600]: STARTTLS=client, relay=[mail.gmx.net], version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/
sendmail[1600]: j2SEmVgJ001596: to=<***@gmx.net>, ctladdr=<***@fox.forest.de> (1000/100), delay=00:00:09, xdelay=
sendmail[1600]: j2SEmVgJ001596: j2SEmcvT001600: DSN: Service unavailable
sendmail[1600]: j2SEmcvT001600: to=<***@fox.forest.de>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31736, dsn=2.0.0

irgendwie scheint sich die Authinfo gar nicht zu zucken, jedenfalls
macht mich dieses log auch nicht schlauer, warum es nicht gehen könnte.

Hast Du noch eine Idee? Ich habe es schon mehrfach versucht, sendmail
mit SMTP mit Login zu konfigurieren und jedesmal mußte ich bisher ent-
nervt aufgeben, ich habe den Fehler (oder die Fehler?) bis heute nicht
gefunden. :-(

Viele Grüße, Bernhard
*********************
Alexander Dalloz
2005-03-28 17:42:32 UTC
Permalink
Post by Bernhard Lange
Hallo Alexander,
vielen Dank für Deine Hinweise. Leider bewegt sich die Sache noch
keinen Millimeter. :-(
(die Anführungszeichen sind im Original korrekt, sondern nur hier
editiert..., einem cut & paste per Maus geschuldet)
define('SMART_HOST', '[mail.gmx.net]')dnl
define('confAUTH_MECHANISMS', 'PLAIN LOGIN')dnl
define('confDEF_AUTH_INFO', '/etc/mail/authinfo')dnl
http://www.sendmail.org/~ca/email/auth.html#AUTH
Lies dort mal bitte den Hinweis zu Sendmail 8.12. Den Absatz unterhalb von
"Security Warning" - der ist für dich relevant.
Post by Bernhard Lange
TRUST_AUTH_MECH('PLAIN LOGIN')dnl
FEATURE('authinfo', 'hash -o /etc/mail/authinfo.db')dnl
Du solltest auch das "-o" raus nehmen, weil du so Fehler im has File nicht
auf die spur kommst.
[ schnipp ]

Dein Sendmail 8.12.8 ist hoffentlich eine gepatchted Version!
Post by Bernhard Lange
irgendwie scheint sich die Authinfo gar nicht zu zucken, jedenfalls
macht mich dieses log auch nicht schlauer, warum es nicht gehen könnte.
Das liegt höchst wahrscheinlich an dem oben genannten Umstand "default
8.12 configuration file causes the option DefaultAuthInfo to fail".
Post by Bernhard Lange
Hast Du noch eine Idee? Ich habe es schon mehrfach versucht, sendmail
mit SMTP mit Login zu konfigurieren und jedesmal mußte ich bisher ent-
nervt aufgeben, ich habe den Fehler (oder die Fehler?) bis heute nicht
gefunden. :-(
Du kannst alternativ der Einfachheit halber deine Client AUTH Daten in die
access_db aufnehmen.
Post by Bernhard Lange
Viele Grüße, Bernhard
Alexander
--
Alexander Dalloz | Enger, Germany | GPG http://pgp.mit.edu 0xB366A773
legal statement: http://www.uni-x.org/legal.html
Fedora Core 2 GNU/Linux on Athlon with kernel 2.6.10-1.770_FC2smp
Serendipity 19:37:16 up 11 days, 16:33, load average: 0.68, 0.66, 0.63
Bernhard Lange
2005-03-29 12:44:46 UTC
Permalink
Post by Alexander Dalloz
http://www.sendmail.org/~ca/email/auth.html#AUTH
Lies dort mal bitte den Hinweis zu Sendmail 8.12. Den Absatz unterhalb von
"Security Warning" - der ist für dich relevant.
Hmm, offen gesagt als jemand, der sich sonst das ganze Jahr über _nicht_ mit
sendmail (und auch nicht mit anderen MTAs) beschäftigt, werde ich aus der
Notice nicht so richtig schlau, was damit gemeint ist bzw. was ich deshalb
nun tun soll... Sorry, falls ich "auf dem Schlauch" stehe, aber wäre dankbar
für eine kurze Erklärung.
Post by Alexander Dalloz
Dein Sendmail 8.12.8 ist hoffentlich eine gepatchted Version!
Ich hoffe es... Es ist zumindest die aktuellste .rpm-Version, die ich auf
dem Server von Red Hat (meine Distribution) finden konnte. Sie nennt sich:

sendmail-8.12.8-9.90.i386.rpm

Nochmal zum Vergleich, meine authinfo:

AuthInfo:mail.gmx.net "U:1234567" "I:1234567" "P:Geheim" "R:mail.gmx.net" "M:PLAIN"

...also hier brauche ich im Gegensatz zum

define(`SMART_HOST', `[mail.gmx.net]')dnl

keine eckigen Klammern verwenden, ok? Manchmal habe ich auch nich die
Versionen define(`SMART_HOST', `smtp:[mail.gmx.net]')dnl oder
define(`SMART_HOST', `esmtp:[mail.gmx.net]')dnl
gesehen, ist da eine zu bevorzugen?

Kostet offen gesagt ganz schön Kraft, da nicht einfach aufzugeben... ;-)

Viele Grüße, Bernhard
Alexander Dalloz
2005-03-29 15:01:52 UTC
Permalink
Post by Bernhard Lange
Post by Alexander Dalloz
http://www.sendmail.org/~ca/email/auth.html#AUTH
Lies dort mal bitte den Hinweis zu Sendmail 8.12. Den Absatz unterhalb von
"Security Warning" - der ist für dich relevant.
Hmm, offen gesagt als jemand, der sich sonst das ganze Jahr über _nicht_ mit
sendmail (und auch nicht mit anderen MTAs) beschäftigt, werde ich aus der
Notice nicht so richtig schlau, was damit gemeint ist bzw. was ich deshalb
nun tun soll... Sorry, falls ich "auf dem Schlauch" stehe, aber wäre dankbar
für eine kurze Erklärung.
Ok :) Mein Hinweis bezog sich auf diesen Hinweis:

"Notice: the default 8.12 configuration file causes the option
DefaultAuthInfo to fail since the ruleset authinfo is in the .cf file. If
you really want to use DefaultAuthInfo (it is deprecated) then you have to
remove the ruleset."

Da du Sendmail 8.12.8 einsetzt und sich in deiner sendmail.mc die Zeile

define(`confDEF_AUTH_INFO', `/etc/mail/authinfo')dnl

findet, bist du genau in jene Fall gerannt. Nimm also diese Zeile einfach
heraus. Statt

FEATURE(`authinfo', `hash -o /etc/mail/authinfo.db')dnl

solltest du, wenn du das authinfo hashed File benutzen möchtest, folgende
Form verwenden:

FEATURE(`authinfo')dnl

Wie erwähnt könntest du auch einfach die AuthInfo Zeile direkt in die
/etc/mail/access eintragen und dir obige Zeile und Konfiguration sparen.
Wobei du dann natürlich streng auf die Rechte der access_db achten
solltest. Verwendest du die authinfo, dann vergesse das Hashen des plain
Text Files nicht.
Post by Bernhard Lange
Post by Alexander Dalloz
Dein Sendmail 8.12.8 ist hoffentlich eine gepatchted Version!
Ich hoffe es... Es ist zumindest die aktuellste .rpm-Version, die ich
auf dem Server von Red Hat (meine Distribution) finden konnte. Sie nennt
sendmail-8.12.8-9.90.i386.rpm
Na ok, immerhin die gegen den letzten sehr ernsten bug gepatchte Version.
Red Hat 9 wird übrigens noch vom Fedora Legacy Project
sicherheitstechnisch verpflegt. Deren Repository solltest du ganz dringend
mal in up2date oder yum einbinden und nutzen.
Post by Bernhard Lange
AuthInfo:mail.gmx.net "U:1234567" "I:1234567" "P:Geheim"
"R:mail.gmx.net" "M:PLAIN"
Der realm (R:mail.gmx.net) ist überflüssig.
Post by Bernhard Lange
...also hier brauche ich im Gegensatz zum
define(`SMART_HOST', `[mail.gmx.net]')dnl
Die eckigen Klammern unterdrücken die DNS MX Auflösung, die andere Hosts
zu Tage fördern würde. Der Server in der AuthInfo Zeile muss aber mit
dem überein stimmen, den dein Sendmail als Client kontaktiert. In der
AuthInfo Zeile sind keine eckigen Klammern zu verwenden.
Post by Bernhard Lange
keine eckigen Klammern verwenden, ok? Manchmal habe ich auch nich die
Versionen define(`SMART_HOST', `smtp:[mail.gmx.net]')dnl oder
define(`SMART_HOST', `esmtp:[mail.gmx.net]')dnl
gesehen, ist da eine zu bevorzugen?
Es sollte weder SMTP noch ESMTP ein Problem bereiten. "smtp" bzw. "esmtp"
vor dem Doppelpunkt geben jeweils den zu verwendenden Mailer an.
Post by Bernhard Lange
Kostet offen gesagt ganz schön Kraft, da nicht einfach aufzugeben...
Dran bleiben und die Hintergründe verstehen. Syntax ist eine Sache, eine
andere, dass man als MTA Betreiber schon in Grundzügen die Zusammenhänge
wissen sollte und auch die Begrifflichkeiten einzuordnen weiß.
Es wird schon, du bist ganz kurz vor deinem Erfolgserlebnis ;)
Post by Bernhard Lange
Viele Grüße, Bernhard
Alexander
--
Alexander Dalloz | Enger, Germany | GPG http://pgp.mit.edu 0xB366A773
legal statement: http://www.uni-x.org/legal.html
Fedora Core 2 GNU/Linux on Athlon with kernel 2.6.10-1.770_FC2smp
Serendipity 16:41:26 up 12 days, 13:37, load average: 0.52, 0.51, 0.52
Bernhard Lange
2005-03-30 10:26:02 UTC
Permalink
Hallo liebe Helfer,

zu dem einen Poster möchte ich sagen, es ist zwar richtig, dass ich
mich sonst das ganze Jahr über nicht mit MTAs beschäftige, aber etwas
Grundwissen ist trotzdem schon vorhanden... Ansonsten hätte ich es
nicht geschafft, nachfolgend genannte sendmail.mc + diverse Konfigu-
rationsdateien selbständig zu entwickeln. Das Queueing funktioniert
sehr gut, die Maskierung der e-Mail-Adressen, nur die neu in Angriff
genommene SMTP Authentifizierung will und will einfach nicht. Dabei
soll das doch gar nicht so schwer sein. Alle möglichen Ratschläge
habe ich schon nach bestem Wissen befolgt...

Das einzige, was sich seit dem letzten Ratschlag von Alexander ver-
550 5.7.0 {mp028} Need to authenticate via SMTP-AUTH-Login
Service unavailable
hash map "Alias0": unsafe map file /etc/aliases.db: Permission denied
<***@fox.forest.de>... WARNING: cannot open alias database /etc/aliases;
reading text version
/etc/aliases: 63 aliases, longest 10 bytes, 625 bytes total

Die Meldung mit der /etc/aliases kam noch hinzu, seit ich die
letzten Ratschläge von Alexander eingebaut hatte. Vorher kam die
Meldung eigenartigerweise nicht. Ein zusätzliches Leserecht für
alle brachte erstmal Abhilfe, da ich keine sicherheitsrelevanten
Daten in dieser Datei entdecken konnte.

Ansonsten habe ich FEATURE(`authinfo') ausprobiert und auch
FEATURE(`authinfo', `hash /etc/mail/authinfo'), aber jedesmal nur
die Zeile "Need to authenticate via SMTP-AUTH-Login". Kann ich
schon nicht mehr sehen. Dabei behaupte ich jetzt mal, so falsch
kann meine sendmail.mc doch nicht sein...

Es ist zwar sonst nicht meine Art, soviel zu posten, aber da es
sonst gar nicht weiter geht, habe ich mir erlaubt, nochmals alles
zusammengefaßt darzustellen. Da könnt Ihr Euch selbst überzeugen.

Auf die genericsdomain und genericstable habe ich verzichtet, da die
Maskierung der e-Mail-Adressen funktioniert.

--------------------------------------------------------------------
Skript für sendmail-Restart:
============================

makemap hash access.db < access
makemap hash authinfo.db < authinfo
makemap hash -f genericstable.db < genericstable
m4 sendmail.mc > sendmail.cf
/etc/init.d/sendmail stop
/etc/init.d/sendmail start
--------------------------------------------------------------------
access:
======= # by default we allow relaying from localhost...
127.0.0.1 RELAY
fox RELAY
fox.forest.de RELAY
--------------------------------------------------------------------
authinfo:
=========
AuthInfo:mail.gmx.net "U:1234567" "I:1234567" "P:Geheim" "M:PLAIN"
--------------------------------------------------------------------
dnl
divert(-1)dnl
dnl
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
dnl
dnl # Name dieser Konfiguration:
dnl
VERSIONID(`Test-Konfiguration')dnl
dnl
OSTYPE(`linux')dnl
dnl
dnl # Programm zur lokalen Auslieferung von Mails:
dnl
define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl
dnl
dnl # Empfaenger-Host fuer alle e-Mails, die nach draussen gehen:
dnl
define(`SMART_HOST', `[mail.gmx.net]')dnl
dnl
dnl # Standardmodus fuer die Auslieferung von Nachrichten:
dnl
define(`confDELIVERY_MODE', `background')dnl
dnl
dnl # die zu verschickenden e-Mails werden gepuffert, und erst
dnl # bei einer Online-Verbindung mit "sendmail -q" versendet:
dnl
define(`confCON_EXPENSIVE', `True')dnl
dnl
dnl # der Mailer SMTP wird als "teure Leitung" deklariert:
dnl
define(`SMTP_MAILER_FLAGS', `e')dnl
dnl
dnl # ohne Nameserver benoetigt man service.switch:
dnl
define(`confSERVICE_SWITCH_FILE', `/etc/mail/service.switch')dnl
define(`confHOSTS_FILE', `/etc/hosts')dnl
dnl
dnl # Warn-e-Mail nach 3 Tagen, wenn eine e-Mail nach dieser Zeit
dnl # noch nicht verschickt werden konnte:
dnl
define(`confTO_QUEUEWARN', `3d')dnl
dnl
dnl # ============================================================
dnl
FEATURE(`masquerade_envelope')dnl
dnl
dnl # Informationen fuer die Client-Authentifizierung (SMTP Auth):
dnl
define(`confAUTH_MECHANISMS', `PLAIN LOGIN')dnl
TRUST_AUTH_MECH(`PLAIN LOGIN')dnl
FEATURE(`authinfo')dnl
dnl
dnl # genericstable wird fuer das Umschreiben der Absender-Adressen
dnl # verwendet:
dnl
FEATURE(`genericstable', `hash -o /etc/mail/genericstable.db')dnl
dnl
dnl # Die Datei, in der die Domaenen stehen, in denen dieses Aendern
dnl # erfolgen soll:
dnl
GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain')dnl
dnl
dnl # Notwendig, da meist kein Kontakt zum Domain Name Service (DNS)
dnl # vorhanden ist und somit alle unresolvable sind:
dnl
FEATURE(`accept_unresolvable_domains')dnl
dnl
dnl # Beschreibung
dnl
FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl
dnl
dnl # kein lokaler DNS:
dnl
FEATURE(nodns)dnl
dnl
dnl # beim Senden nicht DNS verwenden:
dnl
FEATURE(nocanonify)dnl
dnl
dnl # verwende procmail fuer die Zustellung von lokalen Mails:
dnl
FEATURE(local_procmail)dnl
dnl
MAILER(local)dnl
MAILER(smtp)dnl
dnl
--------------------------------------------------------------------
aus der /var/log/maillog:
=========================

Mar 30 11:46:59 localhost sendmail[1942]: STARTTLS=client, relay=[mail.gmx.net],
version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/256
Mar 30 11:46:59 localhost sendmail[1942]: j2U9kq4n001938: to=<***@gmx.net>,
ctladdr=<***@fox.forest.de> (1000/100), delay=00:00:07, xdelay=00:00:00,
mailer=relay, pri=120480, relay=[mail.gmx.net] [213.165.64.20], dsn=5.0.0,
stat=Service unavailable
Mar 30 11:46:59 localhost sendmail[1942]: j2U9kq4n001938: SYSERR(root):
hash map "Alias0": unsafe map file /etc/aliases.db: Permission denied
Mar 30 11:46:59 localhost sendmail[1942]: j2U9kq4n001938: j2U9kxDI001942: DSN:
hash map "Alias0": unsafe map file /etc/aliases.db: Permission denied
Mar 30 11:46:59 localhost sendmail[1942]: j2U9kxDI001942: to=<***@fox.forest.de>,
delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31736, dsn=2.0.0, stat=Sent
Alexander Dalloz
2005-03-30 14:04:42 UTC
Permalink
Post by Bernhard Lange
550 5.7.0 {mp028} Need to authenticate via SMTP-AUTH-Login
Service unavailable
hash map "Alias0": unsafe map file /etc/aliases.db: Permission denied
reading text version
/etc/aliases: 63 aliases, longest 10 bytes, 625 bytes total
Die Meldung mit der /etc/aliases kam noch hinzu, seit ich die
letzten Ratschläge von Alexander eingebaut hatte. Vorher kam die
Meldung eigenartigerweise nicht. Ein zusätzliches Leserecht für
alle brachte erstmal Abhilfe, da ich keine sicherheitsrelevanten
Daten in dieser Datei entdecken konnte.
Deine aliases hat nicht zu wenig, sondern zu viele Rechte ("unsafe map
file /etc/aliases.db"). Auf einem FreeBSD:

-rw-r--r-- 1 root wheel 1608 Sep 30 02:21 aliases
-rw-r----- 1 root smmsp 65536 Sep 30 02:21 aliases.db

Auf einem Fedora Core:

-rw------- 1 root root 1381 Feb 17 08:36 /etc/aliases
-rw-r----- 1 root smmsp 12288 Mar 26 21:47 /etc/aliases.db

Schreibbar darf aliases nur für root sein.
Post by Bernhard Lange
Ansonsten habe ich FEATURE(`authinfo') ausprobiert und auch
FEATURE(`authinfo', `hash /etc/mail/authinfo'), aber jedesmal nur die
Zeile "Need to authenticate via SMTP-AUTH-Login". Kann ich schon nicht
mehr sehen. Dabei behaupte ich jetzt mal, so falsch kann meine
sendmail.mc doch nicht sein...
Mal ganz doof gefragt: cyrus-sasl hast du aber installiert? Auf deinem Red
Hat sollte etwa folgendes ausgegeben werden:

$ rpm -qa | grep cyrus-sasl
cyrus-sasl-plain-2.1.19-3
cyrus-sasl-md5-2.1.19-3
cyrus-sasl-2.1.19-3

(andere Versionsnummern allerdings)
Post by Bernhard Lange
Es ist zwar sonst nicht meine Art, soviel zu posten, aber da es sonst
gar nicht weiter geht, habe ich mir erlaubt, nochmals alles
zusammengefaßt darzustellen. Da könnt Ihr Euch selbst überzeugen.
Auf die genericsdomain und genericstable habe ich verzichtet, da die
Maskierung der e-Mail-Adressen funktioniert.
--------------------------------------------------------------------
============================
makemap hash access.db < access
makemap hash authinfo.db < authinfo
makemap hash -f genericstable.db < genericstable m4 sendmail.mc >
sendmail.cf
Du musst eigentlich nicht händisch hashen. Ein "make -C /etc/mail" sollte
reichen. Schau dir mal "/etc/mail/Makefile" an. Lediglich für die
authinfo.db musst du eine Zeile nach vorgegebenem Muster hinzu fügen. Die
neue aliases.db erzeugst du mittels "newaliases".
Post by Bernhard Lange
/etc/init.d/sendmail stop
/etc/init.d/sendmail start
Alexander
--
Alexander Dalloz | Enger, Germany | GPG http://pgp.mit.edu 0xB366A773
legal statement: http://www.uni-x.org/legal.html
Fedora Core 2 GNU/Linux on Athlon with kernel 2.6.10-1.771_FC2smp
Serendipity 15:53:34 up 13:20, 17 users, 0.14, 0.44, 0.51
Bernhard Lange
2005-03-30 15:43:23 UTC
Permalink
Post by Alexander Dalloz
Post by Bernhard Lange
Ansonsten habe ich FEATURE(`authinfo') ausprobiert und auch
FEATURE(`authinfo', `hash /etc/mail/authinfo'), aber jedesmal nur die
Zeile "Need to authenticate via SMTP-AUTH-Login". Kann ich schon nicht
mehr sehen. Dabei behaupte ich jetzt mal, so falsch kann meine
sendmail.mc doch nicht sein...
Mal ganz doof gefragt: cyrus-sasl hast du aber installiert?
Ja, sieht bei mir so aus:

$ rpm -qa | grep cyrus-sasl
cyrus-sasl-md5-2.1.10-4
cyrus-sasl-2.1.10-4
cyrus-sasl-plain-2.1.10-4

Muss man damit evtl. noch etwas machen? Ein Zertifikat erzeugen
oder so...? Die waren schon von Haus aus installiert, ich habe die
bisher nie manuell angefaßt.

Ich habe doch nun schon alle Karten (sprich: Config-Files) auf den
Tisch gelegt... Woran klemmt das nur?! Kann man nicht noch irgend-
welche Tests machen, um die Sache weiter einzugrenzen?
SMTP after POP mit IP-Check funktioniert mit den in dem vorherigen
Posting angegebenen Dateien ohne Probleme, aber das war ja nicht
gefragt...

In der /var/log/maillog steht immer:

localhost sendmail[1728]: STARTTLS=client, relay=[mail.gmx.net],
version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/256

Hat das "verify=FAIL" evtl. diesbzgl. eine Bedeutung?

Viele Grüße, Bernhard
*********************
Claus Aßmann
2005-03-30 16:17:30 UTC
Permalink
Post by Bernhard Lange
AuthInfo:mail.gmx.net "U:1234567" "I:1234567" "P:Geheim" "M:PLAIN"
define(`SMART_HOST', `[mail.gmx.net]')dnl
Probier' mal:

define(`SMART_HOST', `mail.gmx.net')dnl


cf/README:

The authinfo ruleset looks up {server_name} using the tag AuthInfo:
in the access map. If no entry is found, {server_addr} is looked
up in the same way and finally just the tag AuthInfo: to provide
default values.



[mail.gmx.net] is nicht in Deiner Map:
AuthInfo:mail.gmx.net "U:1234567" "I:1234567" "P:Geheim" "M:PLAIN"


Dann schick' eine Mail mittels:

# date | sendmail -v -Am -O LogLevel=14 -d48.2 -d95.5 ***@GMX.NET

und suche in der Ausgabe nach "authinfo", "getauth", "AUTH", etc.
--
A: Maybe because some people are too annoyed by top-posting.
Q: Why do I not get an answer to my question(s)?
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
Alexander Dalloz
2005-03-30 17:47:45 UTC
Permalink
Post by Claus Aßmann
Post by Bernhard Lange
AuthInfo:mail.gmx.net "U:1234567" "I:1234567" "P:Geheim" "M:PLAIN"
define(`SMART_HOST', `[mail.gmx.net]')dnl
define(`SMART_HOST', `mail.gmx.net')dnl
in the access map. If no entry is found, {server_addr} is looked
up in the same way and finally just the tag AuthInfo: to provide
default values.
AuthInfo:mail.gmx.net "U:1234567" "I:1234567" "P:Geheim" "M:PLAIN"
Claus,

das habe ich ihm dann falsch erzählt. Folglich müsste er in der AuthInfo
Zeile [mail.gmx.net] setzen? Jedenfalls ist mail.gmx.net nicht als MX
für gmx.net oder gmx.de im DSN zu finden.

Alexander
--
Alexander Dalloz | Enger, Germany | GPG http://pgp.mit.edu 0xB366A773
legal statement: http://www.uni-x.org/legal.html
Fedora Core 2 GNU/Linux on Athlon with kernel 2.6.10-1.771_FC2smp
Serendipity 19:45:43 up 17:12, 18 users, 0.64, 0.60, 0.47
Claus Aßmann
2005-03-30 18:12:40 UTC
Permalink
Post by Alexander Dalloz
das habe ich ihm dann falsch erzählt. Folglich müsste er in der AuthInfo
Zeile [mail.gmx.net] setzen? Jedenfalls ist mail.gmx.net nicht als MX
für gmx.net oder gmx.de im DSN zu finden.
DNS

Warum willst Du ueberhaupt [] verwenden? mail.gmx.net hat keine MX
Records, also ist der "Hack" ueberfluessig (und verursacht hoechstens
Probleme).
--
A: Maybe because some people are too annoyed by top-posting.
Q: Why do I not get an answer to my question(s)?
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
Bernhard Lange
2005-03-30 21:14:08 UTC
Permalink
Hallo,

ich glaube es ja kaum: ABER ES HAT ZUM ERSTEN MAL GEKLAPPT. :-))
Post by Claus Aßmann
Post by Bernhard Lange
define(`SMART_HOST', `[mail.gmx.net]')dnl
define(`SMART_HOST', `mail.gmx.net')dnl
Die [] entfernt, und es lief. Ich habe es explizit noch einmal mit
[] getestet, und es lief wieder nicht. Tatsächlich war das der Stein
des Anstoßes. Auch in der AuthInfo habe ich keine [] verwendet. Er-
klären kann ich das jetzt zwar noch nicht, dafür muß ich mich wohl
länger mit solchen Details beschäftigen, aber einer von Euch wird
es sicherlich wissen. Die [] sind also NICHT optional, sie müssen
dort weg.

Hätten wir die [] nicht eingeführt, hätte es vermutlich schon viel
früher funktioniert, da ja die anderen Einträge quasi nicht ver-
ändert wurden. Nur die Zeile mit dem DefaultAuthInfo wurde gelöscht.

Auf meinem PC landen die ausgehenden e-Mails in einer Queue. Wie
kann ich jetzt dem sendmail und AuthInfo beibringen, in Abhängig-
keit von der Absenderadresse unterschiedliche Logins zu benutzen?

Absenderadresse Login Passwort

***@gmx.net 1111111 Geheim_1
***@gmx.net 2222222 Geheim_2

ansonsten gehen nur die e-Mails des Users durch, der laut AuthInfo
angemeldet ist. Die anderen werden mit "Sender address does not
belong to logged in user" abgewiesen. Ein zweiter AuthInfo-Eintrag
brachte aber eine Fehlermeldung der Art duplicated key, theoretisch:

AuthInfo:mail.gmx.net "U:1111111" "I:1111111" "P:Geheim_1" "M:PLAIN"
AuthInfo:mail.gmx.net "U:2222222" "I:2222222" "P:Geheim_2" "M:PLAIN"

Aber so ist mir natürlich klar, dass es nicht mehr eindeutig ist,
da sendmail keinen Zusammenhang zwischen o.g. und der Absender-
adresse herstellen kann.

Viele Grüße, Bernhard
Alexander Dalloz
2005-03-30 23:43:24 UTC
Permalink
Post by Bernhard Lange
Die [] entfernt, und es lief. Ich habe es explizit noch einmal mit
[] getestet, und es lief wieder nicht. Tatsächlich war das der Stein
des Anstoßes. Auch in der AuthInfo habe ich keine [] verwendet. Er-
klären kann ich das jetzt zwar noch nicht, dafür muß ich mich wohl
länger mit solchen Details beschäftigen, aber einer von Euch wird
es sicherlich wissen. Die [] sind also NICHT optional, sie müssen
dort weg.
Gratulation zum Erfolg! Ja, Claus hat natürlich Recht - ich hatte einen
gedanklichen Fehler beim Analysieren der DNS Einträge von GMX gemacht. Im
Übrigen ist Claus sowieso die viel höhere Instanz, als seines Zeichens
Mit-Programmierer an Sendmail. Ich hatte ja im Verlaufe des threads auf
seine Seite und Doku verwiesen:

http://www.sendmail.org/~ca/
Post by Bernhard Lange
Hätten wir die [] nicht eingeführt, hätte es vermutlich schon viel
früher funktioniert, da ja die anderen Einträge quasi nicht ver-
ändert wurden. Nur die Zeile mit dem DefaultAuthInfo wurde gelöscht.
Richtig. Das Problem mit DefaultAuthInfo findet sich in der von mir
zitierten Form dokumentiert auf obiger Seite von Clause.
Post by Bernhard Lange
Auf meinem PC landen die ausgehenden e-Mails in einer Queue. Wie kann
ich jetzt dem sendmail und AuthInfo beibringen, in Abhängig- keit von
der Absenderadresse unterschiedliche Logins zu benutzen?
Absenderadresse Login Passwort
Geheim_2
ansonsten gehen nur die e-Mails des Users durch, der laut AuthInfo
angemeldet ist. Die anderen werden mit "Sender address does not belong
to logged in user" abgewiesen. Ein zweiter AuthInfo-Eintrag brachte aber
AuthInfo:mail.gmx.net "U:1111111" "I:1111111" "P:Geheim_1" "M:PLAIN"
AuthInfo:mail.gmx.net "U:2222222" "I:2222222" "P:Geheim_2" "M:PLAIN"
Aber so ist mir natürlich klar, dass es nicht mehr eindeutig ist, da
sendmail keinen Zusammenhang zwischen o.g. und der Absender- adresse
herstellen kann.
Das ist ein "Problem", das nicht ganz trivial zu lösen ist. Es geht
hierbei um verschiedene Sender mit unterschiedlichen AUTH Daten aber
selbem Relay host. In der Englisch sprachigen Gruppe comp.mail.sendmail
wurde ein möglicher Weg vor nicht allzu langer Zeit beschrieben. Den
Beitrag findest du per google groups. Im Vergleich zu Sendmail Client AUTH
ist solch eine Modifikation jedoch weniger simpel.
Auch wenn der MTA dann nicht mehr in deiner Hand ist, wäre es nicht
überlegenswert, für wenige Euro im Monat einen Maildienst zu nutzen, der
nicht ein solches Problem mit mehreren, getrennten Mailkonten aufwirft?
Post by Bernhard Lange
Viele Grüße, Bernhard
Alexander

"und er hat gar nicht gebohrt ..."
--
Alexander Dalloz | Enger, Germany | GPG http://pgp.mit.edu 0xB366A773
legal statement: http://www.uni-x.org/legal.html
Fedora Core 2 GNU/Linux on Athlon with kernel 2.6.10-1.771_FC2smp
Serendipity 01:29:56 up 22:56, 18 users, 0.59, 0.51, 0.47
Bernhard Lange
2005-03-31 11:15:55 UTC
Permalink
Post by Alexander Dalloz
Post by Bernhard Lange
AuthInfo:mail.gmx.net "U:1111111" "I:1111111" "P:Geheim_1" "M:PLAIN"
AuthInfo:mail.gmx.net "U:2222222" "I:2222222" "P:Geheim_2" "M:PLAIN"
Aber so ist mir natürlich klar, dass es nicht mehr eindeutig ist, da
sendmail keinen Zusammenhang zwischen o.g. und der Absender- adresse
herstellen kann.
Das ist ein "Problem", das nicht ganz trivial zu lösen ist. Es geht
hierbei um verschiedene Sender mit unterschiedlichen AUTH Daten aber
selbem Relay host. In der Englisch sprachigen Gruppe comp.mail.sendmail
wurde ein möglicher Weg vor nicht allzu langer Zeit beschrieben. Den
Beitrag findest du per google groups.
Ich habe schon mit den verschiedensten Stichworten gesucht, aber konnte
noch nicht das passende finden. Oftmals sind leider auch die Subjects
wenig aussagekräftig. Kannst Du mir da bitte mal den Verweis geben, da
Du den Thread offenbar kennst.
Post by Alexander Dalloz
Im Vergleich zu Sendmail Client AUTH ist solch eine Modifikation jedoch
weniger simpel.
Naja, manchmal funktioniert das komplizierte einfacher als das einfache. :-)

Eine Sache geht und wirft gleich noch eine andere Frage auf: PLAIN und
LOGIN laufen doch beide ohne Verschlüsselung, soweit ich das gelesen
habe. Bei GMX funktioniert PLAIN, LOGIN aber nicht. Ein telnet gmx.net 25
und EHLO ... liefert doch:

250-AUTH=LOGIN CRAM-MD5 PLAIN
250-AUTH CRAM-MD5 LOGIN PLAIN

bei "LOGIN" kommt:

250 STARTTLS
Post by Alexander Dalloz
Post by Bernhard Lange
AUTH LOGIN =
334 UGFzc3dvcmQ6
Post by Alexander Dalloz
Post by Bernhard Lange
*
535 5.7.0 {mp028} Incorrect username or password
550 5.7.0 {mp028} Need to authenticate via SMTP-AUTH-Login
Service unavailable

Wenn ich mit CRAM-MD5 bei GMX arbeiten möchte, wie läuft das dann?
Entsprechend in der AuthInfo ändern, aber das allein reicht nicht,
da kommt auch "Incorrect username or password"... Laut obiger Aus-
gabe sollten doch CRAM-MD5 LOGIN und PLAIN unterstützt werden.

Ansonsten mache ich das alles primär aus autodidaktischen Gründen.
Theoretisch hätte ich auch alles beim alten belassen können, die
Authentifizierung mit dem IP-Check hat ja funktioniert... Auch das
Versenden von e-Mails mit unterschiedlichen Absenderadressen war
damit kein Problem. Aber ich wollte mich halt weiterbilden... :-)

Viele Grüße, Bernhard
Bernhard Lange
2005-03-31 12:36:03 UTC
Permalink
Nachtrag:

Dank des hervorragend ausführlichen sendmail-logs (Befehl wurde in diesem
Thread zuvor gepostet) kam ich dann auch dahinter, warum CRAM-MD5 zuerst
nicht wollte... CRAM-MD5 verhält sich offenbar anders als PLAIN Login,
denn sendmail ergänzte die Authentifizierungs-ID (I-Wert) um die lokale
(Fantasie)-Domain, also wurde als Auth-ID "***@local_domain.de" ver-
wendet (anstatt nur "1234567" wie bei PLAIN), was GMX natürlich nicht
kennt bzw. abweist. Daher änderte ich den I-Wert und ersetzte die GMX-
Kundennummer durch die e-Mail-Adresse und damit ging es dann. :-)

geht so NICHT (bei GMX):
------------------------

AuthInfo:mail.gmx.net "U:1234567" "I:1234567" "P:..." "M:CRAM-MD5"

stattdessen verwenden:
----------------------

AuthInfo:mail.gmx.net "U:1234567" "I:***@gmx.net" "P:..." "M:CRAM-MD5"

LOGIN klappt offenbar bei GMX nicht, da erhalte ich folgendes:
"AUTH FAIL=bad protocol / cancel (-5)". Finde ich aber trotzdem komisch,
da doch eigentlich angezeigt wird, es würde unterstützt werden?! Ist
jetzt keine Frage mehr praktischer Wichtigkeit, sondern nur noch als
Lerneffekt...

Bleibt mir noch die Frage bzw. die Suche nach dem Thread zur Lösung
des Problems unterschiedlicher Logins bei gleichem smart host...

Ich hoffe, aus diesem ausführlichen Thread können auch andere User
Hilfe beziehen... :-)

Viele Grüße, Bernhard
*********************
Alexander Dalloz
2005-03-31 13:49:12 UTC
Permalink
Post by Bernhard Lange
Bleibt mir noch die Frage bzw. die Suche nach dem Thread zur Lösung
des Problems unterschiedlicher Logins bei gleichem smart host...
http://groups.google.de/groups?q=gmx+routing&hl=de&lr=&group=comp.mail.sendmail&selm=slrnc73a96.82g.ahuxley%40dione.no-ip.org&rnum=4

Leider ist die resultierende URL so lang. TinyURL hat daraus gemacht:
http://tinyurl.com/3qlne
Post by Bernhard Lange
Ich hoffe, aus diesem ausführlichen Thread können auch andere User
Hilfe beziehen... :-)
Dank google kann das für die Zukunft durchaus so sein.
Post by Bernhard Lange
Viele Grüße, Bernhard
Alexander
--
Alexander Dalloz | Enger, Germany | GPG http://pgp.mit.edu 0xB366A773
legal statement: http://www.uni-x.org/legal.html
Fedora Core 2 GNU/Linux on Athlon with kernel 2.6.10-1.771_FC2smp
Serendipity 15:44:21 up 1 day, 13:10, load average: 0.46, 0.55, 0.46
Wolfgang Wilhelm
2005-03-30 09:34:43 UTC
Permalink
Post by Bernhard Lange
Hmm, offen gesagt als jemand, der sich sonst das ganze Jahr über _nicht_ mit
sendmail (und auch nicht mit anderen MTAs) beschäftigt, werde ich aus der
Notice nicht so richtig schlau,
Das sind aber auch eigentlich die Gründe warum man solche Eingriffe in
sein System nicht machen sollte. Eni Wenig Grundwissen muss man schon
vorraussetzen können.

Ich habe eine deutsches "Howto" für sendmail mit Authentifizierung unter

http://rz-home.de/wwilhelm

bereitgestellt.

read U
Loading...