PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PostFix mit ssl-Unterstützung



Stiftmaster
02.10.08, 11:09
Hallo,

ich habe meinen PostFix-Server am Laufen und der arbeitet jetzt so wie er soll. Nun wollte ich noch "auf die Schnelle" die SSL-Unterstützung einbauen. Dafür habe ich mir ein offzielles Zertifikat bestellt und den privateKey und das Zertifikat unter /etc/postfix/ abgelegt. In der main.cf habe ich folgendes Eingetragen:


smtpd_use_tls = yes
#smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_tls_loglevel = 3
smtpd_tls_session_cache_timeout = 3600


Nach einem restart von PostFix logge ich mich per telnet ein und siehe da, die Option STARTTLS (ehlo localhost) wird mir angeboten. So weit ein Erfolg! Danach tippe ich dann starttls ein und siehe da, es wird gesagt "220 2.0.0 Ready to start TLS".

Dann tippe ich z.B. auth login ein, um mich am System zu authentifizieren und dann bricht die Verbindung ab. Unter /var/log/mail sehe ich dann folgendes:


Oct 2 11:04:21 sd-s-mail1 postfix/smtpd[4744]: SSL_accept:error in SSLv2/v3 read client hello A
Oct 2 11:04:21 sd-s-mail1 postfix/smtpd[4744]: SSL_accept error from sd-s-gateway.sehen-design[172.17.1.3]: -1
Oct 2 11:04:21 sd-s-mail1 postfix/smtpd[4744]: warning: TLS library problem: 4744:error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol:s23_srvr.c:562:
Oct 2 11:04:21 sd-s-mail1 postfix/smtpd[4744]: lost connection after STARTTLS from sd-s-gateway.sehen-design[172.17.1.3]
Oct 2 11:04:21 sd-s-mail1 postfix/smtpd[4744]: disconnect from sd-s-gateway.sehen-design[172.17.1.3]

Wenn ich den Vorgang per Outlook mache, dann aktiviere ich erst Mal die Einstellung "Verwende SSL" nicht. Dann klappt es. Dann aktiviere ich die Einstellung und dann beendet sich auch Outlook und schmeißt die Fehlermeldung 800ccc0f, was so viel heißt wie: Allgemeiner Server-Fehler. Verbindung wurde beendet.

Und jetzt stehe ich da und weiß net weiter... Wieso kriege ich diesen blöden Fehler und kann keine ssl-Unterstützung. Bin für jeden Tipp dankbar.

Stefan

Roger Wilco
02.10.08, 22:05
Dann tippe ich z.B. auth login ein
Und da beginnt auch schon der Fehler. Jegliche Kommunikation ab STARTTLS muss verschlüsselt erfolgen und du "sprichst" vermutlich schlecht SSL/TLS von Hand. ;)
Korrekt wäre

# openssl s_client -starttls smtp -host example.com -port 25

Stiftmaster
02.10.08, 22:24
Hi,

danke für deine Antworte. Auch wenn ich noch nicht ganz ralle, wieso ich da was falsch mache - wieso klappt dann auch die Outlook-Verbindung nicht?

Ich gehe doch stark von aus, dass Outlook nicht so dumm ist wie ich und da etwas falsch macht, oder nicht? Der Fehlermeldungen auf Serverseite sind ja die gleichen.

Ich versuche jetzt erst Mal genau herauszufinden, was du mir mit deinem Befehl sagen möchtest - vielleicht geht mir ja dann eine Leuchte auf :-)

Dankend

Stefan

Herr Bert
02.10.08, 23:44
Falls du Outlook Express verwendest, kann es daran liegen, da Express das AUTH Kommando nach einer veralten RFC-Standard angibt ("AUTH=PLAIN" anstatt "AUTH PLAIN"), was nicht mehr korrekt ist. Oder besser gesagt: dein Server unterstützt es nicht, da es standardmäßig deaktiviert ist und in deiner main.cf nicht vermerkt.

Dafür brauchst du die Option

broken_sasl_auth_clients = yes
in deiner main.cf, damit auch AUTH= unterstützt wird.
openssl s_client ist wie telnet, nur mit SSL-Funktionen, denn mit Telnet kannst du keine verschlüsselte Verbindung aufbauen.

http://www.postfix.org/postconf.5.html

Stiftmaster
03.10.08, 11:23
Hi,

danke für deinen Beitrag. Allerdings funktioniert die Authentifizierung ja, wenn die Verbindung ohne SSL von Client-Seite aufgebaut wird. Daher würde ich behaupten, dass es nicht an der Authentifizierung liegt sondern nur an SSL - oder sehe ich das falsch?

Werde mir jetzt mal den Kram mit openssl anschauen - vielleicht komm ich dort weiter.

Dankend

Stefan

hessijens
03.10.08, 15:17
Was sagt denn /var/log/mail.info bzw. mail.err? Ist vielleicht der Keyfile nicht lesbar? Postfix startet normalerweise als postfix:mail. Und wie erfährt Postfix das Passwort für den Keyfile? Vielleicht fehlt Dir ja auch nur die CA? Ohne Kaffeesatz ist es im Moment ein wenig schwierig.

Stiftmaster
03.10.08, 15:21
Hi,

momentan habe ich in die Richtung geforscht, dass noch der Dienst smtps unter /etc/postfix/master.cf freigegeben werden muss. Hier habe ich jetzt folgendes gemacht

1) Die Zeile smtp **** auskommentiert
2) Die Zeile smtps **** aktiviert und hier smtps durch 25 ersetzt
3) postfix neu gestartet

=> wenn ich jetzt in Outlook Express die Option "benötigt SSL" aktiviere, dann funktioniert der Datenaustausch ohne Probleme. Bin aber mit meinen abschließenden Tests noch nicht fertig - ist also nur ein Zwischenstand :-)

Sobald ich genaueres weiß, werde ich mich melden. Dankend

Stefan