Certbot und FHEMWEB - Bitte um Tests

Begonnen von drhirn, 08 November 2023, 12:17:14

Vorheriges Thema - Nächstes Thema

drhirn

Hallo,

ich hätte im Wiki einen Entwurf für eine Seite, die die Einbindung von Certbot in FHEMWEB erklärt, gebastelt.

https://wiki.fhem.de/wiki/Benutzer:Drhirn

Wärt ihr so nett und könntet das mal testen und mir Hinweise für Änderungen/Verbesserungen/etc. schreiben? Dann könnte ich's regulär im Wiki ablegen.

Danke!
Stefan

RalfRog

Hi

Ich habe mir den Wiki-Eintrag mal durchgelesen (nicht getestet). Ich denke man kann ihn ganz gut verstehen. Habe allerdings ein klein wenig "Übung" mit den Namen und Verzeichnissen (Certbot unter Windows), da ich alle 3 Monate manuell auf einer gehosteteten Webseite die Zertifikate erneuern muss.

Einleitung
Zitat...
Diese Zertifikate können auch in FHEM verwendet werden, um den Netzwerkverkehr zu verschlüsseln
...
Geht es hier um den Netzwerksverkehr? Doch nur um den Zugriff per HTTPS (intern oder/und extern?), oder bin ich auf dem falschen Dampfer?.
Am Rande:
Welchen Nachteil hat denn die Methode, die zum Attribut HTTPS in der CommandRef beschrieben ist?



Einbindung in FHEM
Zitat...
Kurz gesagt, für Anwendungen sind nur die jeweiligen Dateien unter /etc/letsencrypt/live relevant. Dabei vor allem:

    /etc/letsencrypt/live/www.example.com/privkey.pem (Der private Key)
    /etc/letsencrypt/live/www.example.com/fullchain.pem (Das erstellte Zertifikat mit der ganzen Signaturkette)
...

Im weiteren Verlauf solltest Du konsequent bei den Bezeichungen www.example.com   privkey.pem (bzw. privkey1.pem)   fullchain.pem (bzw. fullchain1.pem) bleiben.
Da taucht dann z.B.
  • /archive/server/   statt   /archive/www.example.com/
oder
  • sudo -u fhem ln -s /etc/letsencrypt/live/test.jft.at/privkey.pem ...  statt   sudo -u fhem ln -s /etc/letsencrypt/live/www.example.com/privkey.pem  ...
auf.

server-key.pem & server-cert.pem sind, nehme ich an, vorgegeben?

Lt. commandRef kann man das Verzeichnis /opt/fhem/certs im modpath selber festlegen.


Gruß Ralf




FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

drhirn

Super gesehen, danke!

ZitatGeht es hier um den Netzwerksverkehr? Doch nur um den Zugriff per HTTPS (intern oder/und extern?), oder bin ich auf dem falschen Dampfer?
Hast schon recht. HTTPS ist aber auch Netzwerkverkehr ;). Ich hab's umformuliert.

ZitatWelchen Nachteil hat denn die Methode, die zum Attribut HTTPS in der CommandRef beschrieben ist?
Es ist dann ein selbstsigniertes Zertifikat, das von den Browsern nicht ohne zusätzliche Arbeit akzeptiert wird. Und man muss es manuell verlängern bzw. ersetzen.

Zitatserver-key.pem & server-cert.pem sind, nehme ich an, vorgegeben?

Lt. commandRef kann man das Verzeichnis /opt/fhem/certs im modpath selber festlegen.
Ja. Und ja. Aber es wird dann auch im selbst festgelegten Verzeichnis server-key.pem und server-cert.pem erwartet. Key und Zertifikat heißen mit Certbot aber anders. Die Pfadangabe nützt in dem Fall also nichts.

Danke für's Drüberlesen Ralf!

Apollon

Du schreibst wie ein Zertifikat für mehrere Domains erstellt wird und nennst als Beispiel auch example.com und www.example.com. Vieleicht wäre der Hinweis hilfreich, dass das Zertifikat nicht nur für example.com sondern immer auch für www.example.com erstellt werden soll, damit es keine Probleme mit dem Browser gibt, wenn die Domain mal mit und mal ohne www aufgerufen wird.

Nun wäre der richtige Zeitpunkt, im Wiki den Beitrag  zu aktualisieren. Hier wäre ein Link auf deinen Beitrag und Letsencrypt sinnvoll.

Gruß Apollon

drhirn

Zitat von: Apollon am 09 November 2023, 10:41:00Du schreibst wie ein Zertifikat für mehrere Domains erstellt wird und nennst als Beispiel auch example.com und www.example.com. Vieleicht wäre der Hinweis hilfreich, dass das Zertifikat nicht nur für example.com sondern immer auch für www.example.com erstellt werden soll, damit es keine Probleme mit dem Browser gibt, wenn die Domain mal mit und mal ohne www aufgerufen wird.
Hmm. Grundsätzlich hast du natürlich recht. Ich habe zuhause aber z.B. dutzende Sub-Domains. Nur "www" nirgends. Es hängt also von dem Anwendungszweck ab.


ZitatNun wäre der richtige Zeitpunkt, im Wiki den Beitrag  zu aktualisieren. Hier wäre ein Link auf deinen Beitrag und Letsencrypt sinnvoll.
Kommt, sobald keine Verbesserungsvorschläge für meinen Artikel mehr einlangen.

Danke für's Durchlesen!


Sailor

Moin DrHirni

ZitatSind alle Voraussetzungen erfüllt, kann ein Zertifikat mit folgendem Befehl beantragt werden:
sudo certbot certonly --standalone -d www.example.com -d example.com
Weiteres Beispiel für das Beantragen eines Zertifikates mit mehreren Domains:
sudo certbot certonly --standalone -d www.example.com -d example.com

Das sind doch identische Einträge?

Gruss
    Sailor
******************************
Man wird immer besser...

Sailor

Ein herzerfrischendes "Moin" vom achtern-Diek vorweg!

Laien - Frage:

Wenn das Internet ausfällt (Wie bei mir gerade seit 4 Tagen) und man seinen eigenen fhem-Server innerhalb seines eigenen Netzwerks erreichen möchte - Kann ich dann noch auf meinen fhem-Server zugreifen
a) solange das Zertifikat innerhalb der 90 Tage noch gültig ist?
b) nach den 90 Tagen mit abgelaufenem Zertifikat?

Gruss
    Sailor
******************************
Man wird immer besser...

drhirn

Danke für den Hinweis! Hab's korrigiert.

Solange das Zertifikat gültig ist, kannst du auf jeden Fall zugreifen. Wenn's abgelaufen ist, kommt's wahrscheinlich auf den Browser an, ob er dir noch Zugriff gewährt. Kann ich aber jetzt nicht genau beantworten.

Wernieman

Wenn Gültig: Zugriff möglich
Wenn Abgelaufen: Browser meckert wegen Zertifikat und je nach Browser ist Zugriff trotzdem möglich (oder eben nicht). Pauschal welcher werde ich dazu keine Aussage machen können, da es sich bei den Browsern immer wieder Ändert ob möglich oder nicht.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

betateilchen

Zitat von: Sailor am 15 Januar 2024, 14:12:14und man seinen eigenen fhem-Server innerhalb seines eigenen Netzwerks erreichen möchte

Für solche Notfälle und (nur) für innerhalb des eigenen Netzwerks empfiehlt es sich, einen telnet port für den Zugriff auf FHEM definiert zu haben...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Wernieman

Oder alternativ eine 2. Webinstance auf Port 80 .....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html