[Eisfair] Certs: Sektionen im server.pem

Marcus Roeckrath marcus.roeckrath at gmx.de
So Feb 28 10:27:49 CET 2016


Hallo Jürgen,

Juergen Edner wrote:

>> Damit ein entfernter Rechner z. B. prüfen kann, ob ein vom Server X
>> präsentiertes Zertifikat korrekt signiert ist (Certificate Chain), müsste
>> man doch den öffentlichen Teil des CA-Zertifikates auch preisgeben
>> können/müssen.
> 
> dies geschieht automatisch beim Verbindungsaufbau, d.h. ein Serverdienst
> übermittelt Dir sein öffentliches Zertifikat,

Das ist klar.

Wir besorgen uns aber, um Mails z. B. bei GMX über eine gesicherte
Verbindung abliefern zu können, vorab das GMX-Serverzertifikat, ohne dieses
scheint unser exim ja nicht glücklich zu sein.

Wie Alexander schrieb, könnte diese strikte Verhalten daran liegen, wie
unser exim konfiguriert ist.

> Nein, ein solches Ansinnen könnte nur dann Sinn machen, wenn Du auf
> einem entfernten Rechner die Zertifikatskette prüfen willst. Mittels
> openssl s_client ...-Befehl (certs-request-cert) kannst Du es aber
> jeder Zeit problemlos von einem Server abrufen und speichern ohne
> manuell Dateien kopieren zu müssen.

Da hast Du natürlich recht, was ich gerade - aber nicht ohne Probleme - auf
meiner SuSE versucht habe.

Ein

echo "QUIT" | openssl s_client -connect 192.168.1.3:443

liefert das Apache-Zertifikat (wegen Links das allgemeine Serverzertifikat);
ebenso für pop (110, 995) und imap (143, 993)

Möchte ich auf dem gleichen Weg das Mailzertifikat des eisfair-Servers holen
möchte, kommt:

marcus at lenovo:~> echo "QUIT" | openssl s_client -starttls smtp -connect
192.168.1.3:25
CONNECTED(00000003)
didn't found starttls in server response, try anyway...
139949171177104:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown
protocol:s23_clnt.c:795:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 276 bytes and written 296 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE

Ebenso auf Port 587, Port 465 geht nach Aktivierung des ssmtp-Servers, die
Ports 25 und 587 dann aber immer noch nicht.

Was müsste man in der Mailkonfiguration ändern, damit auch über Port 25 und
587 (STARTTLS) das Zertifikat abrufbar ist.


Grundsätzlich hast Du recht, dass man natürlich eventuell benötigte
Zertifkate genau so wie bei einem Fremdserver per openssl abrufen kann; ich
bin auf eigenen Maschinen so bequem, schnell mal etwas per scp hin- und her
zuschieben.

>> exim weigert sich strikt, wenn es die Kette nicht prüfen kann.
> 
> Dies ist korrekt, jedoch sind zur automatischen Zertifikatsprüfung
> durch einen Dienst nur die eventuell benötigten Zwischen- und das
> Root-Zertifikat erforderlich.

Da hatte ich mich falsch ausgedrückt.

Unser exim ist so konfiguriert (s. o.), dass ihm das externe Zertifikat des
entfernten Mailservers vorliegen muss.

Oder liege ich falsch?

>> Wenn man das server.pem (öffentlicher Zertifikatsteil) auf einem anderen
>> Rechner importieren möchte, dann muss man eben höllisch aufpassen, dass
>> een nur der öffentliche Teil übertragen wird.
> 
> Der Begriff "höllisch" ist relativ zu sehen, da der Administrator nun
> einmal die Verantwortung trägt und wissen muss was er tut ;-)
> Das separate Speichern der Zertifikatsinhalte hat in der Vergangenheit
> jedoch mehr Probleme bereitet als gelöst.

Früher waren halt private Teile nicht in der pem-Datei enthalten. :-)

Nur aus Interesse: Wie geheim sind eigentlich die DH-Parameter.

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair