dedlfix: Verständnisfrage bzgl. Einrichtung von SSL-Zertifikat (Apache)

Beitrag lesen

Tach!

Ich bin auch kein Guru auf dem Gebiet, also sieh meine Antwort als Anregung für weitere Nachforschungen/Überlegungen und nicht unbedingt als Wahrheit an.

ich bin noch recht neu was die Einrichtung eines SSL-Zertifikats unter Apache (2.2) betrifft. Geliefert wurde mir ein Zertifikat mit der Endung ".p12" - vermutlich ist das dann PKCS12?

Allem Anschein nach. Was ich zu PKCS #12 gelesen habe, ist das ein Paket-Format für Zertifikate und Schlüssel. Das eigentliche Zertifikat ist also darin enthalten.

Bisher hatte ich ein selbst generiertes (Dummy-)Zertifikat, welches als ".crt" vorlag.

Wofür genau hast du das Zertifikat verwendet (oder willst es noch tun)? Also zum einen was für einen Anwendungsfall hast du und hast du dir schon Gedanken darüber gemacht, warum da ein Zertifikat benötigt wird und was es für Eigenschaften/Vorteile/Nachteile hat (auch im Vergleich zwischen selbst signiert und "offiziell")?

Also bin ich zunächst hingegangen und habe das p12 in crt umgewandelt:

Das ist keine sinnvolle Kausalität. Ein Grund für das Umwandeln ist wohl eher, dass der Apache nichts mit dem Containerformat anfangen kann und die Zertifikatsdateien ausgepackt benötigt.

  1. openssl pkcs12 -in zertifikat.p12 -out zertifikat.crt
    Dabei musste ich das PW des Zertifikats eingeben und eine PEM-PassPhrase festlegen.

Die Apache-Doku ist auch nicht unbedingt ein Fan der Passphrase. Das erschwere wohl einen automatischen Start des Servers, weil die Passphrase einzugeben ist. Da ist quasi trotz erhöhtem Risiko die Empfehlung, auf eine Passphrase im Schlüssel zu verzichten. Siehe http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html#startup ff.

[...] "SSLPassPhraseDialog builtin" [...]

Das würde ich als Admin abseits von hochsicherheitsrelevanten Systemen nicht wollen, weil damit immer eine händische Aktion beim Starten verbunden ist. In dem Fall, meine ich, sollte man auch einen 24-Stunden-Service haben, der das System überwacht und gegebenenfalls eingreifen kann. Selbst die beiden anderen Optionen neben "builtin" bringen keine zusätzliche Sicherheit - im Gegenteil. Die angefragten Programme müssen die Passphrase einfach so auf eine simple Anfrage rausrücken.

  1. Anschließend den Apache so konfigurieren, dass der Parameter SSLCertificateFile auf die zertifikat.crt-Datei und der Parameter SSLCertificateKeyFile auf die zertifikat.key zeigt. Außerdem muss der Parameter SSLPassPhraseDialog builtin auskommentiert werden.

Ein Auskommentieren sollte keine Änderung bringen, denn builtin ist der Default-Wert von SSLPassPhraseDialog.

Naja, und da das ja möglicherweise schon sicherheitskritische Punkte sind, wollte ich mich bei euch erkundigen, ob der o.g. Vorgehen Sinn macht und ein sicheres Ergebnis liefert.

"Sicher" ist kein allgemein definierter Zustand. Ich weiß also nicht, was "sicher" bei dir heißt, was du also abzusichern gedenkst und kann dann auch nicht einschätzen, wie nahe du diesem Ziel gekommen bist.

Die PassPhrase habe ich recht groß und komplex gewählt. Aber ist "rsa" gut? Wenn ich das richtig verstanden habe, ist das die Verschlüsselung des öffentlichen Schlüssels. Ist RSA empfehlenswert?

Die Alternative zu RSA ist wohl nur DSA und da DSA von einer US-Regierungsorganisation entwickelt wurde, darf man DSA gegenüber ruhig auch skeptisch sein. Ob dann für dich nur RSA übrig bleibt, musst du selbst entscheiden. Wenn ich das recht sehe, gibt es keine Alternative zu den beiden Verfahren.

dedlfix.