Portforwarding erst nach Passwort aktiv

Bennyaa

Lieutenant
Registriert
März 2007
Beiträge
848
Hallo,
ich habe eine Heimautomatisierung, welche ich auch von extern übe eine DynDNS und einen speziellen Port anspreche.
Hier würde ich gerne folgendes realisieren:
Mit Zugriff auf die DynDNS eine passwortabfrage starten und wenn diese ok ist, dann den Port zur heimautomatisierung im Speedport freigeben und bspw. Nach 5 min wieder schließen.
Geht so was?
 
Die Portfreigabe hat ja erst mal nichts mit dnydns o.ä. zu tun, sondern mit deinem Router. Und mit nem Wald-und-Wiesen-Router wird man sowas wahrscheinlich auch nicht so einfach hinbekommen.
Ausßerdem greifst du ja nicht auf dyndns zu, sondern das ist ja nur ein DNS-Eintrag, der auf deine IP-Adresse verweist.
 
Nein.

Wie wäre es, wenn du dich statt so einer Wunschlösung mit VPN in dein Heimnetz beschäftigst? Aber ob das die Speedport können, keine Ahnung.
 
Der Speedport kann sowas nicht, das erfordert richtige Firewall-Appliances.
Sinnvoller wäre es ein VPN ins Heimnetz aufzubauen und darüber zuzugreifen und nicht irgendwelche Ports ins WWW freizugeben.
 
Bennyaa schrieb:
Mit Zugriff auf die DynDNS eine passwortabfrage starten und wenn diese ok ist, dann den Port zur heimautomatisierung im Speedport freigeben und bspw. Nach 5 min wieder schließen.
Wäre theoretisch möglich. Du bräuchtest dazu einen Server (zu dem eine Portweiterlungung eingerichtet sein muss) der entweder direkt in deinem Netzwerk ist oder per VPN mit deinem Speedport kommunizieren kann. Wenn du darauf zugreifst kommt eine Passwortabfrage und wenn die bestanden wird richtet ein Script die Portweiterleitung beim Speedport ein. Nach einer voreingestellten Zeit löscht ein Script die Portweiterleitung wieder.
 
Wenn der Dienst ein Webserver ist: Authentifizierung über ein Reverse-Proxy (z.B. nginx). Der kann sich dann auch um die Zertifikate (letsencrypt) kümmern. Zur Sicherheit kannst du auch noch Fail2Ban einrichte.
VPN mit entsprechender Authentifizierung wäre die andere Lösung.
Port "öffnen/schließen" bringt nicht wirklich was, weil einer muss ja immer offen sein, um die Anfrage entgegen zu nehmen, dann kann der auch direkt auf den (entsprechend abgesicherten) Dienst zeigen.

Um welches Produkt geht es denn? Ggf. gibt ja schon fertige Lösungen für dein Heimautomatisierungssystem.
 
eigs schrieb:
Wäre theoretisch möglich. Du bräuchtest dazu einen Server (zu dem eine Portweiterlungung eingerichtet sein muss) der entweder direkt in deinem Netzwerk ist oder per VPN mit deinem Speedport kommunizieren kann. Wenn du darauf zugreifst kommt eine Passwortabfrage und wenn die bestanden wird richtet ein Script die Portweiterleitung beim Speedport ein. Nach einer voreingestellten Zeit löscht ein Script die Portweiterleitung wieder.
Genau das suche ich. Nur wie mache ich das mit dem Skript?
Ergänzung ()

Nilson schrieb:
Wenn der Dienst ein Webserver ist: Authentifizierung über ein Reverse-Proxy (z.B. nginx). Der kann sich dann auch um die Zertifikate (letsencrypt) kümmern. Zur Sicherheit kannst du auch noch Fail2Ban einrichte.
VPN mit entsprechender Authentifizierung wäre die andere Lösung.
Port "öffnen/schließen" bringt nicht wirklich was, weil einer muss ja immer offen sein, um die Anfrage entgegen zu nehmen, dann kann der auch direkt auf den (entsprechend abgesicherten) Dienst zeigen.

Um welches Produkt geht es denn? Ggf. gibt ja schon fertige Lösungen für dein Heimautomatisierungssystem.
Habe mehrere Systeme auf einem Server laufen.
Nginx läuft auch, aber bekomme dort auch irgendwie keine Weiterleitung hin, die bspw. Dann über DynDNS.de/Anwendung1 einen entsprechenden Port öffnet.
Klappt irgendwie einfach nicht.
Sagt dann immer not found.
 
Hm.. Wenn man vor eine Portweiterleitung ein Passwort setzen will, deutet das darauf hin, dass der Dienst dahinter nicht adäquat gesichert ist oder man sich zumindest Sorgen darüber macht, dass dem so ist. In dem Fall würde ich aber keine Krücke bauen, sondern schlicht und ergreifend den Port im Router zu machen (=keine Portweiterleitung) und stattdessen via VPN ins Heimnetzwerk einwählen. Über die sichere VPN-Verbindung kann man im Heimnetzwerk alle Dienste nutzen, auch solche, die zu unsicher sind, um sie offen ins Internet zu stellen.
Wenn der Router keine VPN-Funktion bietet, kann man sich zB einen Raspberry PI mit pivpn ins Netzwerk stellen und dann NUR für die VPN-Verbindung im Router Ports weiterleiten.
 
  • Gefällt mir
Reaktionen: eigs und Nilson
Bennyaa schrieb:
Nginx läuft auch, aber bekomme dort auch irgendwie keine Weiterleitung hin, die bspw. Dann über DynDNS.de/Anwendung1 einen entsprechenden Port öffnet.
Nginx öffnet auch keine Ports. Die Ports müssen an Ngnix weitergeleitet werden, Ngnix übernimmt die Autentifizierung und leitet danach die Anfragen an deinen Dienst im Netzwerk weiter.
 
eigs schrieb:
Nginx öffnet auch keine Ports. Die Ports müssen an Ngnix weitergeleitet werden, Ngnix übernimmt die Autentifizierung und leitet danach die Anfragen an deinen Dienst im Netzwerk weiter.
Ich dachte ich kann nginx den Port 80 frei geben und dann über eine Location bspw. /App1 an die erste Anwendung mit Port XY weiter leiten und mit Location /App2 an Applikation 2 mit Port AB weiter leiten.

das hat bei mir auch soweit funktioniert, allerdings nur mit einer Location und nicht mit mehreren.
Zusätzlich kann ich von innen nicht auf meine externe DynDNS zugreifen.

das wäre auch wünschenswert, denn ich habe einen Webserver am laufen, welcher eine Webseite darstellt, welche ein iFrame beinhaltet. Dieses kann ich natürlich nicht auf die lokale Adresse verlinken, da es ja dann von außen nicht funktionieren würde.
 
Um von "innen" auf eine DDNS-Domain zuzugreifen, die auf die öffentliche IP des Anschlusses zeigt, muss der Router NAT-Loopback bzw. Hairpin-NAT unterstützen und es auch aktiviert haben. Damit dreht der Router den Traffic effektiv im WAN-Port um 180° um und schickt ihn wieder in den WAN-Port rein, durch die komplette NAT-Pipeline inkl. Portweiterleitung.
 
Eine weitere Variante wäre die Ports durch SSH zu tunneln.
Du bräuchtest dazu jedoch einen aus dem Internet erreichbaren SSH Host.
Bei mir war das früher mein IPCop Router.

Erst nach SSH Auth wird der entsprechende Port durch den SSH Tunnel verfügbar gemacht.
Dies ist z.B. dann praktisch, wenn man auf dem Remotedevice keinen VPN Client installieren kann oder will.
Beispiel:
Code:
start putty.exe Bennyaa.dyndns.org -ssh -l username -L 443:192.168.0.1:8443 -L 3381:192.168.0.105:3389 -L 3380:192.168.0.83:3389 -P 8022

Was das macht:
Verbindet dich per SSH mit Bennyaa.dyndns.org über Port 8022
Nach Passworteingabe passend zu "username" gehts weiter:
Es verbindet Port 443 des Routers mit dem lokalen Port 443 deines Remotedevice
Es verbindet Port 3389 (RDP) von PC-A mit dem lokalen Port 3381 deines Remotedevice
Es verbindet Port 3389 (RDP) von PC-B mit dem lokalen Port 3380 deines Remotedevice

localhost:3380 vebindet dich dann per RDP auf PC-B zuhause

Ich hab hier einfach mein altes SSH Script kopiert. Deins wird natürlich andere Ports und IPs haben.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Raijin
Zurück
Oben