Kein SSL bei SMTP - "unknown protocol"

pschulz

New Member
Guten Abend zusammen,

ich häng jetzt seit Stunden an meinem Plesk 9.3-Server und ihr seid meine letzte Hoffnung!

Imap klappt inzwischen gut, nach der Installation von Spamdyke hatte ich noch ein paar kleinere Probleme.

Nun gehts darum, Mails per SMTP (möglichst ausschließlich) verschlüsselt anzunehmen. Mit Thunderbird gibt's nur einen läppischen Timeout. Mehr sagt vielleicht das:

Code:
#:/var/qmail/control# openssl s_client -connect localhost:465 -state -debug
CONNECTED(00000003)
SSL_connect:before/connect initialization
write to 0x68d7a0 [0x68ed10] (118 bytes => 118 (0x76))
0000 - 80 74 01 03 01 00 4b 00-00 00 20 00 00 39 00 00   .t....K... ..9..
0010 - 38 00 00 35 00 00 16 00-00 13 00 00 0a 07 00 c0   8..5............
0020 - 00 00 33 00 00 32 00 00-2f 03 00 80 00 00 05 00   ..3..2../.......
0030 - 00 04 01 00 80 00 00 15-00 00 12 00 00 09 06 00   ................
0040 - 40 00 00 14 00 00 11 00-00 08 00 00 06 04 00 80   @...............
0050 - 00 00 03 02 00 80 36 1f-c5 95 e7 89 75 dc 61 8d   ......6.....u.a.
0060 - 16 11 a0 87 b2 c7 4c dd-fe a0 66 78 25 35 28 f6   ......L...fx%5(.
0070 - dc 55 8c 5f 26 d2                                 .U._&.
SSL_connect:SSLv2/v3 write client hello A
read from 0x68d7a0 [0x694270] (7 bytes => 7 (0x7))
0000 - 32 32 30 20 62 75 74                              220 but
SSL_connect:error in SSLv2/v3 read server hello A
8836:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:583:

Prinzipiell läuft der Server aber und bietet die Verschlüsselung an, wie man hier sieht:

Code:
#:/var/qmail/control# telnet localhost 465
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 tld.de ESMTP
ehlo
250-tld.de
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-AUTH LOGIN CRAM-MD5 PLAIN
250-STARTTLS
250-PIPELINING
250 8BITMIME
quit
221 tld.de
Connection closed by foreign host.

Das sieht doch schon ganz richtig aus, oder? Nur die Verbindung ist wohl nicht verschlüsselt ...

Liegt der Fehler bei den Zertifikaten? Die sind selbst erzeugt wie unter http://tinyurl.com/ybhd6lg beschrieben (letzter Absatz).

Inder smtps_psa hab ich bislang das hier:
Code:
service smtps
{
	socket_type	= stream
	protocol	= tcp
	wait		= no
	disable		= no
	user		= root
	instances	= 100
	env		= SMTPAUTH=1 END=1
	server          = /usr/bin/stunnel
	server_args     = -D 3 -o /var/log/stunnel.log -T -p /var/qmail/control/servercert.pem -l /var/qmail/bin/tcp-env -- smtps -Rt0 /var/qmail/bin/relaylock /usr/local/bin/spamdyke -f /etc/spamdyke.conf /var/qmail/bin/qmail-smtpd /var/qmail/bin/smtp_auth /var/qmail/bin/true /var/qmail/bin/cmd5checkpw /var/qmail/bin/true
}

und das hier:

Code:
service smtps
{
	socket_type     = stream
	protocol        = tcp
	wait            = no
	disable		= no
	user            = root
	instances       = UNLIMITED
	env             = SMTPAUTH=1
	server          = /var/qmail/bin/tcp-env
	server_args     = -Rt0  /var/qmail/bin/relaylock /usr/local/bin/spamdyke -f /etc/spamdyke.conf /var/qmail/bin/qmail-smtpd /var/qmail/bin/smtp_auth /var/qmail/bin/true /var/qmail/bin/cmd5checkpw /var/qmail/bin/true
}

ausprobiert. Das Ergebnis war jeweils das gleiche.
Die Zertifikate gehören qmaild/qmail mit 0640.

Hat jemand eine Idee?


Herzlich,
Patrick
 
Last edited by a moderator:
Versuch es mal damit:
Code:
openssl s_client -starttls smtp -port 465 -host localhost

PS: Den smtps-Port sollte man dafür eigentlich nicht nehmen, sondern den submission-Port (587)
 
Ah, okay, ich kann jetzt Mails versenden! Prima, danke!
Das heißt es funktioniert nur mit STARTTLS, nicht aber mit SSL?

Nun tritt aber ein weiteres Problem zutage: Die Mail kann nicht in in den Gesendet-Ordner des IMAP-Kontos kopiert werden. Wo kann ich denn da ansetzen? Ist das ein IMAP-Problem?

Bestes,
Patrick
 
Die zweite Frage hat sich erledigt, war ein Thunderbird-Problem und funktionierte auch bei anderen Mailkonten nicht. TB geschlossen, nun gehts wieder. Der war wohl ganz verwirrt von meinen vielen Versuchen.

Die erste Frage interessiert mich weiterhin.

Bestes
Patrick
 
Dein Hexdump zeigt, daß Du keine SSL-Handshake-Response, sondern eine unverschlüsselte "220" zurückbekommst.

Du solltest Dir erstmal klar werden, ob SSL oder TLS willst - danach richtet sich das weitere Vorgehen.

Für SSL wäre die stunnel-Konfiguration richtig (wenn Du schon ein Logfile setzt, könntest Du uns ja auch dessen Inhalt mal zeigen :)), für TLS die andere (und die scheint ja zu gehen).
 
Danke!

Oh, bitte entschuldigt!

Dank eurer Hilfe klappts jetzt aber! Über TLS auf 587, mit SSL auf 465 (mit den beschriebenen smtps_psa-Konfigurationen).

Vielen Dank für die technische und moralische Unterstützung!
 
Back
Top