[Gelöst] Wiki: FHEM mit SSL-Zertifizierungsstelle

Begonnen von ChHerrm, 26 Juni 2018, 22:25:57

Vorheriges Thema - Nächstes Thema

ChHerrm

Perfekt, das Zertifikat war nur im falschen Speicher :-[
Habe es jetzt im Speicher wie im Anhang dargestellt. Das klappt auf jeden Fall auf dem Laptop jetzt.
Danke für die geduldige Hilfe! :D
Per Handy und Tablet geht's aber nicht, der kriegt die DNS gar nicht aufgelöst obwohl die Geräte im gleichen WLAN sind ??? Wie kriege ich denn per Android die DNS angefragt?

@Uwe: Ich will im nächsten Schritt auch von außen drauf, aber das wird wohl eher nichts. Dafür bräuchte ich ja sicherlich einen kostenpflichtigen DynDNS-Dienst, da unser Router keine VPN-Möglichkeit anbietet und Port-Forwarding ja nur auf die IP und nicht auf den DNS kommt, denke ich mal. Oder?

CoolTux

Zitat von: my-engel am 29 Juni 2018, 20:17:51
Hallo,
Ich frag nochmal....
Willst du jetzt nur in deinem lokalen LAN per SSL auf FHEM drauf oder auch vom Internet aus?

MfG Uwe

Darf ich fragen welche Rolle das spielt? Es sollte keine Rolle spielen, von beiden Seiten sollte die Zertifikatkette valide sein.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

my-engel

Hallo noch mal,
habe ich mir fast gedacht.
Bei deiner jetzigen Lösung musst du halt an jedem PC, der irgendwann auf FHEM zugreift das Zertifikat einbinden.
Würde ich so nicht machen aber es ist jetzt in der IHS Box (I-st H-alt S-o).

Ganz für Lau bekommst du dass nicht gelöst aber fast...

Erklärung:
Dein Webserver auf dem RPi braucht ein Zertifikat welches dem Client (PC/Browser) zum verschlüsseln angeboten wird.
Du hast jetzt OpenSSL installiert und damit eins erzeugt.
Du hättest dieses aber auch mit jedem beibiegen anderen Rechner erzeugen können dann rüber kopiert und gleiches Ergebnis gehabt.

Der Client hat eine Hand voll Root Zertifikate von Zertifizierungsstellen installiert.
Beim Aufrufen von Fhem im Browser schaut der Browser jetzt im Internet bei den Root-Servern nach ob das von Deinem FHEM - Webserver
bei diesen bzw. bei untergeordneten Zwischenzertifizierungsstellen gelistet ist.
Dies ist es aber nicht und deshalb die Fehlermeldung.
Du musstest Dein Zertifikat bei einer dieser Zwischenzertifizierungsstellen signieren lassen.
Dies ist umständlich und kostet je nach Typ des Zertifikats verhältnismäßig viel Geld.

Voraussetzung für alles ist aber, dass Dein FHEM – Webserver vom Internet aus per DNS erreichbar ist.
Da du sicherlich keine feste IP von deinem Provider bekommst willst du auf kostenpflichtigen DYNDNS ausweichen.
Problem dabei ist, dass die Registrierten Subdomains wie hans-meier.dyndns-anbieter.org immer mehr werden
und die Zertifizierungsstellen bei zu vielen SubDomains das Signieren verweigern.

Die günstigste Lösung aus meiner Sicht wäre z.B.:
registriere eine eigene Domain ohne Speicherplatz usw. z.B. bei st**to , Kostet ca. 80 Cent pro Monat.
Lege dann eine Subdomain an und stelle diese dann beim Anbieter auf DYNDNS.
Dein IAS-Device (z.B. Fritz box) stellst du auf Aktualisierung für diese DynDNS.
Dann stellst du an deinem Router die Ports 80 und 443 per Forwarting auf deinen RPI.
Jetzt muss Fhem mit deiner eigenen Webadresse erreichbar sein.

Nun zum Zertifikat:
da könntest du z.B. letsencrypt.org nehmen. Diese Org. ist für kostenlose Zertifikate.
Diese sind allerdings immer nur für 3 Monate gültig.
Kurz vor Ablauf bekommst du per Mail eine Erinnerung.
Mit einem 2 Zeiler Befehl am RpI installierst du den Spaß.
Jeweils zum Ablauf des Zertifikates reicht dann ein 1-Zeiler den du per Cron starten kannst.

Bedenke aber:
Bei SSL wird von Punkt zu Punkt verschlüsselt und keiner kann mitlesen.
Aber dein Webserver kann trotzdem mit Benutzername und Passwort angegriffen werden.
Etwas mehr Sicherheit würde bringen, wenn du dann einen Proxy in eine DMZ stellen würdest.
Raten würde ich dir aber trotz alle dem zu einer VPN Verbindung....

MfG
Uwe

ChHerrm

Danke für die Infos, das erste Problem ist aber erstmal, dass ich per Android momentan gar nicht mehr auf den testweisen SSL-Port komme :-\
Wenn ich die Android Geräte auch dazu überredet bekomme, dass sie das Zertifikat als sicher ansehen, wäre das fürs erste für mich schon mal akzeptabel. Habt ihr dabei n Hinweis, warum Android https://PI3:8083 nicht erkennt? Das Zertifikat hab ich da schon importiert.

my-engel

Ich nochmal,

da funktioniert die DNS Auflösung im Router zum WLAN nicht.
Nehm einfach https://IPADRESSE:8083

MfG Uwe

CoolTux

Zitat von: my-engel am 29 Juni 2018, 21:46:02
Hallo noch mal,
habe ich mir fast gedacht.
Bei deiner jetzigen Lösung musst du halt an jedem PC, der irgendwann auf FHEM zugreift das Zertifikat einbinden.
Würde ich so nicht machen aber es ist jetzt in der IHS Box (I-st H-alt S-o).

Ganz für Lau bekommst du dass nicht gelöst aber fast...

Erklärung:
Dein Webserver auf dem RPi braucht ein Zertifikat welches dem Client (PC/Browser) zum verschlüsseln angeboten wird.
Du hast jetzt OpenSSL installiert und damit eins erzeugt.
Du hättest dieses aber auch mit jedem beibiegen anderen Rechner erzeugen können dann rüber kopiert und gleiches Ergebnis gehabt.

Der Client hat eine Hand voll Root Zertifikate von Zertifizierungsstellen installiert.
Beim Aufrufen von Fhem im Browser schaut der Browser jetzt im Internet bei den Root-Servern nach ob das von Deinem FHEM - Webserver
bei diesen bzw. bei untergeordneten Zwischenzertifizierungsstellen gelistet ist.
Dies ist es aber nicht und deshalb die Fehlermeldung.
Du musstest Dein Zertifikat bei einer dieser Zwischenzertifizierungsstellen signieren lassen.
Dies ist umständlich und kostet je nach Typ des Zertifikats verhältnismäßig viel Geld.

Voraussetzung für alles ist aber, dass Dein FHEM – Webserver vom Internet aus per DNS erreichbar ist.
Da du sicherlich keine feste IP von deinem Provider bekommst willst du auf kostenpflichtigen DYNDNS ausweichen.
Problem dabei ist, dass die Registrierten Subdomains wie hans-meier.dyndns-anbieter.org immer mehr werden
und die Zertifizierungsstellen bei zu vielen SubDomains das Signieren verweigern.

Die günstigste Lösung aus meiner Sicht wäre z.B.:
registriere eine eigene Domain ohne Speicherplatz usw. z.B. bei st**to , Kostet ca. 80 Cent pro Monat.
Lege dann eine Subdomain an und stelle diese dann beim Anbieter auf DYNDNS.
Dein IAS-Device (z.B. Fritz box) stellst du auf Aktualisierung für diese DynDNS.
Dann stellst du an deinem Router die Ports 80 und 443 per Forwarting auf deinen RPI.
Jetzt muss Fhem mit deiner eigenen Webadresse erreichbar sein.

Nun zum Zertifikat:
da könntest du z.B. letsencrypt.org nehmen. Diese Org. ist für kostenlose Zertifikate.
Diese sind allerdings immer nur für 3 Monate gültig.
Kurz vor Ablauf bekommst du per Mail eine Erinnerung.
Mit einem 2 Zeiler Befehl am RpI installierst du den Spaß.
Jeweils zum Ablauf des Zertifikates reicht dann ein 1-Zeiler den du per Cron starten kannst.

Bedenke aber:
Bei SSL wird von Punkt zu Punkt verschlüsselt und keiner kann mitlesen.
Aber dein Webserver kann trotzdem mit Benutzername und Passwort angegriffen werden.
Etwas mehr Sicherheit würde bringen, wenn du dann einen Proxy in eine DMZ stellen würdest.
Raten würde ich dir aber trotz alle dem zu einer VPN Verbindung....

MfG
Uwe

Lese bitte erstmal den Wiki Eintrag bevor Du hier die Leute verwirrst.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

ChHerrm

Die IP will ich ja gerade weg haben aus dem Aufruf von Android, sonst hab ich ja wieder keine sichere Seite und muss mich jedes mal bestätigen, dass ich die Seite nutzen will ???

CoolTux

Zitat von: ChHerrm am 29 Juni 2018, 20:26:54
Perfekt, das Zertifikat war nur im falschen Speicher :-[
Habe es jetzt im Speicher wie im Anhang dargestellt. Das klappt auf jeden Fall auf dem Laptop jetzt.
Danke für die geduldige Hilfe! :D
Per Handy und Tablet geht's aber nicht, der kriegt die DNS gar nicht aufgelöst obwohl die Geräte im gleichen WLAN sind ??? Wie kriege ich denn per Android die DNS angefragt?

@Uwe: Ich will im nächsten Schritt auch von außen drauf, aber das wird wohl eher nichts. Dafür bräuchte ich ja sicherlich einen kostenpflichtigen DynDNS-Dienst, da unser Router keine VPN-Möglichkeit anbietet und Port-Forwarding ja nur auf die IP und nicht auf den DNS kommt, denke ich mal. Oder?

Du brauchst einen DynDNS-Dienst und stellst in dem Router Portforwarding ein. In Deinem Serverzertifikat muss dann als alternativ Name halt noch Dein DynDNS Name mit rein. Und unter diesen muss auch deine Webseite erreichbar sein. Daher am besten ein Reverse Proxy an legen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Das Problem ist das die Android Geräte Standard mäßig nur auf Google DNS Server zu greifen. 8.8.8.8 und 8.8.4.4

Bei mir ist es so das ein DHCP Server auch Info zu weiteren DNS Servern im Netz an die Android Geräte vergibt daher wird bei internen Domainanfragen dieser verwendet. Von wo bekommen deine Android Geräte ihre IP?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

ChHerrm

Hm, das ist ja Mist. Meine Android Geräte kriegen die ganz normal vom Router. Unser Router gibt leider auch so gar nix her. Ohne DynDNS bleibt mir also nix übrig außer die "unsicheren" Seiten zu bestätigen? Dann hat sich die Aktion vorerst nur so semi gelohnt, aber zumindest schon mal für Windows

my-engel

Entschuldige wenn ich hier jemanden verwirrt haben sollte,
aber laut Wiki fügst du die CA dem Client als vertrauenswürdig  hinzu.
Dieses musst du  dann aber an jedem Client tun der darauf zugreifen soll.
Wenn Du im Büro bei der Arbeit das tun wölltest und ich dort Admin wäre,
hätte ich das bestimmt per Richtlinie verboten.
Es kann ja jeder selbst entscheiden,  ich habe hier nur eine saubere Lösung augezeigt...

MfG Uwe


CoolTux

Zitat von: my-engel am 29 Juni 2018, 22:46:04
Entschuldige wenn ich hier jemanden verwirrt haben sollte,
aber laut Wiki fügst du die CA dem Client als vertrauenswürdig  hinzu.
Dieses musst du  dann aber an jedem Client tun der darauf zugreifen soll.
Wenn Du im Büro bei der Arbeit das tun wölltest und ich dort Admin wäre,
hätte ich das bestimmt per Richtlinie verboten.
Es kann ja jeder selbst entscheiden,  ich habe hier nur eine saubere Lösung augezeigt...

MfG Uwe

Das ist korrekt, Du musst natürlich auf jedem Clientbrowser das rootCA als vertrauenswürdige Zertifizierungsstelle importieren. Das musst Du aber nur einmal machen. Möglich das es auf Arbeit nicht geht, aber dann nimmt man halt sein Handy.
Du kannst natürlich auch das ganze über andere Kostenpflichtige Wege machen. Aber gerade das zeigt ja wie gesagt mein Weg nicht.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Zitat von: ChHerrm am 29 Juni 2018, 22:44:02
Hm, das ist ja Mist. Meine Android Geräte kriegen die ganz normal vom Router. Unser Router gibt leider auch so gar nix her. Ohne DynDNS bleibt mir also nix übrig außer die "unsicheren" Seiten zu bestätigen? Dann hat sich die Aktion vorerst nur so semi gelohnt, aber zumindest schon mal für Windows
kannst du im router nicht von hand einträge für dns vornehmen?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

ChHerrm

Traurigerweise nicht mal das :'( demnächst wollten wir uns eh mal ne Fritzbox zulegen, dann greife ich das nochmal auf. Danke auf jeden Fall für die Hilfe, das hat am Ende dann ja geklappt, Thema gelöst :)