trollsportverein schrieb:
Ganz kurz nur, für das Do it yourself SSL Zertifikat für die "Webseite" fritz.box erstellen, da kommt dann ein Dialog im Terminal:
openssl genrsa -out private.pem 2048
openssl req -new -key private.pem -out request.pem -sha256
openssl req -x509 -new -key private.pem -out certificate.pem -sha256 -days 365
cat private.pem certificate.pem > fritzbox.pem
Die zweite Zeile kannst du dir sparen, wenn du das request.pem nicht signieren möchtest.
Außerdem sind die Dateinamen und Dateiendungen schlecht gewählt.
Private Keys sollten die Dateiendung *.keys haben.
Certificate Signing Requests sollte man die Dateiendung *.csr geben.
Und bereits signierte x.509 Zertifikate sollte man *.crt nennen.
Das hat beim archivieren für das Backup den Vorteil, dass man im Dateinamen, also den String vor dem Punkt, gleich angeben kann, zu welchem Gerät dieses Zertifikat gehört.
Der ein oder andere hat ja vielleicht nicht nur eine Fritzbox, sondern bspw. auch ein NAS, einen Netzwerkdrucker usw..
Außerdem kann man dann die ganzen *.keys Dateien in einem Rutsch die gleichen Dateirechte geben.
Ich habe daher mal eine neue Anleitung erstellt:
Selfed Signed Zertifikat erstellen:
1. Erstellen des privaten Keys (key):
| openssl genrsa -out fritzbox.key 2048
|
Die 2048 kann zwecks einer höheren Sicherheit gegen 4048 ersetzt werden. Funktioniert aber nicht in allen Geräten.
Wer das Zertifikat für ein anderes Gerät oder einen anderen Server als die fritzbox erstellt, der kann
den Dateinamen fritzbox.key entsprechend in etwas aussagekräftiges umbenennen, bsp. freenas.key für euer FreeNAS NAS.
2. Erstellen des Certificate Signing Request (csr):
| openssl req -new -key fritzbox.key -out fritzbox.csr -sha256
|
Man wird nach der Eingabe nach einigen Informationen gefragt.
Für "Country Name" kann man "DE" für Deutschland eingeben.
Bei der Frage nach dem "Common Name" ist es unerlässlich, dass man hier den Domainnamen
der Fritzbox eingibt. Also bspw.
3. (Optional)
Mit folgendem Befehl kann man sich das CSR ansehen:
| openssl req -in fritzbox.csr -noout -text
|
4. Selbst signieren des CSR:
Der nun gerade erstellte Certificate Signing Request mit der Dateiendung *.csr
würde jetzt normalerweise zur Certificate Authority (CA) zwecks Signierung geschickt werden
und dann würde man eine signierte Datei zurückerhalten.
Da wir unseren Request aber selber signieren, geht es mit folgendem Schritt weiter:
| openssl x509 -req -sha256 -days 3650 -in fritzbox.csr -signkey fritzbox.key -out fritzbox.crt
|
Hinter der Option "-days" stehen die Tage, die darüber entscheiden, wie lange das Zertifikat gültig ist. Die 3650 stehen für 10 Jahre.
5. (optional) Fingerprint anzeigen
Mit folgendem Befehl kann man sich das selbst signierte x509 Zertifikat inkl. Fingerprint ansehen:
| openssl x509 -in fritzbox.crt -noout -text -fingerprint -sha256
|
Der angezeigte Fingerabdruck ist hilfreich, wenn man nach dem installieren des Zertifikats in der Fritzbox im Browser
das angezeigte Zertifikat und dessen Echtheit vergleichen möchte, aber dazu komme ich noch.
Den sha1 Fingerprint könnt ihr mit folgendem Befehl anzeigen:
| openssl x509 -in fritzbox.crt -noout -text -fingerprint -sha1
|
6. PEM Datei erzeugen
Die Fritzbox verlangt den privaten Key und das signierte CSR in einer einzigen Datei
mit der Dateiendung *.pem
Das erreichen wir mit folgendem Befehl:
| cat fritzbox.key fritzbox.crt > fritzbox.pem
|
7. Zugriffsrechte ändern
Da die *.key und *.pem Dateien die privaten Schlüssel enthalten sollte man noch die Zugriffsrechte
anpassen:
8.
Von diesen Dateien benötigen wir für die Fritzbox die fritzbox.pem Datei und für den Browser die fritzbox.crt Datei.
Den Rest kann man löschen oder als Backup sichern.
9. Zertifikat und privaten Key auf Fritzbox installieren
In der Fritzbox müsst ihr euch jetzt einloggen und die fritzbox.pem Datei wie in der Anleitung von AVM beschrieben installieren.
https://avm.de/service/fritzbox/fritzbox-7490/wissensdatenbank/publication/show/1525_Eigenes-Zertifikat-in-FRITZ-Box-importieren/
10. Zertifikat im Browser installieren
Sobald ihr das Zertifikat welches auch den privaten Key enthält auf der Fritzbox installiert habt, werdet ihr im Browser
aus der Weboberfläche rausgeschmissen.
Nun wird euch der Browser eine Meldung anzeigen, dass das Zertifikat unbekannt oder ungültig ist und euch Fragen ob ihr es downloaden und installieren wollt.
Hier habt ihr nun zwei sichere Möglichkeiten.
A)
Entweder ihr nehmt die fritzbox.crt Datei auf eurem Rechner und installiert sie in eurem Browser manuell.
Bei Firefox bspw. über die URL
| about:preferences#advanced
|
Und dann dort über "Datenschutz & Sicherheit" → "Zertifikate Anzeigen" → "Zertifizierungsstellen" → "Importieren".
Eventuell kann es nötig sein, den Browser neu zu starten.
oder
B) Ihr schaut euch das unbekannte Zertifikat im Browser an und vergleicht den Fingerabdruck mit dem, welches ihr oben unter Punkt 5 in der Kommandozeile erhalten habt.
Stimmen die beiden Fingerabdrücke überein, dann könnt ihr dem Zertifikat vertrauen und es downloaden bzw. im Browser installieren.
11. WICHTIG: CAs
Im Prinzip seid ihr jetzt fertig, aber es gibt noch etwas wichtiges zu sagen:
Bestätigen lassen von einer CA für das eigene Fritzchen kann man sich sparen. Man weiß ja, woher das Zertifikat kommt.
Wenn man mehrere Geräte und Server im Netzwerk hat.
Bspw. die Fritzbox, ein oder zwei Switches, ein NAS usw.
Dann macht es Sinn, einen Key für eine eigene Certificate Authority (CA) + Passwort anzulegen und damit alle anderen Zertifikate der einzelnen Geräte, die ihr wie oben, außer Punkt 4 und diesen Schritt etwas abgewandelt, erstellt, zu zertifizieren.
Der Vorteil des ganzen Prozederes ist dann, dass ihr auf den Clientrechnern nur das Zertifikat des CA installieren müsst.
Der Aufwand reduziert sich dann pro Browser und Clientrechner und abhängig von der Anzahl der Server enorm.