nach Umstellung auf https Meldung "unsichere Verbindung" normal?

Begonnen von Invers, 19 Dezember 2021, 20:50:04

Vorheriges Thema - Nächstes Thema

Invers

Ich habe fhem auf https entsprechend dem WIKI Artikel umgestellt.
Alle Browser warnen nun vor einer unsicheren Verbindung.
Im Firefox kann ich die fhem-Seite als Ausnahme hinzufügen, also das Zertifikat als gültig erklären, was aber an der Warnung in der Kopfzeile nicht ändert. Edge und Crome kann ich ebenfalls die Ausnahme einrichten, aber auch hier bleiben die Warnungen in der Adresszeile (Ausrufezeichen und https durchgestrichen).

Sind meine Zugriffe nun trotzdem verschlüsselt, oder können sie "abgehört" werden?
Kann ich die Warnungen abschalten? Meine Importversuche über certmgr.msc haben nicht zur Beseitigung dieser Warnungen geführt.
Die Warnungen stehen nur noch in der Kopfzeile der Browser.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

MadMax-FHEM

Wenn du https oben stehen hast: ja, verschlüsselt

Die Warnung ist, weil dein Zertifikat selbst erzeugt ist (nehme ich an).
Daher kann der Browser das ja nicht über eine offizielle Stelle prüfen, also warnt er...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Otto123

Die selbstsignierten Zertifikate von FHEM entsprechen nicht den mittlerweile verschärften Vorgaben. Stichwort  "Subject Alternative Name"
Man kann das noch verbessern: https://heinz-otto.blogspot.com/2021/12/selbstsignierte-zertikate.html

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Invers

Danke für eure Hinweise und Hilfe.
Ottfo, muss ich mein altes Zertifikat erst löschen, doer wird das überschrieben?

Kann ich sämtliche Befehle nach Anpassung in der Fhem-Zeile eingeben, oder per Putty?
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

rudolfkoenig

Ich habe jetzt die automatische Zertifikats-Generierung in TcpServerUtils.pm mit subjectAltName erweitert, es wird die Ausgabe von `hostname`, localhost, 127.0.0.1 und ::1  eingetragen. Die richtige IP auszusuchen war mir zu aufwendig.

In Chrome habe ich chrome://settings/certificates aufgerufen, auf Import geklickt, und das generierte /opt/fhem/certs/server-certs.pem reingeladen.
Wenn ich jetzt die Seite ueber https://<hostname>:8083 aufrufe, dann wird das Zertifikat als "valid" angezeigt.

Invers

ja, vielen Dank, aber was muss ich nun tun? Ich habe inzwischen erst einmal alles wieder gelöscht. Funktioniert die Anleitung im Wiki nun, oder muss ich etwas anders machen?
Sorry, aber ich hatte damit noch nie etwas zu tun und bin da sehr unbeholfen.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

rudolfkoenig

@Invers:
- bis morgen warten, FHEM update durchfuehren, /opt/FHEM/certs Verzeichnis loeschen, FHEM neu starten, danach chrome://settings/certificates aufrufen.
- statt bis morgen warten kann man TcpServerUtils.pm vom FHEM SVN bzw. trac runterladen, Rest bleibt gleich.
- noch besser ist die verlinkten Befehle zu befolgen, wenn man das kann. :)

Otto123

Ich habe es ehrlich nicht probiert (meine Artikel ist auch etwas "abgestorben") aber eigentlich müsste er überschreiben.
So kannst Du aber aus FHEM heraus vorher löschen. FHEM Kommandozeile!
"rm -R ./certs"

danach machst Du das, musst aber vorher den Hostnamen und die IP anpassen.
"mkdir ./certs"
"openssl req -x509 -newkey rsa:2048 -sha256 -days 3650 -nodes -keyout ./certs/server-key.pem -out ./certs/server-cert.pem -subj '/CN=FHEM' -addext 'subjectAltName=DNS:localhost,DNS:raspib3plus,IP:127.0.0.1,IP:192.168.56.83'"

Und ich habe erstmal nur an IP4 gedacht  :-[
Die Anleitung im Wiki muss ich mir auch noch anschauen. Da Rudi aber die Generierung umgestellt hat, wird es für die meisten user ab morgen ja automatisch laufen :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Invers

OK, danke euch für die Hilfe.

Otto, nachdem ich die Befehle
"mkdir ./certs"
"openssl req -x509 -newkey rsa:2048 -sha256 -days 3650 -nodes -keyout ./certs/server-key.pem -out ./certs/server-cert.pem -subj '/CN=FHEM' -addext 'subjectAltName=DNS:localhost,DNS:fhem3,IP:127.0.0.1,IP:192.168.178.49'"


abgearbeitet habe, bleibt das Verzeichnis certs leider trotzdem leer.
Aber ich probiere mal morgen.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Otto123

#9
Was gibt Dir das in der FHEM Kommandozeile zurück?
{qx(openssl version)}
Weil mein Code von oben funktionert erst ab 1.1.1. :-[

Etwaige Fehlermeldungen sollten eigentlich im Log erscheinen.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Invers

Mist: OpenSSL 1.1.0l  10 Sep 2019.
Wie kann ich das aktualisieren?


Zusatzfrage:
Was genau muss ich im Attribut sslCertPrefix eintragen? Suche hat nichts Brauchbares ergeben.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Invers

Ich habe nun mal mit dem neuen Modul ein Zertifikat erzeugt. Es ist auch nutzbar, aber kein Unterschied zu früher. Die Browser meckern noch immer.

Ist das so richtig?

Mein Pi heisst fhem3.


Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            8e:ca:07:03:03:a9:c8:2f
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: CN = fhem3, O = FHEM, OU = localhost
        Validity
            Not Before: Dec 20 15:03:03 2021 GMT
            Not After : Dec 18 15:03:03 2031 GMT
        Subject: CN = fhem3, O = FHEM, OU = localhost
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:9f:09:2a:5e:10:00:68:be:8e:26:43:88:57:6d:
                    93:da:88:fc:d6:25:85:5d:84:a4:27:8e:9e:46:aa:
                    f1:21:03:61:17:1d:b3:b0:db:31:3b:29:0a:11:f8:
                    36:4e:b6:b3:60:92:4d:83:34:cb:05:32:71:26:2f:
                    66:aa:9e:ac:b7:c8:14:10:b9:dd:d1:a5:a8:de:5a:
                    92:db:5b:59:89:89:21:dc:20:01:be:d3:79:2b:51:
                    46:f8:8b:87:55:30:fa:fc:38:20:d9:f6:72:cd:dd:
                    44:ab:15:ba:2f:b8:0a:86:b0:04:37:ab:64:3c:d6:
                    8e:58:38:37:65:28:30:f2:bf:25:60:e0:b0:09:51:
                    4c:50:0c:b3:bd:83:8e:7f:65:ec:77:d8:4f:7d:95:
                    14:2d:a6:81:46:a4:c7:d9:d9:0a:d8:66:4c:48:d4:
                    e5:d8:b0:37:a2:28:6f:82:6a:ed:13:3b:d2:3f:a7:
                    37:7c:53:80:15:67:fe:1e:0c:b3:69:76:3e:02:e7:
                    0e:2d:0c:80:96:79:d5:07:a4:e5:c4:fb:c2:1b:de:
                    84:84:d9:58:49:93:dd:3e:21:1a:00:65:77:f3:86:
                    5b:47:58:7a:fa:68:43:05:7d:5e:7f:95:6b:a0:e8:
                    a7:bc:36:eb:99:a4:c0:03:b3:80:0c:1c:fd:2b:1c:
                    c7:0f
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:TRUE
            X509v3 Extended Key Usage:
                TLS Web Server Authentication
            X509v3 Subject Alternative Name:
                DNS:localhost, DNS:fhem3, IP Address:127.0.0.1, IP Address:0:0:0:0:0:0:0:1
    Signature Algorithm: sha256WithRSAEncryption
         53:9e:b6:76:33:5d:14:0c:31:0e:76:fe:32:2b:dd:83:78:bc:
         61:90:db:83:07:7a:7e:55:94:1c:ff:b1:ad:2f:2f:06:df:ff:
         93:06:55:05:5d:32:b3:ed:0f:22:2c:38:d6:4e:9b:3f:58:7f:
         28:11:50:dc:cc:e4:2f:1a:0d:4f:a3:6b:54:dc:d8:06:cb:30:
         2c:3b:05:73:24:62:eb:a8:02:13:02:e8:5e:c3:6f:71:e7:66:
         ca:ef:1b:3c:07:7d:86:06:25:71:42:95:0a:78:60:01:1f:42:
         66:15:47:5b:e6:e2:6a:2b:27:dc:a2:b9:6e:20:40:fe:aa:7d:
         5f:72:d8:34:d3:4d:1c:29:46:ff:1a:85:3b:49:ae:4a:99:8d:
         2e:5c:0e:20:ea:84:c5:f8:f0:25:d7:63:b9:3b:64:d1:5d:a1:
         af:42:c4:79:f7:45:33:13:11:f4:3f:5f:a6:e3:7b:06:36:b7:
         4a:55:7d:1c:3c:b9:8d:f5:c0:22:30:6e:32:7d:c3:5a:01:af:
         da:12:74:e6:31:5f:ce:9e:7d:d0:c9:dc:28:28:12:fd:f5:c6:
         ee:a2:52:1f:ce:3c:32:36:48:51:34:6e:3a:54:7a:d4:fe:1c:
         ef:fd:6a:3c:e6:50:c1:f7:ba:eb:a6:f5:b4:80:84:b6:75:c0:
         43:c9:b4:41


Muss ich die IP ändern? Falls ja, wo denn?
IP Address:0:0:0:0:0:0:0:1
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

rudolfkoenig

Das Zertifikat wird im Browser als "valid" angezeigt, wenn man die FHEMWEB Seite ueber einen der in der DNS: Zeile befindlichen Adressen aufruft _und_ das Zertifikat im Browser eingelesen hat, wie oben geschrieben.

Um weitere Adressen einzupflegem muss man ein neues Zertifikat erzeugen.
Details kann man entweder aus dem Internet, oder aus FHEM/TcpServerUtils.pm entnehmen, die relevante Stelle ist zwischen certreq.txt Erzeugung und openssl Aufruf.

Invers

Ja, das habe ich ja so gemacht (hoffentlich).

Das Problem war bei mir, dass ich fhem per IP aufgerufen habe:
https://192.168.178.49:8083/fhem

Das geht nicht und wird von allen Browsern angemeckert.
Ich muss offenbar immer mit dem Namen reingehen:
https://fhem3:8083/fhem

Das funktioniert nun in allen Browsern ohne Meckerei.
Ausnahme: Firefox. Der meckert:
Dem Zertifikat wird nicht vertraut, weil es vom Aussteller selbst signiert wurde.

Fehlercode: MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT


Das ist aber offenbar egal, weil trotzdem weiterhin https angezeigt wird.

Die Frage ist nun nur noch, warum kann ich nicht die IP nutzen? Gibt es da einen Trick, oder geht das gar nicht?

Ich hoffe, eure Geduld nicht allzusehr zu strapazieren.
Danke.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Otto123

firefox ist speziell, der hat einen eigenen Zertifikats Store, die anderen greifen auf den System Store zu. Ich kann nicht genau sagen wie es geht, aber Du musst das Zertifikat im Firefox importieren.

Du kannst zum Aufruf nehemen was Du hier eingetragen hast:
X509v3 Subject Alternative Name:
                DNS:localhost, DNS:fhem3, IP Address:127.0.0.1, IP Address:0:0:0:0:0:0:0:1
Deine IP ist da nicht dabei  ;)

Ich hatte hier in meinem Artikel das Script für alte OpenSSL Versionen:
https://heinz-otto.blogspot.com/2021/12/selbstsignierte-zertikate.html

Ob man openssl unabhängig vom system aktualisieren kann weiß ich nicht. Ansonsten mal apt dist-upgrade machen :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz