WebUI mit SSL

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Turnierkrokodil
Beiträge: 5
Registriert: 04.04.2020, 11:48
Hat sich bedankt: 3 Mal

Re: WebUI mit SSL

Beitrag von Turnierkrokodil » 06.04.2020, 08:54

@LibertyX:
* zu deinem Kommentar mit dem Hostnamen: ja, man muss entweder dem lokalen DNS "umbiegen" (ich hab opnsense, man kann aber auch bei einer Fritzbox statt fritz.box eine eigene domain setzen) oder einen A-Record für seine domain mit der lokalen IP bei seinem DNS-Provider setzen.
* um es noch genauer zu machen: ich erstelle mit certbot kein "wildcard" Zertifikat sondern tatsächlich explizit eines für den Host (option -d "homematic.domain.com" - aber im Prinzip hast du recht :-)

@jensm: wenn ich sowas mit einer kleinen webGUI umsetzen würde und nicht an dem eigentlichen raspimatic code rumpfuschen will: würde das am besten als ein Plugin realisiert werden? Ich meine so in der Art, wie das bei CuxD das realisiert wurde?

LibertyX
Beiträge: 767
Registriert: 10.11.2012, 19:47
System: Alternative CCU (auf Basis OCCU)
Wohnort: RP
Hat sich bedankt: 1 Mal
Danksagung erhalten: 19 Mal

Re: WebUI mit SSL

Beitrag von LibertyX » 06.04.2020, 09:05

Und wofür der ganze Aufwand?

Das über Let's Encrypt erzeugte Zertifikat ist nicht sicherer als das lokal erzeugte und die Sicherheitsmeldung lässt sich auch umgehen, indem man das Zertifikat exportiert und auf dem Client in den Zertifikats Store importiert.
RaspberryMatic (3.71.12.20231020) @RPI3 | 218 Kanäle in 53 Geräten und 72 CUxD-Kanäle in 8 CUxD-Geräten (2.11) | iobroker.pro - CCU-Historian (3.4.0)

Benutzeravatar
jmaus
Beiträge: 9820
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 459 Mal
Danksagung erhalten: 1857 Mal
Kontaktdaten:

Re: WebUI mit SSL

Beitrag von jmaus » 06.04.2020, 16:32

LibertyX hat geschrieben:
06.04.2020, 09:05
Und wofür der ganze Aufwand?

Das über Let's Encrypt erzeugte Zertifikat ist nicht sicherer als das lokal erzeugte und die Sicherheitsmeldung lässt sich auch umgehen, indem man das Zertifikat exportiert und auf dem Client in den Zertifikats Store importiert.
So sehe ich das auch! Ich denke auch das der Aufwand hier schwer den Nutzen rechtfertigt bzw umgekehrt ;)
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Turnierkrokodil
Beiträge: 5
Registriert: 04.04.2020, 11:48
Hat sich bedankt: 3 Mal

Re: WebUI mit SSL

Beitrag von Turnierkrokodil » 06.04.2020, 18:26

OK, überzeugt - die Idee ist wohl nicht massentauglich. Aber zumindest ist sie mal hier dokumentiert, falls noch jemand ausser mir auf die verrückte Idee kommt ;-) :-D

Benutzeravatar
BusinessTux
Beiträge: 10
Registriert: 18.01.2020, 18:59
Hat sich bedankt: 1 Mal

Re: WebUI mit SSL

Beitrag von BusinessTux » 25.07.2020, 13:24

Hallo zusammen,

gibt es schon Neuigkeiten zum ToDo des Redirects auf SSL?

Ich setze bei mir eigene CA's ein (ich weiß, das ist nicht massentauglich) und würde gerne automatisch auf https umleiten lassen. Das SSL-Zertifikat inkl. Key und vollständiger Kette habe ich ganz normal über die WebUI hochgeladen. Das funktioniert alles ohne Probleme.

Der erste Eintrag, in dem die proxy.conf angepasst wird scheint für mich schon der richtige Weg zu sein, aber ich verstehe das so, dass dann alle Kommunikationen, die lighttpd anbietet auf SSL umgestellt werden. Dementsprechend wäre auch weitere angeschlossene Schnittstellen (bei mir OpenHAB) davon betroffen.

Code: Alles auswählen

$HTTP["scheme"] == "http" {
    # capture vhost name with regex conditiona -> %0 in redirect pattern
    # must be the most inner block to the redirect rule
    $HTTP["host"] =~ ".*" {
        url.redirect = (".*" => "https://%0$0")
    }
}
Im ersten Step würde ich es nur mit der WebUI versuchen.
jmaus hat geschrieben:
31.10.2019, 21:10
Das einzige was bisher gegenüber der hier beschriebenen Method fehlt ist eine automatische weiter/umleitung von http aus https. Aber das ist bereits auf der TODO Liste, benötigt aber noch ein paar zusätzlichen Veränderungen in der WebUI. So z.B. das vor aktiviert eine Warnung erscheint die auf den Umstand hinweist, das nach Aktivierung dann der Webbrowser einmalig (bis man das selbst-signierte Zertifikat als "sicher" akzeptiert) auf das selbst signierte Zertifikat hinweist bzw. warnt und man diese Warnung als dauerhaft akzeptieren muss.
Kann man diese Änderungen manuell testen?

Danke
Ulf

Benutzeravatar
Zauberlehrling
Beiträge: 136
Registriert: 13.12.2009, 23:01
Danksagung erhalten: 3 Mal

Re: WebUI mit SSL

Beitrag von Zauberlehrling » 03.10.2020, 16:33

Hallo Alle,
BusinessTux hat geschrieben:
25.07.2020, 13:24

Das SSL-Zertifikat inkl. Key und vollständiger Kette habe ich ganz normal über die WebUI hochgeladen. Das funktioniert alles ohne Probleme.
ich wollte ebenfalls das Zertifikat durch eines von meiner CA ersetzten. Leider hat es auf zwei Wegen nicht funktioniert.
Ich habe das server.pem file so erzeugt

Code: Alles auswählen

-----BEGIN PRIVATE KEY-----
...**CCU Privater Schlüssel**
-----END PRIVATE KEY----
-----BEGIN CERTIFICATE-----
... **CCU Zertifikat**
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
... **CA Zertifikat**
-----END CERTIFICATE-----
1. Versuch
Dann über die Weboberfäche hochgeladen, CCU neu gestartet. Dabei wurde ein neues selfsigned Zertifikat erzeugt. Mein hochgeladenes Zertifikat finde ich nicht im Verzeichnis.
2. Versuch
Mit WinSCP die alte server.pem sichern, und dann die neue ins Verzeichnis

Code: Alles auswählen

/usr/local/etc/config
kopieren
Webserver neu starten

Code: Alles auswählen

/etc/init.d/S50lighttpd restart
Ergebnis:
Ein neues selfsigned Zertifikat und mein Zertifikat wurde in server.pem_20201003 umbenannt.

Hat da jemand eine Idee?

Danke und Grüße
Grüße
-- Der Zauberlehrling

Wenn der Ansatz bereits falsch ist, führt strenge Logik unweigerlich zum falschen Ergebnis;
Nur Unlogik kann dann noch helfen, wenigstens zufällig richtig zu liegen!

--------------------------------------------
HM1 (Raspimatic, Raspi 3B): 160 Geräte,
HM2 (Raspimatic, Raspi 3B): 36 Geräte,
HM3 (Raspimatic, Raspi 3B): 16 Geräte,
--------------------------------------------

Benutzeravatar
BusinessTux
Beiträge: 10
Registriert: 18.01.2020, 18:59
Hat sich bedankt: 1 Mal

Re: WebUI mit SSL

Beitrag von BusinessTux » 03.10.2020, 17:19

Hallo Zauberlehrling,

es liest sich für mich alles korrekt. Ich habe mir auch gerade noch mal meine server.pem angesehen. Da sind die Zertifikate in der gleichen Reihenfolge bei Dir eingetragen:
  • Privater Key
  • Host Zertifikat
  • ggf. SubCA-Zertifikat
  • Root-Zertifikat
also

Code: Alles auswählen

-----BEGIN RSA PRIVATE KEY-----
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX
-----END CERTIFICATE-----
-----OPTIONAL-----
-----BEGIN SubCA CERTIFICATE-----
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX
-----END CERTIFICATE-----
-----BEGIN RootCA CERTIFICATE-----
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX
-----END CERTIFICATE-----
Ich habe bei mir die XCA-Export-Option "PEM + Schlüssel" verwendet und die CA-Zertifikate angehängt
image2020-7-25_9-19-18.png
XCA Export Option
image2020-7-25_9-19-18.png (18.35 KiB) 1444 mal betrachtet
Die entscheidene Frage ist wahrscheinlich, ob die Zertifikatskette korrekt und gültig ist. Wen Du Dein(e) CA-Zertifikat(e) im Windows als "Vertrauenswürde Aussteller" hast und Du das Zertifikat per Doppelklick in Windows öffnest, muss die Zertifikatskette korrekt angezeigt werden:
2020-10-03 17_15_52-Zertifikat.png
Zertifikatskette
2020-10-03 17_15_52-Zertifikat.png (4.08 KiB) 1444 mal betrachtet
Viel Erfolg
Ulf

Benutzeravatar
stan23
Beiträge: 2030
Registriert: 13.12.2016, 21:14
System: Alternative CCU (auf Basis OCCU)
Wohnort: Altmühltal
Hat sich bedankt: 577 Mal
Danksagung erhalten: 335 Mal
Kontaktdaten:

Re: WebUI mit SSL

Beitrag von stan23 » 03.10.2020, 18:28

Hallo,
bei mir ist es sogar nur
  • Privater Key
  • Host Zertifikat
Auch mit xca ertellt und das Root-CA in Windows importiert.
Viele Grüße
Marco

RaspberryMatic als VM auf einem NUC mit Proxmox und USB-Funkmodul
~80 Geräte (HM, HmIP, HMW, HBW, AskSin)

Benutzeravatar
Zauberlehrling
Beiträge: 136
Registriert: 13.12.2009, 23:01
Danksagung erhalten: 3 Mal

Re: WebUI mit SSL

Beitrag von Zauberlehrling » 03.10.2020, 19:32

Hallo & Danke für die schnelle und ausführliche Antwort.
Ich hab es nochmals geprüft.

Die Certificate-Chain ist gültig:
2020-10-03 19_19_19-Zertifikat.png
2020-10-03 19_19_19-Zertifikat.png (4.25 KiB) 1417 mal betrachtet
Ich habe auch die Texte im PEM so angepasst wie im Beispiel. Leider beim Hochladen über die WebUI das selbe Verhalten. Ggf. passt ein Parameter des Zertifikats nicht:
Signature Hash Alg. SHA256
KeyLenth 4096
Subject Alternative Names (SAN): 2 DNS und 1 IP Eintrag.
Sind korrekte Pfade für den Sperrlisteneintrag notwendig? Der würde nicht passen...

Mein Zertifikat kommt von einer Microsoft CA.

Danke und Grüße
Grüße
-- Der Zauberlehrling

Wenn der Ansatz bereits falsch ist, führt strenge Logik unweigerlich zum falschen Ergebnis;
Nur Unlogik kann dann noch helfen, wenigstens zufällig richtig zu liegen!

--------------------------------------------
HM1 (Raspimatic, Raspi 3B): 160 Geräte,
HM2 (Raspimatic, Raspi 3B): 36 Geräte,
HM3 (Raspimatic, Raspi 3B): 16 Geräte,
--------------------------------------------

Benutzeravatar
Zauberlehrling
Beiträge: 136
Registriert: 13.12.2009, 23:01
Danksagung erhalten: 3 Mal

Re: WebUI mit SSL

Beitrag von Zauberlehrling » 04.10.2020, 11:03

Hallo

Fehler gefunden. Die Schlüssellänge mit 4096 Bit ist zu lang. Ich habe das Zertifikat neu erstellt mit einem Schlüsselpaar mit 2048 Bit und es hat sofort funktioniert :-)

Danke für die Unterstützung und einen schönen Sonntag.
Grüße
-- Der Zauberlehrling

Wenn der Ansatz bereits falsch ist, führt strenge Logik unweigerlich zum falschen Ergebnis;
Nur Unlogik kann dann noch helfen, wenigstens zufällig richtig zu liegen!

--------------------------------------------
HM1 (Raspimatic, Raspi 3B): 160 Geräte,
HM2 (Raspimatic, Raspi 3B): 36 Geräte,
HM3 (Raspimatic, Raspi 3B): 16 Geräte,
--------------------------------------------

Antworten

Zurück zu „RaspberryMatic“