FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Borkk am 24 Dezember 2015, 23:41:04

Titel: [gelöst] Floorplan sicher aus Internet erreichen
Beitrag von: Borkk am 24 Dezember 2015, 23:41:04
Hallo zusammen,

erst mal frohe Weihnachten :-)

Ich möchte einen "Internet-Klingeltaster" realisieren. Dazu habe ich einen entsprechenden Floorplan gebaut, auf dem eben dieser Taster gedrückt werden kann. Die Funktion dahinter ist recht simpel, sie schaltet nur eine Steckdose "on-for-timer" ein.

Deutlich aufwendiger (wenn überhaupt möglich) ist es, diesen Taster aus dem Internet erreichbar zu machen. Dyndns, CNAME usw. sind alles kein Problem. Ich möchte aber natürlich verhindern das Unbefugte auf mein FHEM oder mehr zugreifen können. Also ein CNAME mit einem simplen Portforward reicht nicht aus. FHEM läuft auf Raspi2.

Ok, das ist vielleicht keine Anfängerfrage ;-) aber mir geht es hier mal darum Ideen zu sammeln.

Grundsätzlich sollen den Taster nur 2-3 ausgewählten Personen nutzen können. Dann aber wenn möglich einfach von überall z.b. per Handy Browser. Viele werden jetzt denken, warum ruft er nicht einfach an? Die Frage ist berechtigt, aber einfach kann jeder ;-)

Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: SwordMaster am 25 Dezember 2015, 00:05:00
Hey,
Wenn es nur um einen Schutz von "aussen" geht, würde ich dir ein VPN empfehlen.
Falls du eine Fritz Box hast, kann man für Smartphones sehr leicht ein VPN einrichten.
Einfach nach FritzBox und VPN googlen, da gibt es eine Anleitung von AVM.

So mache ich es jedenfalls. Natürlich ist FHEM für jeden erreichbar der in deinem WLAN ist.
Das sind bei mir mittlerweile relativ viele Freunde. (weil ich ihnen meinen WLAN Schlüssel gegeben habe, wenn sie zu Besuch sind).
Deshalb werde ich mir langfristig wohl etwas anderes überlegen müssen. Bin also gespannt was noch für Antworten kommen :).

Viele Grüße
Stefan
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Baumi am 25 Dezember 2015, 16:10:40
Ich habe FHEMWEB über basicAuth und HTTPS abgesichert, und der Zugriff von draußen ist nur via VPN möglich. (Lässt sich via Fritzbox leicht realisieren, aber falls der eigene Router es nicht anbietet, ist auch OpenVPN eine gute Alternative – allerdings braucht man da extra Software auf der Client-Seite.)

Ich glaube, dass diese Kombination (VPN+basicAuth+HTTPS) für den Normalfall ausreicht. Falls ich da falsch liege, wäre ich aber auch an sichereren Alternativen interessiert.
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Sunny am 25 Dezember 2015, 22:04:58
Moin Borke,

gebt doch mal in die Forums-Suche:fhem Zugriff internet ein.
Dort haben einige schon etwas zu dem Thema geschrieben, vielleicht ist auch etwas für Dich dabei.   ;)

Viele Grüße
Sunny
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Borkk am 25 Dezember 2015, 23:01:49
Hi, VPN Verbindungen nutze ich bereits. Sowohl vom Smartphone als auch als Koppelung FritzBox zu FritzBox. Darüber wäre es möglich aber ich möchte "Fremden" ja kein VPN in mein Netz einrichten. Zudem hätten sie dann vollen Zugriff auf mein FHEM.

Es soll im Grunde so funktionieren. Der Freund hat einen Favorit auf seinem Smartphone gespeichert. Er geht drauf und erscheint im Browser nur der Knopf, kein VPN, kein Passwort. Er drückt Ihn und mein FHEM löst die Aktion aus, das wars.

Ich suche mal im Forum aber evtl. hat jemand noch ne Idee
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Acrusty am 25 Dezember 2015, 23:06:53
Hallo Leute
Mit der Fritz mache ich das auch via VPN. Läuft super!

Kleiner Tip betreffend WLAN Key den Freunden geben: wie wärs mit einem Gästenetz mit eigenem Kennwort?
Geht auch mit der Fritzbox.

Gruss
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Borkk am 26 Dezember 2015, 00:35:33
Hi, Danke für den Tipp... Aber Gäste Wlan nutze ich ebenfalls schon. Ich schalte es übrigens per Homematic Schalter an/aus und eine LED auf dem Homematic Panel zeigt den Status an ;-)

Der Name "Internet-Klingel" ist vielleicht etwas verwirrend. Es geht mir darum das eben diese Freunde von überall bei mir "klingeln" können. Wenn sie bei mir zu Hause in meinem Gast Wlan sind ist das nicht mehr nötig. 
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Sunny am 26 Dezember 2015, 00:59:08
Moin Borkk,

verstehe nicht genau, warum Du so etwas möchtest.
Was wahre, wenn Du per Callmonitor auf die Anrufe reagierst?
(Ist noch auf meiner todo Liste.)
Oder per what's up oder email, gib hier ja viele Möglichkeiten auf Ereignisse von Aussen zu reagieren...

Zitat von: Borkk am 26 Dezember 2015, 00:35:33
Ich schalte es übrigens per Homematic Schalter an/aus...
<griensen an> Welch Luxus, funktioniert auch preiswerter per FB-modul. <grinsen aus>

Viele Grüße
Sunny
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Baumi am 26 Dezember 2015, 11:18:25
Zitat von: Borkk am 25 Dezember 2015, 23:01:49
Es soll im Grunde so funktionieren. Der Freund hat einen Favorit auf seinem Smartphone gespeichert. Er geht drauf und erscheint im Browser nur der Knopf, kein VPN, kein Passwort. Er drückt Ihn und mein FHEM löst die Aktion aus, das wars.

Ach so, das hatte ich nicht verstanden. Das klingt, als müsste  dafür ein Web-Server-Prozess laufen, der durch die Router-Firewall nach draußen gelassen wird. Erster Gedanke wäre, das über ein kleines Perl-Skript zu machen (z.B. via HTTP::Server::Simple (http://search.cpan.org/~bps/HTTP-Server-Simple-0.51/lib/HTTP/Server/Simple.pm)), das wiederum mit FHEM kommuniziert. (Z.B. über FHEMs Telnet-Schnittstelle)

Allerdings hab' ich keine Ahnung, ob so ein Setup sicher genug wäre, um es direkt mit dem Internet kommunizieren zu lassen. Es gibt aber auch schlanke Fertiglösungen für CGI-fähige Webserver, da kenne ich allerdings mich zu wenig aus, um Empfehlungen auszusprechen. Vielleicht weiß einer der Anderen hier mehr?
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Borkk am 26 Dezember 2015, 12:39:27
@Sunny:
Zitat von: Sunny am 26 Dezember 2015, 00:59:08
<griensen an> Welch Luxus, funktioniert auch preiswerter per FB-modul. <grinsen aus>

Ich dachte Heimautomatisierung dient dem Luxus ;-) und wie glaubst du denn das mein Taster an der Wand das WLAN ein/aus schaltet <mega grins>...doch natürlich über das FB-Modul. Ich weis das es viele Wege gibt das Gäste-Wlan ein/aus zuschalten. Bei mir ist halt ein Taster eines 6fach Homematic Schalter damit belegt. Meine Freunde wissen das und schalten sich dann selbst das Wlan an wenn sie zu Besuch kommen.

@Baumi:
Danke, du bist der Erste der mein Anliegen verstanden hat. Ich bin leider auch kein Web-Entwickler und hab keine Idee ob sowas machbar ist.
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Baumi am 26 Dezember 2015, 16:34:21
Zitat von: Borkk am 26 Dezember 2015, 12:39:27
Danke, du bist der Erste der mein Anliegen verstanden hat.

Ich glaube, das liegt daran, dass der Betreff etwas missverständlich formuliert ist. Das Floorplan-Modul gehört zu FHEMWEB, und das wiederum ist m.W. nicht so weit zu "kastrieren", dass man es ohne Sicherheitsprobleme ungeschützt mit dem Internet verbinden könnte. Das heißt, um den Floorplan sicher aus dem Internet zu erreiche, braucht man eben dieKombination der zuvor beschriebenen Sicherheitsmaßnahmen.

Was Du möchtest, ist, wen ich es richtig verstanden habe, das Auslösen einer einzelnen Aktion über einen ungeschützten URL-Trigger. Da wäre meine Idee meine Idee eben, einen extra Mini-Webserver zu bemühen. Damit wär Deine Idee auf jeden Fall sehr einfach zu realisieren. Nur ob man einfach ein selbst zusammengebautes Perl-Skript verwenden könnte oder doch lieber sein eigenes Skript in einen existierenden Mini-Server integriert, da muss ich passen, weil ich einfach nicht weiß, was die potenziellen Sicherheitsprobleme wären.

Noch ein praktischer Hinweis: Wen Deine URL keinen Passwortschutz o.Ä. hat, muss sie nur irgendwie in die Fänge eines Webcrawlers geraten, und schon würdest Du regelmäßige Fehlalarme bekommen wenn ein Bot die Seite besucht. Das könnte man zwar mit der robots.txt eingrenzen, aber es gibt keine Garantie, dass sich alle Crawler daran halten.
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Borkk am 26 Dezember 2015, 17:29:45
Hmm, ich habe es schon befürchtet das es nicht einfach ist. In der Tat scheidet ein Floorplan aus, der ist nur fürs interne Netz gedacht. Was ja auch ok ist. Ein Fehlalarm wäre noch zu verkraften, es geht tatsächlich nur eine Klingel kurz an. Aber ich habe natürlich keine Lust das jemand über diesen Weg in mein Netz kommt oder irgendeine Spam Schleuder oder schlimmer auf meinem RASPI installiert.

Was ich bauen möchte ist eigentlich ein virtuelles Seil mit Glöckchen, das zu meinem Nachbarn rübergeht. ;-) Dahinter steckt ein wenig Spieltrieb aber auch ein praktischer Nutzen. So nach dem Motto... "klingel kurz durch wenn du los gehst, ich komme dann runter"

Ich glaube ich schliesse den Thread erst mal und mache mir mal Gedanken dazu.
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Rince am 26 Dezember 2015, 17:35:23
Zitatklingel kurz durch wenn du los gehst, ich komme dann runter
Dann mach es doch so.

Lass die Nachbarn bei dir anrufen und der Callmonitor sorgt dafür, dass z.B. das Gäste--WLAN angeworfen wird. Und oder du infirmierg wirst, dass dein Nachbar jetzt kommt.
Wenn du nicht willst, dass das immer passiert, besorg dir einfach noch ne weitere Nummer.
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Borkk am 26 Dezember 2015, 18:11:35
Wie gesagt es gibt viele Wege wie es zu realisieren ist. Ich möchte eben diesen Klingeltaster realisieren. Mein Nachbar könnte auch einfach anrufen und sagen ich komme jetzt ;-) Aber das kann ja jeder  ;D ;D ;D

Es geht um folgenden Aufruf:

http://192.168.xx.xx:8083/fhem?cmd=set%20klingel%20on-for-timer%205

Diese Url lässt die Klingel für 5 sec läuten.
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Baumi am 27 Dezember 2015, 15:03:37
Die FHEM-Seite der Funktionalität ist trivial. Es braucht nur wenige Zeilen Code (http://forum.fhem.de/index.php?topic=25263.0), um Befehle über die Telnet-Schnittstelle abzusenden. (Das Beispiel ist in PHP, aber in Perl wäre es auch nicht mehr Aufwand, hab' auf die Schnelle nur gerade kein Code-Beispiel gefunden.)

Auch ein schlanker Webserver, der mit Perl umgehen kann, ist auf einem Pi kein großes Problem (http://nginxlibrary.com/perl-fastcgi/).

99 Prozent der Arbeit rühren allein daher, dass ein öffentlich erreichbarer Webserver eben öffentlich erreichbar ist, d.h. man muss ihn ganz anders absichern als einen Rechner, der nur mit dem eigenen LAN redet. Das geht in seiner Komplexität schon über den Bereich FHEM-Anfängerfragen hinaus, es lässt sich aber durchaus machen – diese Anleitung hier (https://mattwilcox.net/web-development/setting-up-a-secure-home-web-server-with-raspberry-pi) dürfte Dir wahrscheinlich weiterhelfen. Einiges davon hast Du u.U. schon gemacht, auf Anderes kannst Du auch verzichten  (z.B. mysql und evtl. PHP falls Du statt dessen lieber Perl nutzen willst.)

Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Borkk am 28 Dezember 2015, 14:56:24
Ich bin jetzt ein bisschen weiter. Ich würde eine Seite auf meinem Synology NAS aufsetzten, diese würde ich über einen Portforward erreichbar machen. Auf der Seite wird dann der Link mit der Klingel sein. Ich werde mich da noch ein wenig schlau machen wie sicher das ist. Der Link startet ein PHP Script welches den o.g. FHEM Befehl intern absetzt. Da ich nur sehr begrenz Ahnung von PHP habe, hänge ich gerade an dem PHP Script. Aber das kann nicht so schwer sein, ist vermutlich nur ein 3 Zeiler...

So en der Art...

<?php
$web = "web1";
$output = shell_exec("http://192.168.xx.xx:8083/fhem?cmd=set br_switch on-for-timer 2");
//$output = shell_exec("ls");
echo $output;
?>
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Borkk am 28 Dezember 2015, 15:06:13
Es ist noch einfacher :-)

<?php
header("Location:http://192.168.xx.xx:8083/fhem?cmd=set br_switch on-for-timer 2");
exit;
?>
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Sunny am 28 Dezember 2015, 15:10:14
Moin Borkk,

Zitat von: Borkk am 28 Dezember 2015, 14:56:24
http://192.168.xx.xx:8083
unabhängig davon, erstelle Dir doch ein z.B:
define WebKlingel FHEMWEB 8086 gobal
("allowedCommands","hiddengroup","hiddenroom")
und lasse dort nur das klingeln zu...

Viele Grüße
Sunny
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: viegener am 28 Dezember 2015, 15:14:13
Zitat von: Borkk am 28 Dezember 2015, 14:56:24
Ich bin jetzt ein bisschen weiter. Ich würde eine Seite auf meinem Synology NAS aufsetzten, diese würde ich über einen Portforward erreichbar machen. Auf der Seite wird dann der Link mit der Klingel sein. Ich werde mich da noch ein wenig schlau machen wie sicher das ist. Der Link startet ein PHP Script welches den o.g. FHEM Befehl intern absetzt. Da ich nur sehr begrenz Ahnung von PHP habe, hänge ich gerade an dem PHP Script.

Ich habe mir den Thread bereits mehrfach angeschaut, aber das ganze auch noch auf dem eigenen NAS aufzusetzen halte ich für gefährlich.
1) (Synology) NAS-Webserver hinken beim Update der Webserver mit neuen Security-Patches gelegentlich hinterher
2) Du müsstest u.U. täglich prüfen ob neue Versionen da sind / automatisiert einspielen
3) Wenn ein Einbruch erfolgt, ist derjenige nicht nur in Deinem Netz sondern auf Deinem NAS!
4) Einbruchsversuche erhöhen u.U. dein Internet-Traffic erheblich (Ein von mir betriebener Cloud-Server, der nicht öffentlich bekannt war hat einmal mehrere hundert MB Traffic am Tag bekommen, nur Einbruchsversuche und das war 2013)

Das Seil mit Glöckchen müsste sich doch auch über einen Service erreichen lassen, der keinen öffentlich erreichbaren WebServer miteinschliesst. Also ein Eingang via Email, InstantMessaging (Telegram oder Whatsapp) oder anderem Service.

Ich wäre auch behilflich soetwas mit Telegram aufzusetzen (da kenn ich mich aus und andere sicher bei Email oder anderen Wegen)

Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Borkk am 28 Dezember 2015, 16:53:16
@viegener

hmm, ich habe mir sowas schon gedacht :-( Ich habe aus diesem Grund auch keinerlei Ports o.ä. offen, diese Apache Webserver auf den NAS Laufwerken taugen im Grunde nix. Über E-mail usw. geht das natürlich auch, ich fand den Gag halt gut auf dem Handy einen Klingelknopf zu haben, der tatsächlich auch eine Klingel auslöst.

Die Welt geht nicht unter wenn es nicht geht aber vielleicht kennt Ihr das, da hat man eine Idee und dann versucht man sie auch zu realisieren. Das PHP script geht übrigens nur im LAN, von aussen geht es nicht, weil es die interne IP nicht erreichen kann. Das Script müsste also vom Webserver ausgeführt werden.

Vielleicht hole ich mir so einen 5$ mini Raspi, und nutze ihn als Webserver ;-)
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: viegener am 28 Dezember 2015, 17:17:03
Natürlich verstehe ich das, genau eine solche Idee stand hinter meinem ganzen Aufbau von FHEM, denn wenn ich ehrlich bin ist es ein Zeitvertreib nicht -Ersparnis  :D

Wie gesagt mein Angebot wäre Dich dabei zu unterstützen das mit Telegram Instant-Messaging zu machen (so dass also einer der Gäste nur eine vordefinierte Nachricht im Client an einen von Dir definierten Bot schickt, der dann die Glocke bedient). Dann kann man sich auch denken, dass der Bot zurückgibt, ob Du gerade da bist (Presence) und das Glöckchen überhaupt hörst...

Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Klaus0815 am 28 Dezember 2015, 20:31:31
Wäre es ok wenn Deine Freunde Software auf ihrem Handy installieren müssten ?

Wie wäre es z.B. über SSH mit z.B. der Android-App Server-Assistent ?
Damut steuere ich bei mir die "wichtigen" Dinge von weltweit, ohne VPN einschalten zu müssen o.ä., einfach in der App Tasten dafür anlegen
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Puschel74 am 28 Dezember 2015, 20:37:58
Warum nicht Whats-App hat doch heute eh jeder.
Ein Schlüsselwort definiert und dann sollte das doch klappen.
Titel: Antw:Floorplan sicher aus Internet erreichen
Beitrag von: Borkk am 14 März 2016, 16:16:20
Um das Thema anzuschließen. Ich habe jetzt einen ReverseProxy mit SSL Verschlüsselung und zertifikatsbasierter Authentifizierung in Betrieb. Das klappt einwandfrei und eröffnet noch ganz andere Möglichkeiten.
Titel: Antw:[gelöst] Floorplan sicher aus Internet erreichen
Beitrag von: JoWiemann am 14 März 2016, 17:01:38
Hallo, vielleicht kannst Du ja hierzu eine Anleitung ins Wiki stellen. Wäre schön und würde wohl dem ein oder anderen helfen. Danke Dir.


Grüße Jörg

Gesendet von iPad mit Tapatalk
Titel: Antw:[gelöst] Floorplan sicher aus Internet erreichen
Beitrag von: fiedel am 15 März 2016, 08:16:37
Da bin ich auch dafür! Vermutlich ist es NGINX, für den ich schon lange eine gute Anleitung für FHEM mit bestmöglicher Absicherung suche. Eigentlich sollte ich das selbst hinbekommen (LPIC II)  8) , aber bisher hat leider die Zeit gefehlt...  ;)
Titel: Antw:[gelöst] Floorplan sicher aus Internet erreichen
Beitrag von: Borkk am 17 März 2016, 23:39:42
Nein, ich habe es mit Apache gemacht. Da gibt es zwar auch Anleitungen für aber leider ist keine Fehlerfrei. Ich kann meine mal ins Wikki stellen, ja Ihr habt recht.