FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: jailbreaker07 am 12 September 2017, 17:11:09

Titel: NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: jailbreaker07 am 12 September 2017, 17:11:09
Hallo,

ich möchte über Telnet die NetIO APP von davideickhoff mit fhem verbinden. Lokal funtioniert das auch über den port 7072. Um das ganze auch von extern zu erreichen wollte ich den nginx webserver verwenden, welchen ich auch verwende um von außen abgesichert auf FHEM zugreifen.

Folgende Proxy Konfiguration habe ich angelegt:

server {

        listen 555 ssl;

        server_name fhem;



        ssl_certificate /etc/nginx/cert.crt;

        ssl_certificate_key /etc/nginx/cert.key;



        auth_basic "Please log in for using LogoControl";

        auth_basic_user_file /etc/nginx/.htpasswd;





        location / {

                proxy_pass                            http://localhost:7072/;

                proxy_set_header Host                 $http_host;

                proxy_set_header X-Real-IP            $remote_addr;

                proxy_set_header X-Forwarded-For      $proxy_add_x_forwarded_for;

                proxy_set_header X-Forwarded-Scheme   $scheme;



                # Time to wait for LogoControl to answer a request, at least 60

                # sec are needed for Long-Polling of /events webservice

                proxy_read_timeout 90;



                # Bypass HTTP Basic Auth for CORS Preflight requests

                if ($request_method = OPTIONS) {

                        add_header Content-Length 0;

                        add_header Content-Type text/plain;

                        add_header Access-Control-Allow-Methods $http_access_control_request_method;

                        add_header Access-Control-Allow-Origin $http_origin;

                        add_header Access-Control-Allow-Headers $http_access_control_request_headers;

                        return 200;

                }

        }

}


Jedoch funktioniert das so anscheinend nur für HTTP Seiten. Per TCP Protokol greife ich mit der NetIO APP per telnet auf fhem zu....

Vielen dank für die Hilfe

Gruß

Thorsten
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: CoolTux am 12 September 2017, 18:28:31
nginx ist ein web Reverseproxy http https FTP mehr nicht. VPN kannst Du machen.
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: jailbreaker07 am 12 September 2017, 20:08:11
Muss ich dann alles über den VPN Tunnel laufen lassen oder geht auch nur der Port 7072? Gibt es keine Alternative zu telnet.... Telnet ist bis jetzt die einzige Möglichkeit die ich gefunden habe womit die NetIO APP in fhem über den { fhem ("getstate Schrank_Rechts")}den Status abfragen kann. Das geht Lokal sehr gut.... hätte nicht gedacht das das mit den abgesicherten Extern Zugriff so schwer zu machen ist...

Vielleicht gibt es ja noch jemand der die App in verbindung mit Fhem nutzt....

Gruß

Thorsten
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: kadettilac89 am 13 September 2017, 08:50:33
Zitat von: jailbreaker07 am 12 September 2017, 20:08:11
Muss ich dann alles über den VPN Tunnel laufen lassen oder geht auch nur der Port 7072? Gibt es keine Alternative zu telnet.... Telnet ist bis jetzt die einzige Möglichkeit die ich gefunden habe womit die NetIO APP in fhem über den { fhem ("getstate Schrank_Rechts")}den Status abfragen kann. Das geht Lokal sehr gut.... hätte nicht gedacht das das mit den abgesicherten Extern Zugriff so schwer zu machen ist...

Vielleicht gibt es ja noch jemand der die App in verbindung mit Fhem nutzt....

Gruß

Thorsten

Du denkst zu kompliziert

Die App kann auch HTTP/HTTPS. Wenn ich richtig verstehe willst du den Status abfragen. Incl. User Auth. Schau dir diese Links mal an, ich denke damit sollte es funktionierten. Wenn du Probleme mit dem Entwerten von Leerzeichen usw. hast --> Google HTTP-Basics.

https://forum.fhem.de/index.php/topic,6562.msg27549.html#msg27549 (https://forum.fhem.de/index.php/topic,6562.msg27549.html#msg27549)

https://forum.fhem.de/index.php/topic,67442.msg588937.html#msg588937 (https://forum.fhem.de/index.php/topic,67442.msg588937.html#msg588937)

Du wirst noch in das Crsf-"Problem" laufen -->
https://forum.fhem.de/index.php/topic,69407.msg609080.html#msg609080 (https://forum.fhem.de/index.php/topic,69407.msg609080.html#msg609080)


Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: jailbreaker07 am 14 September 2017, 08:53:29
Hallo, das crs Problem habe ich schon hinter mir.... Geht das ganze den auch über eine abgesicherte ssl Verbindung mit passwortschutz?
Gruß

Thorsten


Gesendet von iPhone mit Tapatalk
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: kadettilac89 am 14 September 2017, 09:19:04
Zitat von: jailbreaker07 am 14 September 2017, 08:53:29
Hallo, das crs Problem habe ich schon hinter mir.... Geht das ganze den auch über eine abgesicherte ssl Verbindung mit passwortschutz?
Gruß

Thorsten


Gesendet von iPhone mit Tapatalk

Ich besitze die App zwar, nutze sie aber nicht mehr. Lt. Doku geht es ...

**************
- Unterstützung von HTTPS Requests
- Basic Auth für HTTP und HTTPS
**************
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: Frank_Huber am 14 September 2017, 09:25:24
ich nutze NetIO über Telnet, Habe aber für Telnet ein Passwort gesetzt und nutzt für den externen Zugriff andere Ports.

den Umweg {fhem......} musst auch nicht machen.
Beispiele:
Temperaturabfrage: "get Aussen_Temp temperature"
Status GPIO: "getstate GPIO_OUT_20"
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: kadettilac89 am 14 September 2017, 10:54:48
Zitat von: Frank_Huber am 14 September 2017, 09:25:24
ich nutze NetIO über Telnet, Habe aber für Telnet ein Passwort gesetzt und nutzt für den externen Zugriff andere Ports.

den Umweg {fhem......} musst auch nicht machen.
Beispiele:
Temperaturabfrage: "get Aussen_Temp temperature"
Status GPIO: "getstate GPIO_OUT_20"

Funktioniert natürlich, Sicherheitsaspekt Vergleich HTTPS (was ursprünglich gewünscht war) und Telnet sind andere Level.

Telnet: unverschlüsselt, Passwörter in Klartext.

Muss jailbreaker07 für sich entscheiden, ich würde es nicht machen.
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: jailbreaker07 am 14 September 2017, 10:58:33
Ich hatte gestern erst einen Hackerangriff auf meinem Raspberry.... also möchte ich das ganze schon gerne sicher haben....ich werde den Vorschlag gleich von kadettilac testen....werde dann berichten [emoji3]


Gesendet von iPhone mit Tapatalk
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: Frank_Huber am 14 September 2017, 11:00:07
Zitat von: kadettilac89 am 14 September 2017, 10:54:48
Funktioniert natürlich, Sicherheitsaspekt Vergleich HTTPS (was ursprünglich gewünscht war) und Telnet sind andere Level.
Telnet: unverschlüsselt, Passwörter in Klartext.
Muss jailbreaker07 für sich entscheiden, ich würde es nicht machen.

Das ist klar, muss jeder selbst entscheiden.
Meine FHEM Instanzen steuern nichts Sicherheitsrelevantes, da ist das für mich so i.O.
Tests mit http Verbindungen zwischen NetIO und FHEM waren weitaus weniger performant als Telnet.
Daher ging meine Entscheidung in diese Richtung.
gegen VPN hat der WAF gesprochen...
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: Wernieman am 14 September 2017, 11:46:21
Mann könnte VPN auch bei einem "single Protokol" über ssh erledigen. Schließlich KANN ssh Tunneln

Das Argument "Steuert nicht Wichtiges" sollte man etwas vorsichtig gebrauchen, schließlich kann ein übernommener Rechner als Hub für weitere Angriffe gebraucht werden. Nicht nur im Internen Netz.

Ich möchte nicht die Anfrage bekommen, warum ich Server XYZ im Netz angegriffen habe ...
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: jailbreaker07 am 14 September 2017, 11:47:53
Frank, ich steuere eigentlich auch nichts sicherheitsrelevantes.... wie hast du das den mit dem Passwort setzen gemacht? Ich hatte das nicht hinbekommen...


Gesendet von iPhone mit Tapatalk
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: jailbreaker07 am 14 September 2017, 11:50:56
Dann lasse ich das besser.... wie  genau kann man das den lösen mit telnet Zugriff über vpn?


Gesendet von iPhone mit Tapatalk
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: Frank_Huber am 14 September 2017, 12:20:21
Zitat von: jailbreaker07 am 14 September 2017, 11:47:53
Frank, ich steuere eigentlich auch nichts sicherheitsrelevantes.... wie hast du das den mit dem Passwort setzen gemacht? Ich hatte das nicht hinbekommen...
defmod allowed_telnetPort allowed
attr allowed_telnetPort group System
attr allowed_telnetPort password ********
attr allowed_telnetPort room SYSTEM
attr allowed_telnetPort validFor telnetPort
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: jailbreaker07 am 15 September 2017, 23:04:07
Zitat von: kadettilac89 am 13 September 2017, 08:50:33
Du denkst zu kompliziert

Die App kann auch HTTP/HTTPS. Wenn ich richtig verstehe willst du den Status abfragen. Incl. User Auth. Schau dir diese Links mal an, ich denke damit sollte es funktionierten. Wenn du Probleme mit dem Entwerten von Leerzeichen usw. hast --> Google HTTP-Basics.

https://forum.fhem.de/index.php/topic,6562.msg27549.html#msg27549 (https://forum.fhem.de/index.php/topic,6562.msg27549.html#msg27549)

https://forum.fhem.de/index.php/topic,67442.msg588937.html#msg588937 (https://forum.fhem.de/index.php/topic,67442.msg588937.html#msg588937)

Du wirst noch in das Crsf-"Problem" laufen -->

Nabend,
heute habe ich es nochmal versucht...
Lokal habe ich es so hinbekommen: https://192.168.1.38:8084/fhem&cmd=%7BValue%28%22Pumpe%22%29%7D&XHR=1
als Antwort kommt dann off, unter parseResponse habe ich dann \w+ eingetragen damit in der App dann auch off angzeigt wird.
Nur von aussen über https mit Benutzer und Passwort klappt das noch nicht. Was muss ich noch ggf ändern und anpassen....?

danke
Gruß



Thorsten
https://forum.fhem.de/index.php/topic,69407.msg609080.html#msg609080 (https://forum.fhem.de/index.php/topic,69407.msg609080.html#msg609080)
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: kadettilac89 am 16 September 2017, 13:33:23
Du beginnst hier am besten Schrittweise mit der Ursachenforschung.

Baue dir den Link mal zusammen und teste mit Chrome oder Firefox nach folgendem Schema ...
https://<unsername>:<password>@<hostname>:<port>/fhem&cmd=<Befehlsteil>

Beispiel ...
https://fhem:xxxx@xxx.spdns.de:2450/fhem&cmd=%7BValue%28%22LED%22%29%7D&XHR=1

Beachte:
1) Internetexplorer lässt auth. im Link nicht zu. Chrome ja, Firefox ... glaube auch
2) Im Beispiel ist csrf-Token deaktiviert, das kann zum Test deaktiviert werden

Du solltest mit diesem Link ein "off" zurück bekommen. Ich habe das mit meiner Installation getestet und es funktioniert

Wenn nicht musst du erstmal hier ansetzen.

Nächster Schritt
Teste das mal auf deinem Smartphone. Btw. hast du Android oder Iphone, die App gibts für beides.

Wenn du hier Zertifikatsfehler hast kannst dein Zertifikat mal importieren.

Wenn du soweit kommst schaun wir weiter. Ich denke es scheitert schon vorher.

Du schreibst, dass du Ngnix per Reverse Proxy nutzt. Hast du trotzdem Port 8084 für HTTPs? Ist das richtig? Im internen Netz funktioniert es mit "falschem" Port jedoch nicht von extern. Zumindest nicht bei mir.

Edit:
Du hast in deiner Config "listen 555". Welchen Port hast du in deinem Router nach außen freigegeben? Auch 555? Das wäre dann der richtige.
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: jailbreaker07 am 23 September 2017, 11:43:55
Hallo,
über ngnix habe ich das jetzt nicht mehr laufen, mit dem HTTPS zugang das habe ich in fhem gemacht.

Lokal geht dies bei mir sehr gut...

http://192.168.1.38:8083/fhem&cmd=%7BValue%28%22Pumpe%22%29%7D&XHR=1

Nur das hier funktioniert nicht, das kommt keine Antwort.....
https://user:pswd@192.168.1.38:8084/fhem&cmd=%7BValue%28%22Pumpe%22%29%7D&XHR=1

Bekommt man das nicht irgendwie hin das Terminal (worüber das geht aber zimlich unsicher ist) abzusichern..... am besten so, dass auch ein nicht so geübter wie ich  das hin bekommt.......


vieln dank
Gruß

Thorsten
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: Wernieman am 23 September 2017, 20:51:02
Dir ist klar, das Du nicht https sondern http hast? Bei "http:" fehlt das "s"!

fhem wird nie den Security/Sicherheitslevel haben, wie andere Große Software, wie eben nginx/apache etc. (Ohne die Programmierer beleidigen zu wollen). Dazu sind hier viel zu viele Hobbyprogrammierer (Meinereiner Inclusieve) unterwegs und fhem erlaubt einem zu viel.

Das Terminal könntest Du über ssl absichern, Anleitung siehe Doku. Nur .... wenn es jemand schafft, dort reinzukommen ....
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: jailbreaker07 am 23 September 2017, 21:16:42
Hey, habe das s hier im Beitrag vergessen.... mit geht aber auch nicht.... Anleitung sehe Doku.... Habe es noch nicht gefunden... hast du einen Link für mich? Gruß Thorsten


Gesendet von iPhone mit Tapatalk
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: kadettilac89 am 24 September 2017, 10:12:53
Zitat von: jailbreaker07 am 23 September 2017, 11:43:55
Lokal geht dies bei mir sehr gut...

http://192.168.1.38:8083/fhem&cmd=%7BValue%28%22Pumpe%22%29%7D&XHR=1

Nur das hier funktioniert nicht, das kommt keine Antwort.....
https://user:pswd@192.168.1.38:8084/fhem&cmd=%7BValue%28%22Pumpe%22%29%7D&XHR=1


Funktioniert dieser Link? Du hast 2 verschiedene Web-Instanzen. Eine auf Port 8083, eine auf 8084. Nur weil der erste funktioniert bedeutet dass nicht, das auf Port 8084 auch alles geht.

https://user:pswd@192.168.1.38:8084/fhem
--> Bekommst du hiermit die normale Fhem-Seite? Oder erscheint eine Fehlermeldung?
--> Hast du für Webinstanz auf Port 8084 auch CRSF deaktiviert?

Mache bitte mal ein List der beiden Webinstanzen von Port 8083 und von Port 8084. Informationen sind etwas gering um dein Problem einzugrenzen.

Welchen Browser, welches Betriebssystem nutzt du?
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: jailbreaker07 am 27 September 2017, 09:57:27
Zitat von: kadettilac89 am 24 September 2017, 10:12:53
--> Hast du für Webinstanz auf Port 8084 auch CRSF deaktiviert?


Hallo, danke an den CRSF hat es gelegen, habe den jetzt auf none gesetzt.... jetzt geht es :-)


Danke

Gruß

Thorsten
Titel: Antw:NetIO APP mit fhem über telnet, konfiguration von nginx ?
Beitrag von: kadettilac89 am 27 September 2017, 16:00:49
Zitat von: jailbreaker07 am 27 September 2017, 09:57:27
Hallo, danke an den CRSF hat es gelegen, habe den jetzt auf none gesetzt.... jetzt geht es :-)

Problem erstmal gelöst. Jetzt kannst du dich um die Absicherung kümmern, CRSF aktivieren und Link anpassen, ggf. nginx reverse proxy oder gleichwertige Authentizierung ... Risiko musst du abschätzen, ich würde es machen bzw. habe es aktiv.

Hinweis zu CRSF Aktivierung ... du kannst Parameter s. u. so setzen damit immer der selbe Token verwendet wird. Wenn du dann im Link den Teil &fwcsrf... anhängst sollte es sofort wieder funktionieren.


attr WEBCMD csrfToken csrf_10188947123456



&fwcsrf=csrf_10188947123456


Ansonsten immer noch gültig ...
Zitat von: kadettilac89 am 13 September 2017, 08:50:33
Du wirst noch in das Crsf-"Problem" laufen -->
https://forum.fhem.de/index.php/topic,69407.msg609080.html#msg609080 (https://forum.fhem.de/index.php/topic,69407.msg609080.html#msg609080)