Das Thema wurde sicher schon mal in ähnlicher weise ausgekotzt. Firefox macht aus jedem expliziten http:// ein https://. Ganz gleich, ob das nun eine lokale Adresse ist oder eben das gefährliche WWW. Die Idee dahinter ist mir natürlich klar. Im Internet will ich https:// und auch weniger technisch versierte Personen sollten in den Genuss von Verschlüsselung kommen. Aber im lokalen Netz?
Ich habe einen kleinen Pi laufen, auf dem ich eine kleine, feine Webseite für mich betreibe (http://[hostname]/). Einfach nur ein privates lokales Projekt, an dem ich sowohl für Desktop, als auch für die mobile Ansicht vor mich hin schreibe. Und von Firefox wird mir in meinem eigenen “sicheren” Netzwerk obtruiert, dass ich diese Spielerei verschlüssle. Es könnte ja meine Katze bei HTTP mitlesen. Oder noch schlimmer irgendwelche Gäste, die erst mal ihr Notebook mit Matrix- und Hackerman-Aufkleber auf den Küchentisch stellen und Wireshark anschmeißen, ehe sie sich mit mir unterhalten wollen?
Klar, mit unnötig komplizierten Kniffs (about:config) kann man die Nutzung von http:// erlauben, aber Firefox for Android scheint es einfach so zu machen, wie es gerade am liebsten passt. Parallelen zur Mondstellung? Abhängigkeiten zum Wetter? Man weiß es nicht. Eine Konfiguration neben “HTTPS Only” (deaktiviert!) gibt es nicht. Sollte es nicht möglich sein, einen Hostname auf Ursprung (LAN/WAN) zu prüfen?
Ich komme dann also wieder, wenn Firefox an meinem Self-Signed Certificate scheitert…
tl;dr Firefox zwingt zu HTTPS weshalb ich auf privaten Intranet-Webseiten zu self-signed TLS/SSL wechseln muss, worauf ich keine Lust habe
Edit Ihr habt ja Recht, meine Spielereien sollten sich in die ‘echte’ Welt integrieren können. Hacks, damit sie eine Sonderrolle spielen, sind also auch Quatsch.
“Kommt maximal auf die Todo.” hat mich kalt erwischt, dort steht SSL schon eine Weile ;-) Ich habe nun ein bisschen herum schrauben müssen, komische Fehler erhalten und auch irgendwelche kruden Dinge mit Android und exportierten Zertifikaten gemacht. Aber das Thema ist nun durch, so unnötig ich es immer noch auch finden mag
Also ich nutze caddy als reverse proxy
Löst nicht das Problem, dass man dann allen lokalen Browsern/Geräten die eigene CA bzw zumindest das eigene RootCrt verklickern muss.
Und nein, Let’s Encrypt kommt für nichtöffentliche Adressen für mich nicht in Frage. (Schon allein, weil ich die Domains, die ich lokal nutze, gar nicht registrieren könnte.)
Eine eigene CA zu installieren ist aber auch kein großes Ding, man muss nur dran denken die dahinterliegenden Zertifikate regelmäßig zu erneuern. Ist eigentlich auch das sinnvollste fürs Heimnetz ne eigene CA anzulegen und dann auf allen Geräten von der CA signierte Zertifikate zu hinterlegen
Kosten/Nutzen. “Sicherheit” gibt es immer nur im Kontext. Und in meinem Kontext spielt es einfach keine Rolle, ob man den Traffic sniffen kann oder nicht.
Eine CA richtig zu betreiben ist auch alles andere als trivial. Denn wenn jemand an dein RootCA kommt, bist du noch mehr am Arsch, weil du dann auch noch glaubst die Verbindung wäre sicher.
Was spricht denn gegen letsencrypt? Mit DNS challenges kommt man da problemlos an gültige Zertifikate, ohne einen Webserver mit Verbindung zur Außenwelt zu betreiben.
Du kannst ja, auch ne Subdomain von duckdns.org oder so nehmen. Die wäre zwar kostenlos, aber halt sehr sperrig.
Ich sehe nicht das Problem, wenn einsehbar ist, dass server.heimnetz.de auf 192.168.0.69 mit einem A record zeigt. Außerdem müsstest du das ja nichtmal festlegen, wenn du eh einen privaten DNS Server betreibst.
Das mit der begrenzten tld Auswahl ist wirklich ein Luxusproblem
Und dennoch ist das alles eine Lösung für ein Problem, das ich nicht habe. Ergo ist es haufenweise Aufwand für nichts. Eigentlich sogar im Gegenteil: es erschwert mein Leben, wenn ich selbst mal in den Traffic schauen will um was zu debuggen.
Klar, Möglichkeiten gib es, aber wenn ich ein privates Projekt starten möchte, möchte ich mich doch nicht erst mal mit einer riesigen Wand an Dev-Op-Themen beschäftigen müssen sondern einfach vor mich her programmieren, mit der möglichst unaufwändigsten Basis, bis es “etwas Ernstes” wird?
Kommt natürlich drauf an wie deine restliche Server-landschaft aussieht. Wenn du eh andere Server/ Programme am laufen hast, ergibt es mMn sowieso Sinn einen Reverse Proxy aufzusetzen.
Caddy funktioniert tatsächlich auch relativ simpel mit einer einfach zu verstehenden Config-Datei. Kann zudem direkt als Webserver oder eben lediglich als Reverse Proxy benutzt werden.