ubuntuusers.de

Keine sichere Verbindung zur Fritz.Box

Status: Gelöst | Ubuntu-Version: Ubuntu MATE 16.10 (Yakkety Yak)
Antworten |

Krino

Avatar von Krino

Anmeldungsdatum:
31. Juli 2009

Beiträge: 1968

Danke an trollsportverein und Reinarden. ☺

Bin jetzt (glaube ich) exakt nach der Anleitung vorgegangen. Kann sein, daß ich bei meinen letzten Bemühungen vergessen hatte, den »Übernehmen«-Knopf zu drücken.

Der Import von fritzbox.pem scheint auch geklappt zu haben, denn bei meiner Vertrauenserklärung wurde mir gesagt, daß das Zertifikat genau ein Jahr gültig sei, was wohl eine Folge der Zeile

openssl req -x509 -new -key private.pem -out certificate.pem -sha256 -days 365

ist.

Es wäre wirklich schön, wenn auch ich dieses leidige Thema jetzt abhaken könnte…

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 4709

Krino schrieb:

Der Import von fritzbox.pem scheint auch geklappt zu haben, denn bei meiner Vertrauenserklärung wurde mir gesagt, daß das Zertifikat genau ein Jahr gültig sei, was wohl eine Folge der Zeile

openssl req -x509 -new -key private.pem -out certificate.pem -sha256 -days 365

ist.

Ja, eine andere Zeitangabe als die 365 Tage Geltungsdauer ginge auch. Das Zertifikat lässt sich ja auch jederzeit wieder aus der Fritzbox löschen und auch im Firefox lässt es sich wieder löschen.

Krino

Avatar von Krino

Anmeldungsdatum:
31. Juli 2009

Beiträge: 1968

trollsportverein schrieb:

Das Zertifikat lässt sich ja auch jederzeit wieder aus der Fritzbox löschen und auch im Firefox lässt es sich wieder löschen.

Im Firefox habe ich das hinbekommen, aber wie geht das bei der FB?

Krino

Avatar von Krino

Anmeldungsdatum:
31. Juli 2009

Beiträge: 1968

Krino schrieb:

aber wie geht das bei der FB?

Hab’s gefunden – das rote X.

Unten ein Screenshot, für Mitleser, die auch wie ich Tomaten auf den Augen haben.

Bilder

Cordess

Anmeldungsdatum:
14. Mai 2006

Beiträge: 466

user32847 schrieb:

Die Verbindung zwischen Rechner und FRITZ!Box findet sowieso nur im lokalen Netzwerk statt. Da man davon ausgeht, dass es sich hierbei um eine vertrauenswürdige Umgebung handelt, sollte das überhaupt kein Problem sein, dass die Verbindung nicht via HTTPS verschlüsselt ist.

Die HTTPS-Verschlüsselung ist hauptsächlich dafür gedacht, wenn man aus dem Internet auf die FRITZ!Box zugreifen möchte.

Das mit der vertrauenswürdigen Umgebung ist veraltete Denke.

Es reicht ein Switch in der Mitte der aufgrund bspw. veralteter Firmware kompromittiert ist und im Netzwerk lauscht um dann auch den Router zu übernehmen oder wenigstens umzukonfigurieren, sobald sich jemand als admin in seinem router per http einloggt. Ist die Verbindung aber über https verschlüsselt, dann kann der kompromittierte Rechner den Datenverkehr zumindest nicht entschlüsseln.

War der Nutzer so schlau und hat das Zertifikat vorher manuell im Browser installiert oder bei dem Seitenauruf den Fingerprint verglichen, dann ist er auch gegen einen man in the middle Angriff geschützt beim Login in den Router geschützt.

Cordess

Anmeldungsdatum:
14. Mai 2006

Beiträge: 466

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):

1
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):

1
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.

1
fritz.box

3. (Optional)

Mit folgendem Befehl kann man sich das CSR ansehen:

1
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:

1
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:

1
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:

1
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:

1
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:

1
chmod 600 *.key *.pem

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

1
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.

Antworten |