Wenn ich mich im lokalen Netzwerk an meine Fritz!Box anmelden will und
ich das z.B. über die lokale IP Adresse oder den Domainnamen fritz.box
mit einem vorangestellten https:// mache, dann wird man ja erst einmal
darauf hingewiesen, dass die Verbindung nicht sicher sei.
Also lädt man das Zertifikat von der Fritz.Box runter und bestätigt
dieses.
So weit so gut.
Das Problem ist nur, dass das Zertifikat auf die externe IP Adresse der
fritz.box ausgestellt wird, d.h. sobald man vom Provider eine neue IP
Adresse erhält, dann ändert sich auch das Zertifikat, bzw. ist das
Zertifikat, das der Browser noch kennt*, dann ungültig.
Man muss also ein neues downloaden und logischerweise ist jeder Download
ein Sicherheitsrisiko, denn die Seite ist ja selbstzensiert.
Wäre die hosts Datei des Computers kompromittiert oder würde noch ein
weiterer kompromittierter Rechner oder managed Switch dazwischen hängen,
dann könnte der jederzeit das Zertifikat austauschen, in dem er dem
Nutzer unterschiebt, das der das neue Zertifikat der Fritz.box
Downloaden und akzeptieren soll.
Würde der Router stattdessen das Zertifikat auf die lokale IP Adresse
ausstellen und somit auch bei Änderung der externen IP behalten, dann
würde sofort auffallen, wenn mit dem Zertifikat etwas nicht stimmt.
Kann man der fritz.box irgendwie beibringen, ein selbst definiertes
Zertifikat zu verwenden, das man auf die Fritz.box hochlädt, so dass
sich das nicht mehr ändert und das von der Fritz.box dauerhaft verwendet
wird?
Oder das Zertifikat wenigstens auf die lokale IP Addresse ausstellen
bzw. für die lokale IP Adresse ein eigenes verwenden?
* Das setzt natürlich voraus, dass der Browser Webseiteneinstellungen
von dieser Seite dauerhaft, also auch über die Sitzung hinaus, speichern
darf.
Du kannst Dir für die FitzBox ein eigenes Zert generieren (braucht
OpenSSL) und das hochladen.
Würde ich einfach auf den Namen fritz.box ausstellen, und die IPs
weglassen.
Danke, das ist ein guter Tipp.
Womit kann ich das Zertifikat auf meinem Rechner generieren? Ich habe
hier Windows 7 und Kubuntu 16.04 installiert.
Und ändert sich das Zertifikat wieder, falls sich die IP ändert? Denn
normalerweise ist es ja so, dass die Fritzbox automatisch ein neues
erstellt, wenn sich die IP Adresse geändert hat.
Fritzbox schrieb:> Kubuntu 16.04 installiert.
Kubuntu hat OpenSSL und eventuell sogar "easy-rsa". Letzteres sind eine
Handvoll Skripte für eine CA zur Zertifikatsverwaltung. OpenSSL selbst
kann man nur mit Anleitung von Google bedienen.
Unter Windows war das mal bei OpenVPN dabei.
Jim M. schrieb:> Würde ich einfach auf den Namen fritz.box ausstellen, und die IPs> weglassen.
Das hilft aber für extern nicht. Wobei es mir neu wäre, das das
Zertifikat für IPs gilt. Meine FB7490 lehnt im LAN eine HTTPS-Anfrage
einfach ab und extern lautet das Zertifkat auf den MyFritz-Name.
Fritz OS 7 (für einige Fritz!Box Top-Modelle schon erhältlich, bzw. als
Labor-Version) kann kann per Knopfdruck über ACME ein Zertifikat bei
Let's encrypt beantragen.
https://avm.de/fritz-labor/fritz-labor-fuer-fritzbox-7490-7590-und-7580/neues-verbesserungen/lets-encrypt/
Wer noch eine ältere Version hat, kann sein Glück mit dem certbot
versuchen.
Mit Zertifikaten die auf <irgendwas>.myfritz.net ausgestellt gibt es ein
grundsätzliches Problem (egal ob über Let's encrypt oder von woanders):
Dank Googles Druck tragen immer mehr Zertifikat-Aussteller die
Zertifikate in das Certificate-Transparency-System ein. Damit sind die
Hostnamen öffentlich zu finden. Aufgrund des myfritz.net-Teils des
Hostnamens weiß jeder, dass es sich um eine FritzBox handelt. Das
vereinfacht Angriffe auf FritzBoxen, sollte für FritzBoxen eine
Sicherheitslücke bekannt werden.
Jim M. schrieb:> Fritzbox schrieb:>> Kubuntu 16.04 installiert.>> Kubuntu hat OpenSSL und eventuell sogar "easy-rsa". Letzteres sind eine> Handvoll Skripte für eine CA zur Zertifikatsverwaltung. OpenSSL selbst> kann man nur mit Anleitung von Google bedienen.
Okay, dann werde ich mal schauen was ich da machen kann.
Reinhard S. schrieb:> Das hilft aber für extern nicht.
Für extern benötige ich die Funktion zum Glück nicht, da ich sowieso
keine Remote Konfiguration außerhalb meines LANs zulassen.
> Wobei es mir neu wäre, das das> Zertifikat für IPs gilt.
Das Zertifikat wir bei der Fritzbox auf die externe IP ausgestellt und
im Zertifikat sind dann noch URLs wie bsp. fritz.box als alternative
Adresse enthalten.
> Meine FB7490 lehnt im LAN eine HTTPS-Anfrage> einfach ab und extern lautet das Zertifkat auf den MyFritz-Name.
Sinnvoller wäre es, wenn sie auch im LAN auf eine HTTPS Anfrage besteht
und HTTP Anfragen ablehnt bzw. auf die HTTPS Seite weiterleitet.
Denn mit HTTP wird alles im Klartext innerhalb deines LANs an deine
Fritzbox gesendet, das ist also eine Sicherheitslücke, die ein
Angreifer, der es ins LAN geschafft hat, ausnutzen könnte.
Fritzbox schrieb:>> Meine FB7490 lehnt im LAN eine HTTPS-Anfrage>> einfach ab und extern lautet das Zertifkat auf den MyFritz-Name.>> Sinnvoller wäre es, wenn sie auch im LAN auf eine HTTPS Anfrage besteht> und HTTP Anfragen ablehnt bzw. auf die HTTPS Seite weiterleitet.
Macht sie ja aber nicht. Eine 4040 zeigt das gleiche Verhalten.
> Denn mit HTTP wird alles im Klartext innerhalb deines LANs an deine> Fritzbox gesendet, das ist also eine Sicherheitslücke, die ein> Angreifer, der es ins LAN geschafft hat, ausnutzen könnte.
Ist mir schon klar, bei der "Ausdehnung" meines LANs halte ich dieses
Risiko aber für überschaubar.
Ein Zertifikat auf eine private Fritz-IP 192.168.irgendwas auszustellen,
die tausende male existiert, scheint mir nicht ganz so toll zu sein. Das
ist ja wie, wenn JEDER im Land den selben Wohnungsschlüssel 0816
besitzt.
oszi40 schrieb:> Ein Zertifikat auf eine private Fritz-IP 192.168.irgendwas auszustellen,> die tausende male existiert, scheint mir nicht ganz so toll zu sein. Das> ist ja wie, wenn JEDER im Land den selben Wohnungsschlüssel 0816> besitzt.
Das ist eher jedes Zimmer in einer Wohnung. Wenn du von Außen nicht
in die Wohnung kommst, nützt dir auch der 0816-Schlüssel nix.
oszi40 schrieb:> Ein Zertifikat auf eine private Fritz-IP 192.168.irgendwas> auszustellen,> die tausende male existiert, scheint mir nicht ganz so toll zu sein. Das> ist ja wie, wenn JEDER im Land den selben Wohnungsschlüssel 0816> besitzt.
Was sollte da schlimmes passieren?
Die internen IPs 192.168.*.* werden ja eh nicht nach draußen geleitet
und Pakete mit dieser IP werden von den meisten Routern im Internet und
Internetknoten sowieso ausgefiltert.
Aber selbst wenn die Anfrage an einen Rechner aus einem fremden LAN mit
so einer IP gelingen würde, so würde das Zertifikat dieser IP nicht mit
dem übereinstimmen, dass man bei seinem eigenen Router mit der gleichen
IP hinterlegt hat.
Dazu müsste der fremde Rechner schon auch noch das Zertifikat stehlen
und bei sich ebenfalls einrichten oder per Zufall das gleiche
generieren.
Wenn es so einfach wäre, durch Vortäuschung des gleichen Domainnamen
oder der gleichen IP Adresse die Sicherheit von HTTPS Zertifikaten
auszuhebeln, dann wäre HTTPS ein Fehldesign.
Aber HTTPS bzw. die Zertifikate dienen ja nicht nur dazu, die
Webseitenanfrage zu verschlüsseln, sondern auch zu gewährleisten, dass
die Seite, die vorgibt, bspw. die Deutsche Bank zu sein, dass diese auch
die Deutsche Bank ist.
Dafür ist das Zertifikat da.
Natürlich könnte man versuchen ein ähnliches Zertifikat unterzuschieben,
aber dann wäre das Root Zertifikat ganz sicher nicht das gleiche und die
Zertifizierungsstelle die so etwas zulässt, die wäre nicht
vertrauenswürdig und würde von den Browsern gemieden werden.
Jim M. schrieb:> Du kannst Dir für die FitzBox ein eigenes Zert generieren (braucht> OpenSSL) und das hochladen.>> Würde ich einfach auf den Namen fritz.box ausstellen, und die IPs> weglassen.
Einfacher dürfte sein, wenn er seine Fritzbox für einen DynDNS Dienst
konfiguriert. Dann stellt die Box ihr Zertifikat auf diesen Domainnamen
aus und das funktioniert dann intern wie extern.
Bei mir ist es FreeDNS und ja, das ist wirklich kostenlos und
funktioniert problemlos mit der Fritzbox.
oszi40 schrieb:> IP, die tausende male existiert, scheint mir nicht ganz so toll zu sein.
Ein User wird auch schnell ein falsches Zertifikat als Ausnahme
anerkennen. Besonders dann, wenn es ähnlich aussieht! Das sollte man
vorsorglich ausschließen.
Axel S. schrieb:> Einfacher dürfte sein, wenn er seine Fritzbox für einen DynDNS Dienst> konfiguriert. Dann stellt die Box ihr Zertifikat auf diesen Domainnamen> aus und das funktioniert dann intern wie extern.
Ist das Verhalten irgendwo beschrieben?
Rufus Τ. F. schrieb:> Axel S. schrieb:>> Einfacher dürfte sein, wenn er seine Fritzbox für einen DynDNS Dienst>> konfiguriert. Dann stellt die Box ihr Zertifikat auf diesen Domainnamen>> aus und das funktioniert dann intern wie extern.>> Ist das Verhalten irgendwo beschrieben?
Nicht daß ich wüßte. Aber ich beobachte es. Meine Fritzbox 7560
(FRITZ!OS 06.92) zeigt folgendes Zertifikat:
Das Ausstellungsdatum paßt zu der Zeit als ich meinen Anschluß upgraded
und die neue FB erhalten und konfiguriert habe. Ich habe eine Ausnahme
für das Zertifikat im Browser eingerichtet und nie wieder anfassen
müssen.
PS: "Franzbox" habe ich die Box genannt, damit sie sich während der
temporären Koexistenz von der alten "Fritzbox" eindeutig unterscheidet.
Ich hab' mir gerade mal das Zertifikat meiner 7850 angesehen. Das
enthält meinen dyndns-Namen, aber es ist ein selbstsigniertes, d.h. kein
vertrauenerweckendes:
1
Dem Zertifikat wird nicht vertraut, weil es vom Aussteller selbst signiert wurde.
Rufus Τ. F. schrieb:> aber es ist ein selbstsigniertes, d.h. kein> vertrauenerweckendes:
selbstsigniert und vertrauenerweckend sind orthogonal, keins davon
beeinflußt das andere. Auch wenn die Browserhersteller durch ihr
verkacktes Zertifikats-UI welches dem Benutzer gerne auch mal
Unwahrheiten erzählt und Tatsachen verdreht anderes propagieren.
Und Vertrauenserweckend und Vertrauenswürdig sind auch noch mal zwei
vollkommen verschiedene und ebenfalls orthogonale Eigenschaften.
Rufus Τ. F. schrieb:> Ich hab' mir gerade mal das Zertifikat meiner 7850 angesehen. Das> enthält meinen dyndns-Namen, aber es ist ein selbstsigniertes, d.h. kein> vertrauenerweckendes
Vertrauen ist relativ. Mir reicht es aus, das Zertifikat einmal
händisch als "ist ok" abzunicken und es dann im Browser zu pinnen.
Ehrlich gesagt habe ich zu derartigen Zertifikaten sogar mehr
Vertrauen als zu denen, die von irgendeiner schattigen CA ausgestellt
wurden, die der Browserhersteller bzw. mein Linux-Distributor für
vertrauenswürdig hält und die deshalb kommentarlos(!) durchgewinkt
werden.
> Es wäre schön, wenn der letsencrypt-Client in der Fritzbox auch hier> verwendet werden würde, statt nur für die "myfritz"-Zertifikate.
Das wäre in der Tat nett. Frag bei AVM, warum sie das nicht machen.