[Eisfair] Certs: Sektionen im server.pem

Marcus Roeckrath marcus.roeckrath at gmx.de
Sa Feb 27 19:42:20 CET 2016


Hallo Jürgen,

Juergen Edner wrote:

> ich denke Du vermischt hier zwei Dinge, einmal die Absicherung
> eines Verbindungsweges mit Hilfe eines Zertifikates und einmal
> die Bereitstellung eines abgesicherten Dienstes auf einem Server.
> 
> Wenn Du eine einen eisfair-Server als lokale CA konfiguriert hast,
> dann generiert er wie erforderlich die Zertifikatsdateien inklusive
> des benötigten Schlüssels, dem Diffie Hellman-Parametern und dem
> Zertifikat selbst um einen Dienst in Deinem lokalen Netz damit
> betreiben zu können.

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.

Ich habe in den Zertifikatsspeicher meines SuSE-Desktop-PC das CA.pem
beigefügt, damit dem server.pem vertraut wird.

> Falls Du als CA, von einer x-beliebigen Person eine Aufforderung zum
> Signieren eines Zertifkates erhältst, oder eine solche Zertifikats-
> anfrage auf einem anderen Server selbst erzeugt hast, so wird Dir
> nur die CSR-Datei ohne Schlüssel zugesandt. Diese CSR-Datei
> unterschreibst Du und die generierte Zertifikatsdatei enthält in
> diesem Fall auch keinen Schlüssel.

Und nun kann sich jeder das PEM der Zertifizierungsstelle besorgen, um das
von denen signierte Zertifikat auch prüfen zu können.

> Wie zuvor geschrieben, Du vermischt hier zwei Dinge.

Das glaube ich gerne, denn das ist alles ein großes schwarzes Loch; in der
Feuerzangenbowle war es noch die Dampfmaschine, nun eben tun sich andere
Löcher auf.

> Wenn Du Daten 
> an einen entfernten Rechner sendest, reicht es dessen Zertifikat zu
> kennen, wogegen der entfernte Rechner aber den privaten Schlüssel
> benötigt um die Daten _entschlüsseln_ zu können.

Das ist klar, der private Schlüssel ist und verbleibt nur auf dem Server.

Ich ging jetzt vom pem des Servers aus, welches z. B. dann (über Links) für
apache, pure-ftpd, exim und Co benutzt wird.

Gibt es keine Gründe dieses auf einem Client installieren zu wollen?

Nehme mal an ein zweiter Rechner wäre auch ein Mailserver, der bei eis die
Mails abliefern will; dann müsste ich doch auch erstmal das exim-pem auf
dem zweiten Server installieren, damit die smtp-Verbindung zustandekommt,
so wie ich nun schon mir das gmx.pem für die Verbindung eisfair->gmx
benötige.

> Durch die Verwendung eines Fingerprints in Fetchmail, in Kombination mit
> einer automatischen Aktualisierung dieses Parameters hebelt quasi
> diese Sicherheitsstufe aus, sodass man auch gleich ganz darauf
> verzichten kann.

Mir ist schon bewußt, dass die automatische Anpassung der Fingerprint als
Reaktion auf einem Missmatch ein Risiko ist.

>> Ich denke, dass es schon Sinn machen kann, ein Zertifikat - und nichts
>> anderes ist ja das server.pem - auf einem Client zu installieren.
> 
> Warum muss auf einem Client ein Serverzertifikat eines entfernten
> Servers installiert werden? Dies ist üblicherweise nicht notwendig
> und wird nur benötigt wenn Du eine Zertifikatskette auf dem Server
> prüfen willst.

Das kann man ja durchaus prüfen wollen, ohne direkt paranoid zu sein.

exim weigert sich strikt, wenn es die Kette nicht prüfen kann.

> Wenn Du z.B. das CA-Bundle installiert hast, kannst Du ja auch
> problemlos zu allen Servern deren Zertifikate von diesen CA
> unterschrieben wurde, eine Verbindung aufbauen. Das Herunterladen
> des entfernten Zertifikats ist für den Betrieb üblicherweise nicht
> erforderlich, da es beim Verbindungsaufbau bereit gestellt wird.

Natürlich nicht unbedingt notwendig, wenn ein übermitteltes Zertifikat
ausreichend geprüft werden kann z. B. durch ein vorhandenes CA.

Mein Anliegen war eher grundsätzlicher und warnender Natur.

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.

>> Also ist hier einfach Vorsicht angesagt und vor einem Transfer das pem zu
>> bereinigen.
> 
> Falls Du es für unbedingt erforderlich hältst ein Zertifikatsdatei
> kopieren zu müssen, dann verwende einfach die CSR-Datei, welche nur
> das Zertifikat enthält.

Guter Tip, dass wusste ich nicht.

Ich habe bislang immer nur das Zertifkat der CA übertragen, damit eben dem
eigentlichen Serverzertifikat vertraut werden kann.

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair