SSL-Passwort beim Neustart von Apache2

33

Ich habe ein Wildcard-SSL-Zertifikat von Godaddy auf Apache2 eingerichtet. Bei jedem Neustart des Servers werden Sie nach der Passphrase für den privaten Schlüssel des SSL-Zertifikats gefragt.

Was ist der beste Weg, um dieses Hindernis für den Neustart zu beseitigen, denn wenn der Neustart der Protokolldatei-Rotation mitten in der Nacht stattfindet, wird der Server nicht wiederhergestellt und ich erhalte morgens einen unglücklichen Client-Anruf, da es sich um einen gemeinsam genutzten Server handelt .

Ryw
quelle
5
Lassen Sie mich hinzufügen, während die eigentliche Frage beantwortet wurde: Die Drehung der Protokolldatei erfordert keinen Neustart. Ein erneutes Laden ist in Ordnung und erfordert keine Vorlage von Anmeldeinformationen.
Jan Jungnickel
Danke Jan - guter Punkt - ich bin mir eigentlich nicht sicher, warum das Slice neu startet - es scheint ungefähr eine Woche zu
dauern,

Antworten:

28

Fügen Sie der httpd.conf Folgendes hinzu, damit Apache die Passphrase bei jedem Neustart erhält:

SSLPassPhraseDialog exec:/path/to/passphrase-file

in deiner passphrase-datei:

#!/bin/sh
echo "passphrase"

und mache die Passphrase-Datei ausführbar:

chmod +x passphrase-file
kaltes Wasser
quelle
1
arbeitete auch für mich! : D
markcial
5
Denken Sie daran, die richtigen Berechtigungen für das Skript festzulegen , das die Passphrase enthält . Andernfalls haben Sie die Sicherheit, die Sie durch die Passphrase erhalten haben, effektiv entfernt. (Sie sollten auch die richtigen Berechtigungen für den Schlüssel festlegen, wie in der Antwort von Max beschrieben).
Voretaq7
6
Wie ist es sicherer, den Schlüssel (mit Passphrase) mit 600 Berechtigungen und dieses Skript mit 700 Berechtigungen zu speichern, als nur den Schlüssel ohne Passphrase mit 600 Berechtigungen zu speichern, vorausgesetzt, der Besitzer beider Dateien muss Root-Benutzer sein, richtig?
Zelanix
5
Genau; Das ist sinnlose Sicherheit. Entfernen Sie auf jeden Fall eine Passphrase von einem Schlüssel, um einen automatischen Neustart durchzuführen. Aber denken Sie nicht, dass Sie den Sicherheitsverlust, den Sie soeben erlitten haben, in irgendeiner Weise zurückfordern können. Es ist oft ein guter Kompromiss, aber es ist ein Kompromiss.
MadHatter unterstützt Monica
Der Vollständigkeit halber
alk
29

Sie müssen die Verschlüsselung folgendermaßen aus Ihrer privaten Schlüsseldatei entfernen:

openssl rsa -in server.key -out server.key.new

mv server.key.new server.key

Stellen Sie sicher, dass die neue Schlüsseldatei nur von root gelesen werden kann. Andernfalls kann jeder mit Shell-Zugriff auf diesen Server den privaten Schlüssel abrufen und sich als Ihr Server ausgeben.

Um den Schlüssel nur für root lesbar zu machen, führen Sie 'chmod 600 server.key.new' aus, bevor Sie die Schlüssel austauschen.

Max Alginin
quelle
ich habe deine idee ausprobiert, bekomme immer noch herausforderung auf sudo ./apache2 restart :(
ryw
4
+1, weil das keine "Idee" ist, sondern ein tatsächlicher Vorgang
codehead 03.10.09
Ich habe den Begriff "Idee" verwendet, weil es bei mir nicht funktioniert hat.
Ryw
2
Wie macht die Passphrase ein SSL-Zertifikat sicherer, wenn Sie es so einfach entfernen können, ohne die Passphrase zu benötigen? (oder werden Sie nach der Passphrase
gefragt
3
@ user2693017 - Der hier beschriebene Befehl openssl fragt nach der Passphrase des verschlüsselten privaten Schlüssels. Wenn Sie das Kennwort nicht kennen, kann es nicht entfernt werden.
Michael Paesold