Forum: Mikrocontroller und Digitale Elektronik ESP32 an Fritzbox von außen steuern. Möglich?


von Thorsten M. (cortex_user)


Lesenswert?

Moinsen,

ich versuche mich kurz zu fassen. Meine FB ist von meinem Handy über
https://kryptischesZeug.myfritz.netz

erreichbar, auch wenn das Zertifikat als ungültig bezeichnet wird.

Auf dem ESP32 Solar Server habe ich einen Server laufen, d.h. der ist 
erstmal nur da.

Kann ich mit
Aufruf:
https://kryptischesZeug.myfritz.netz/zeigedaten

Serverhandle:
1
   HTTPClient http;
2
   Serial.print("HTTP GET request to ");
3
   Serial.println(serverName);
4
   http.begin(serverName);
5
6
   String payload = http.getString();
7
   if (payload.indexOf("zeigedaten") != -1) {
8
       Serial.println("Hello World");
9
   }

einen Zugriff auf meine FB machen? Ich möchte kein dynDNS etc verwenden, 
weil das allesm Geld kostet, Fritz bietet das ja auch an.

Später sollen noch mit
https://kryptischesZeug.myfritz.netz/zeigedaten&v=xxx&x=nnn&; ....
Parameter übergeben werden

ESPAsyncWebServer möchte ich nicht verwenden.

Grüße,
Thorsten



von außen auf die Box zugreifen? D.h.

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Nein, denn https wird in Deinem Fall ja schon von der Fritzbox selbst 
behandelt.

Du müsstest in der Fritzbox eine Portweiterleitung von Port 443 auf 
Deinen ESP32 einrichten und die Fernadministration der Fritzbox entweder 
abschalten oder aber eine Portweiterleitung von einem anderen Port auf 
den Port 443 Deines ESP32 einrichten, und dann diesen Port hier statt 
12345 angeben:

https://kryptischesZeug.myfritz.netz:12345

Und dann muss Dein ESP32 natürlich auch https "sprechen".

von Thorsten M. (cortex_user)


Lesenswert?

Ok...443 wegen SSL? SSL2 ist auf dem ESP32 möglich aber aufwendig und 
die Codegröße knallt durch die Decke. Die Fritzbox auf http umstellen 
wird wohl nicht gehen?

von Thorsten M. (cortex_user)


Lesenswert?

Müsste gehen, auch wenn ich die grad nicht vor mir habe:

https://avm.de/service/wissensdatenbank/dok/FRITZ-Box-7590/1376_MyFRITZ-Freigaben-einrichten/

"Wenn Sie die Freigabe für einen HTTP-Server, HTTPS-Server oder 
FTP-Server einrichten möchten, wählen Sie in der Ausklappliste 
"Anwendung" den entsprechenden Serverdienst aus."

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Thorsten M. schrieb:
> Ok...443 wegen SSL? SSL2 ist auf dem ESP32 möglich aber aufwendig und
> die Codegröße knallt durch die Decke. Die Fritzbox auf http umstellen
> wird wohl nicht gehen?

Du kannst natürlich auch Port 80 von der Fritzbox an Deinen ESP32 
durchreichen lassen.

Dann kannst Du das über Deinen Dyndns-Namen via http ansprechen. Ja, 
Dyndns-Namen, denn nichts anderes ist Dein myfritz-Name.

von Rüdiger B. (rbruns)


Lesenswert?

Thorsten M. schrieb:
> https://kryptischesZeug.myfritz.netz/zeigedaten&v=xxx&x=nnn&;; ....

mit http://kryptis... und einer Portweiterleitung auf der Fritzbox auf 
ESP32-IP port 80 ginge das, aaaber dann steht der ESP32 für ALLE 
sichtbar im Internet ud evt. auch auf deine gesamtes Netz je nach Bugs 
des ESP32.
Besser und sicherer ist es auf der FB ein VPN von deinem Handy 
einzurichten und vom Handy aus direkt die interne IP des ESP32 
anzusprechen.

von Harald K. (kirnbichler)


Lesenswert?

Rüdiger B. schrieb:
> Besser und sicherer ist es auf der FB ein VPN von deinem Handy
> einzurichten und vom Handy aus direkt die interne IP des ESP32
> anzusprechen.

O ja. Definitiv.

Selbst das alte Fritzbox-VPN ist mit Mobilgeräten (iOS/Android) 
problemlos nutzbar, da macht nur Windows Ärger.

von Thorsten M. (cortex_user)


Lesenswert?

Rüdiger B. schrieb:
> Besser und sicherer ist es auf der FB ein VPN von deinem Handy
> einzurichten und vom Handy aus direkt die interne IP des ESP32
> anzusprechen.

Bahnhof, Ägypten.... ???? An meinem wlan hängt, dnla Videoserver, samba 
fileserver, 8 ESP's,. OTA ... also ne Menge.

: Bearbeitet durch User
von Flöte (nsolo)


Lesenswert?

Ich hätte auch VPN vorgeschlagen. Mit Wireguard auf allen Endgeräten 
unproblematisch. Sicher und als wärst du zuhause. Wenn kein fremder 
drauf zugreifen soll, dann ist das die sinnigste Empfehlung.

von Christian (grobig80)


Lesenswert?

Thorsten M. schrieb:
> Rüdiger B. schrieb:
>> Besser und sicherer ist es auf der FB ein VPN von deinem Handy
>> einzurichten und vom Handy aus direkt die interne IP des ESP32
>> anzusprechen.
>
> Bahnhof, Ägypten.... ???? An meinem wlan hängt, dnla Videoserver, samba
> fileserver, 8 ESP's,. OTA ... also ne Menge.

Denke Rüdiger B. meinte damit es wäre besser den esp32 von deinem 
privaten Netz zu trennen wenn dieser durch die Portweiterleitung aus dem 
Internet erreichbar ist. Ist bestimmt keine schlechte Idee so ein "iot" 
Gerät weitmöglichst abzusichern.

von Carsten-Peter C. (carsten-p)


Angehängte Dateien:

Lesenswert?

Moin, Du kannst einfach in der Fritzbox eine Freigabe einrichten. Hast 
Du mehrere Geräte, kannst Du andere Ports also nicht 80 sondern z.B.424 
von Außen nach Port 80 innen weiterleiten. Diese erreichst Du dann über 
http://kryptischeszeug.myfritz.netz:424 oder über Deine IP:424. Ich habe 
für 0.20€/Monat eine Domain-Weiterleitung gemietet, mit der ich meine 
Domain auf die Fritzbox und somit auf mein Gerät leite. Ich nutze das 
gerne, um die Temperatur im Haus im Urlaub zu sehen. In einigen Ländern 
ist es unterbunden, eine VPN nach Hause aufzubauen, http geht eigentlich 
immer.
Gruß
Carsten

von Harald K. (kirnbichler)


Lesenswert?

Thorsten M. schrieb:
> Bahnhof, Ägypten.... ???? An meinem wlan hängt, dnla Videoserver, samba
> fileserver, 8 ESP's,. OTA ... also ne Menge.

Kein Bahnhof, auch keine Pyramiden.

Mit einem VPN kannst Du eine durchs Internet getunnelte 
Netzwerkverbindung zwischen Deinem Smartphone (oder sonst einem Gerät) 
und Deiner Fritzbox aufbauen, und dann verhält sich Dein Smartphone so, 
als ob es zu Hause im WLAN eingebucht wäre.

Wenn der ESP, mit dem Du Deine Webaktionen machen willst, im lokalen 
Netzwerk unter http://192.168.178.123 erreichbar ist, dann ist er es 
über ein VPN auch. Das funktioniert auch, wenn Du in Toronto bist, oder 
in Kapstadt.

Und wenn Du mit Deinem Smartphone an Dateien auf Deinem NAS ranwillst, 
das unter 192.168.178.234 zu erreichen ist, dann geht das auch, über die 
gleiche VPN-Verbindung.

Anders als die bislang besprochene Portweiterleitung ist das aber 
sicher, denn es ist erst nach erfolgreichem Aufbau der VPN-Verbindung 
nutzbar. Eine Portweiterleitung aber würde rund um die Uhr Hinz & Kunz 
und allen Skriptkiddies offenstehen, die darüber allen möglichen Mist an 
Deinen ESP senden könnten. Da hilft es auch nicht, daß der myfritz-Name 
kryptisch ist, oder daß die Portnummer ungewöhnlich ist; diese 
Personengruppe macht beständig Portscans, um offene Ports irgendwo zu 
finden und um dann zu sehen, "was geht".

Das dauert im Regelfall nur ein paar Minuten, dann kommt der erste 
vorbei.

Mit einem VPN bist Du davor geschützt.

Carsten-Peter C. schrieb:
> Ich habe
> für 0.20€/Monat eine Domain-Weiterleitung gemietet

Das ist eine Dyndns-Variante, der Threadstarter hat schon eine, nämlich 
myfritz. Das ist kostenlos, hat halt den Nachteil der kryptischen Namen.

von D. K. (dude_k)


Lesenswert?

Harald K. schrieb:
>
> Anders als die bislang besprochene Portweiterleitung ist das aber
> sicher, denn es ist erst nach erfolgreichem Aufbau der VPN-Verbindung
> nutzbar. Eine Portweiterleitung aber würde rund um die Uhr Hinz & Kunz
> und allen Skriptkiddies offenstehen, die darüber allen möglichen Mist an
> Deinen ESP senden könnten. Da hilft es auch nicht, daß der myfritz-Name
> kryptisch ist, oder daß die Portnummer ungewöhnlich ist; diese
> Personengruppe macht beständig Portscans, um offene Ports irgendwo zu
> finden und um dann zu sehen, "was geht".
Das machen nicht nur Personengruppen. Schwieriger ist heutzutage, dass 
es automatisiert passiert und Dienste wie Shodan quasi davon leben.

@Thorsten:
Ich würde keinesfalls den ESP direkt an das Internet hängen, wie von 
Harald und Co. bereits geschrieben wurde. Nimm ein VPN wie 
vorgeschlagen.

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

D. K. schrieb:
> Das machen nicht nur Personengruppen.

Der Begriff war offenbar nicht weit genug gefasst. Mit "Hinz & Kunz und 
allen Skriptkiddies" dachte ich auch Arschbots & Co. einzuschließen.

von D. K. (dude_k)


Lesenswert?

@Harald
Nichts für Ungut, sorry für den Klugsch***. :)

Thorsten M. schrieb:
> Ok...443 wegen SSL? SSL2 ist auf dem ESP32 möglich aber aufwendig
> und
> die Codegröße knallt durch die Decke. Die Fritzbox auf http umstellen
> wird wohl nicht gehen?

Nur als Hinweis: Moderne Browser unterstützen kein SSLv2 mehr, aus gutem 
Grund. Das Protokoll hat zahlreiche Schwachstellen. Selbst die 
Nachfolger SSLv3, TLSv1.0 und TLSv1.1 sind bereits veraltet. Lediglich 
TLSv1.2 und TLSv1.3 sollten noch verwendet werden.

: Bearbeitet durch User
von Carsten-Peter C. (carsten-p)


Lesenswert?

Harald K. schrieb:
> Carsten-Peter C. schrieb:
>> Ich habe
>> für 0.20€/Monat eine Domain-Weiterleitung gemietet
>
> Das ist eine Dyndns-Variante, der Threadstarter hat schon eine, nämlich
> myfritz. Das ist kostenlos, hat halt den Nachteil der kryptischen Namen.

Hallo, das ist für eine .de – Domain, die ich z.B. auf meine HP, die 
Fritzbox oder/und Postfach leiten kann.
Gruß
Carsten

von Harald K. (kirnbichler)


Lesenswert?

Carsten-Peter C. schrieb:
> Hallo, das ist für eine .de – Domain, die ich z.B. auf meine HP, die
> Fritzbox oder/und Postfach leiten kann.

Ja, Dyndns. Da mag noch ein Rattenschwanz mehr dran hängen, aber Deine 
Fritzbox muss dem Ding ja irgendwie seine IP-Adresse mitteilen. Und 
damit ist es dyndns, in Deinem Fall mit mehr Lametta dran.

Ich hab' was ähnliches, eine .de-Domain bei joker.com, die kostet mich 
irgendwas um 5€ im Jahr und bietet mir einen frei konfigurierbaren 
DNS-Server, mit einer besseren Handvoll dyna-Records (dyndns), mit denen 
ich einer Latte von Fritzboxen oder sonstwas eine ensprechende Umleitung 
verpassen kann.

Sowas ist gegenüber myfritz in erster Linie lesbarer (und bietet anders 
als myfritz auch einen MX-Record, den der eine oder andere Mail-Anbieter 
sogar akzeptiert, wenn man einen eigenen Mailserver selbst hosten will)

von Stored B. (Firma: drx) (umbrecht)


Lesenswert?

Harald K. schrieb:
> Mit einem VPN kannst Du eine durchs Internet getunnelte
> Netzwerkverbindung zwischen Deinem Smartphone (oder sonst einem Gerät)
> und Deiner Fritzbox aufbauen, und dann verhält sich Dein Smartphone so,
> als ob es zu Hause im WLAN eingebucht wäre.

scheinbar haben die wenigsten hier IPV6... Dann funktioniert das ganze 
nämlich nicht mehr ohne Umwege.

von Harald K. (kirnbichler)


Lesenswert?

Stored B. schrieb:
> scheinbar haben die wenigsten hier IPV6.

Der Reiz davon hat sich mir bislang nicht so recht erschließen wollen.

von Carsten-Peter C. (carsten-p)


Lesenswert?

Harald K. schrieb:
> Ja, Dyndns. Da mag noch ein Rattenschwanz mehr dran hängen, aber Deine
> Fritzbox muss dem Ding ja irgendwie seine IP-Adresse mitteilen. Und
> damit ist es dyndns, in Deinem Fall mit mehr Lametta dran.

Hallo Harald, nein kein Dyndns sondern eine Domain Umleitung. Ich rufe 
meine .de Domain auf und werde umgeleitet auf z.B. 
http://kryptischeszeug.myfritz.net . Dort ist meine derzeitige IP 
Gespeichert. Genauso gut kann ich meine Homepage Adresse eintragen. Dann 
wird eben auf die HP umgeleitet. Das wurde von der Telekom mal angeboten 
und nennt sich MyDomain. eMails lassen sich auch weiterleiten (z.B. 
Post@meinedomain.de zu meinem Postfach).
Gruß
Carsten

von Harald K. (kirnbichler)


Lesenswert?

Na gut. Kann man natürlich auch so machen.

von Stored B. (Firma: drx) (umbrecht)


Lesenswert?

Harald K. schrieb:
> Der Reiz davon hat sich mir bislang nicht so recht erschließen wollen

Es ist ein Zwang.
Des weiteren können reine IPv4 Geräte überhaupt nicht nach draußen 
geleitet werden. Bsp. ESP8266

von Thorsten M. (cortex_user)


Angehängte Dateien:

Lesenswert?

Sorry, wenn ich mich hier ausgeklinkt habe. Aber es funktioniert 
problemlos die Fb auf http umzustellen, das Häkchen setzen für den 
unbeschränkten Zugriff von außen (Vorsicht, keine Firewall!) und eine 
Weiterleitung für Port 80 durch zu reichen an den ESP32.

Der Aufruf von
http://kryptischeszeug.myfritz.net/zeigedaten

wird von meinem ESP32 brav mit

USolar = 45.V
ISolar = 16.8A
usw. usw

beantwortet. Ob man ESPAsyncWebServer verwendet für eine Callback 
Funktion oder das in den Loop packt mit WifiServer Abfragen ist wumpe. 
ESPAsyncWebServer ist etwas komplizierter, weil C++ Strukturen verwendet 
werden aber eleganter.
1
  #define PARAM_MESSAGE "zeigedaten"
2
3
    server.on("/get", HTTP_GET, [] (AsyncWebServerRequest *request) {
4
        String message;
5
        if (request->hasParam(PARAM_MESSAGE)) {
6
            message = request->getParam(PARAM_MESSAGE)->value();
7
        } else {
8
            message = "No message sent";
9
        }
10
        request->send(200, "text/plain", "GET: " + message);
11
    });


Dass jeder, der den "kryptischen Ausdruck" kennt Zugriff hat ist klar, 
auch wenn es nur auf den ESP32 ist über Port 80. Da sich dahinter aber 
kein Handler verbirgt ist das unkritisch.

PS: ChatGPT erzeugt den Code übrigens richtig und problemlos, Da reichen 
3 Sätze zu beschreiben was man will.

: Bearbeitet durch User
von D. K. (dude_k)


Lesenswert?

Thorsten M. schrieb:

> Dass jeder, der den "kryptischen Ausdruck" kennt Zugriff hat ist klar,
> auch wenn es nur auf den ESP32 ist über Port 80. Da sich dahinter aber
> kein Handler verbirgt ist das unkritisch.

Den "kryptischen Ausdruck" braucht dafür niemand. Angreifer scannen 
IP-Ranges, keine Hostnamen. Für den kompletten IPv4 Bereich des 
Internets braucht man mit Tools wie masscan nur wenig Zeit:
https://resources.infosecinstitute.com/topic/masscan-scan-internet-minutes/
Es ist nur eine Frage der Zeit, bis das jemand findet.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.