[Postfixbuch-users] TLS und SMTP Auth Problem

Andreas Krummrich brutus at iunius.org
Fr Mai 4 10:23:01 CEST 2007


Sandy Drobic schrieb:
> Andreas Krummrich wrote:
>
>   
>>>> Mein Postfix zu Hause versucht die Verbindung aber folgender Maßen
>>>> aufzubauen:
>>>>
>>>> Apr 30 16:30:07 santa postfix/smtp[17645]: TLS connection established to
>>>> iunius.org: TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (168/168 bits)
>>>>     
>>>>         
>>> Okay, TLS funktioniert also, dies hat aber in der Regel nichts mit
>>> Authentifikation zu tun, sondern nur mit der Verschlüsselung der Übertragung.
>>> rom.iunius.org scheint nicht optimal eingerichtet zu sein, wenn ein
>>> Plaintext Mechanismus wie LOGIN benutzt werden darf ohne Verschlüsselung,
>>> aber TLS angeboten wird.
>>>   
>>>       
>> Das stimmt, jetzt verstehe ich etwas besser. LOGIN und PLAIN werde ich
>> dem qmail noch abgewöhnen. Ist nur die Frage wie. QMail ist da etwas
>> unkomfortabler als Postfix ;-)
>>     
>
> Sorry, mit QMail kenne ich mich überhaupt nicht aus. Das ist vielleicht
> eine Frage für die QMail-Mailingliste.
>
>   
>>>> Apr 30 16:46:33 santa postfix/smtpd[18101]: TLS connection established
>>>> from barney.springfield.home[10.10.42.18]: TLSv1 with cipher RC4-MD5
>>>> (128/128 bits)
>>>>     
>>>>         
>>> Dies ist KEINE Authentifikation! Es wird nur die Übertragung verschlüsselt!
>>>   
>>>       
>> OK. Und wir kommt es, dass der Mail Client die Verschlüsselung
>> verwendet, der SMTP Client vom Postfix, aber eine andere? Wer gibt das
>> denn vor? Server oder Client?
>>     
>
> Jetzt lasse doch mal die Verschlüsselung aus dem Spiel! Die hat überhaupt
> nichts mit deinem Relay-Problem zu tun. Bisher hast du noch keine Logzeile
> gezeigt, die andeutet, ob dein Postfix überhaupt versucht, sich beim
> rom.iunius.org zu authentifizieren.
>   

OK ;-)
>>> Nein, das Problem ist, dass du TLS und SMTP AUTH verwechselst. Beide sind
>>> völlig unabhängig voneinander, technisch gesehen.
>>>
>>> Zeige mal die Ausgabe von "saslfinger -c" auf deinem Postfix zuhause,
>>> ebenso die Ausgabe von "postconf -n". Wenn das Script "saslfinger" bei dir
>>> nicht vorhanden ist, lade es dir von der Homepage von Patrick runter.
>>>
>>>   
>>>       
>> Hier die Ausgaben:
>>
>> saslfinger - postfix Cyrus sasl configuration Thu May  3 14:26:09 CEST 2007
>> version: 1.0.1
>> mode: client-side SMTP AUTH
>>
>> -- basics --
>> Postfix: 1.1.11
>> System: Debian GNU/\s 3.0 \n \l
>>
>> -- smtp is linked to --
>>         libsasl.so.7 => /usr/lib/libsasl.so.7 (0x40145000)
>>
>> -- active SMTP AUTH and TLS parameters for smtp --
>> relayhost = rom.iunius.org
>>     
>
> Setze hier am besten
> relayhost = [rom.iunius.org]
>
> Dies verhindert, dass Postfix versucht, einen MX-Eintrag für
> rom.iunius.org zu finden.
>
>   
>> smtp_sasl_auth_enable = yes
>>     
>
> Sehr schön.
>
>   
>> smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth
>>     
>
> Hier ist jetzt interessant, was genau in /etc/postfix/smtp_auth drinsteht.
>
> Es sollte folgendes darin stehen:
>
> [rom.iunius.org]	user:password
>
> Der hostname muss exakt übereinstimmen mit dem Namen des Hosts, an den
> dein Postfix versenden will. Ich habe gerade getestet, dass auch nach
> STARTTLS die Mechanismen verfügbar sind:
>
> 250-rom.iunius.org
> 250-STARTTLS
> 250-AUTH LOGIN CRAM-MD5 PLAIN
> 250-AUTH=LOGIN CRAM-MD5 PLAIN
> 250-PIPELINING
> 250 8BITMIME
>
> Ich finde es niedlich, dass er auch bei bestehender TLS-Verbindung noch
> STARTTLS anbietet. (^-^)
> Postfix blendet das sinnigerweise dann aus.
>
>   
>> smtp_sasl_security_options = noanonymous, noplaintext
>>     
>
> Gut, dies verhindert, dass Postfix versucht, über PLAIN zu
> authentifizieren. Damit bleibt nur CRAM-MD5 und DIGEST-MD5.
>
>   
>> -- listing of /usr/lib/sasl --
>> total 240
>> drwxr-xr-x    2 root     root         4096 May  3 13:06 .
>> drwxr-xr-x   28 root     root         4096 May  2 12:49 ..
>> -rw-r--r--    1 root     root         5520 Oct 13  2004 libanonymous.so
>> -rw-r--r--    1 root     root         5520 Oct 13  2004 libanonymous.so.1
>> -rw-r--r--    1 root     root         5520 Oct 13  2004
>> libanonymous.so.1.0.16
>> -rw-r--r--    1 root     root         9988 Oct 13  2004 libcrammd5.so
>> -rw-r--r--    1 root     root         9988 Oct 13  2004 libcrammd5.so.1
>> -rw-r--r--    1 root     root         9988 Oct 13  2004 libcrammd5.so.1.0.17
>> -rw-r--r--    1 root     root        27276 Oct 13  2004 libdigestmd5.so
>> -rw-r--r--    1 root     root        27276 Oct 13  2004 libdigestmd5.so.0
>>     
>
> Okay, auf deinem System sind beide Libraries vorhanden.
>
>   
>> -rw-r--r--    1 root     root        27276 Oct 13  2004
>> libdigestmd5.so.0.0.19
>> -rw-r--r--    1 root     root        11964 Oct 13  2004 libgssapiv2.so
>> -rw-r--r--    1 root     root        11964 Oct 13  2004 libgssapiv2.so.1
>> -rw-r--r--    1 root     root        11964 Oct 13  2004
>> libgssapiv2.so.1.0.14
>> -rw-r--r--    1 root     root         7776 Oct 13  2004 liblogin.so
>> -rw-r--r--    1 root     root         7776 Oct 13  2004 liblogin.so.0
>> -rw-r--r--    1 root     root         7776 Oct 13  2004 liblogin.so.0.0.6
>> -rw-r--r--    1 root     root         7428 Oct 13  2004 libplain.so
>> -rw-r--r--    1 root     root         7428 Oct 13  2004 libplain.so.1
>> -rw-r--r--    1 root     root         7428 Oct 13  2004 libplain.so.1.0.15
>>
>>
>> -- permissions for /etc/postfix/smtp_auth --
>> -rw-r--r--    1 root     root           36 Apr 25 12:14
>> /etc/postfix/smtp_auth
>>
>> -- permissions for /etc/postfix/smtp_auth.db --
>> -rw-r--r--    1 root     root        12288 May  3 13:40
>> /etc/postfix/smtp_auth.db
>>
>> /etc/postfix/smtp_auth.db is up to date.
>>
>> -- active services in /etc/postfix/master.cf --
>> # service type  private unpriv  chroot  wakeup  maxproc command + args
>> #               (yes)   (yes)   (yes)   (never) (50)
>> smtp      inet  n       -       -       -       -       smtpd
>> pickup    fifo  n       -       -       60      1       pickup
>> cleanup   unix  n       -       -       -       0       cleanup
>> qmgr      fifo  n       -       -       300     1       qmgr
>> rewrite   unix  -       -       -       -       -       trivial-rewrite
>> bounce    unix  -       -       -       -       0       bounce
>> defer     unix  -       -       -       -       0       bounce
>> flush     unix  n       -       -       1000?   0       flush
>> smtp      unix  -       -       -       -       -       smtp
>>     
>
> smtp läuft im chroot. Es kann natürlich sein, dass der Client damit keinen
> Zugriff auf /etc/postfix/smtp_auth hat oder diese unter /var/spool/postfix
> sucht.
>
> Prüfe bitte mal, ob Postfix überhaupt versucht, sich zu authentifizieren.
> Das würde dann etwa so aussehen:
>
> May  3 11:40:47 katgar postfix/smtpd[30798]: connect from
> temira.washu.lab[192.168.0.5]
> May  3 11:40:47 katgar postfix/smtpd[30798]: setting up TLS connection
> from temira.washu.lab[192.168.0.5]
> May  3 11:40:47 katgar postfix/smtpd[30798]: TLS connection established
> from temira.washu.lab[192.168.0.5]: TLSv1 with cipher DHE-RSA-AES256-SHA
> (256/256 bits)
> May  3 11:40:48 katgar postfix/smtpd[30798]: NOQUEUE:
> client=temira.washu.lab[192.168.0.5], sasl_method=PLAIN, sasl_username=user
>
> So eine Zeile wie die letzte müsstest du haben, wenn Postfix versucht,
> sich zu authentifizieren. Das NOQUEUE kommt von dem smtpd_proxy_filter,
> den ich gerade teste.
>
>   
Hier dürfte das Problem liegen. Ich habe gerade folgendes herrausgefunden:

brutus at santa:/var/spool/postfix/etc$ telnet rom.iunius.org 25
Trying 81.169.142.6...
Connected to rom.iunius.org.
Escape character is '^]'.
220 rom.iunius.org ESMTP
EHLO iunius.org
250-rom.iunius.org
250-STARTTLS
250-AUTH LOGIN CRAM-MD5 PLAIN
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-PIPELINING
250 8BITMIME
STARTTLS
220 ready for tls
AUTH CRAM-MD5
454 TLS connection failed: error:140760FC:SSL 
routines:SSL23_GET_CLIENT_HELLO:unknown protocol (#4.3.0)
Connection closed by foreign host.

Wenn ein Starttls vorausgeht, schlägt die Authentifizierung fehl.

brutus at santa:/var/spool/postfix/etc$ telnet rom.iunius.org 25
Trying 81.169.142.6...
Connected to rom.iunius.org.
Escape character is '^]'.
220 rom.iunius.org ESMTP
EHLO
250-rom.iunius.org
250-STARTTLS
250-AUTH LOGIN CRAM-MD5 PLAIN
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-PIPELINING
250 8BITMIME
AUTH CRAM-MD5
334 PDIxMjczLjExNzgyNjYyOTJAcm9tLml1bml1cy5vcmc+
quit

Ohne Starttls geht es.

Ich denke mal hier dürfte der Fehler liegen, oder?

Gruß,
    Andreas



Mehr Informationen über die Mailingliste Postfixbuch-users