Via Internet ins Heimnetz

Crashkurs: Fernzugriff und Portfreigaben

14.01.2016 von David Wolski
Bestimmte Anfragen von außen durch die Firewall zu lassen, ist Voraussetzung für den Fernzugriff aus dem Internet. Wir zeigen, wie man diese "Portfreigaben" einrichten kann.

Das eigene Netzwerk und die dort befindlichen Teilnehmer sollen vor unerwünschten Anfragen aus dem Internet gut abgeschottet sein. Diese Aufgabe übernimmt im Heimnetzwerk der Router, der zu diesem Zweck einen Paketfilter bietet, um unerwünschten Netzwerkverkehr von draußen zu blockieren.

Mit NAT (Network Address Translation) sorgt der Router außerdem dafür, dass die Teilnehmer im lokalen Netz nicht direkt erreichbar sind, sondern gesammelt über die IP des Routers online gehen. Im Internet erscheint dank NAT als Absender aller Datenpakete aus dem lokalen Netzwerk immer die dem Router vom Provider zugewiesene IP-Adresse. Eine direkte Kommunikation vom Internet zu einem LAN-PC ist daher nicht möglich, und das ist aus Sicherheitsgründen auch gut so. Der Absender aus dem Internet weiß nicht einmal, dass die Datenpakete nicht vom Router selbst, sondern von einem dahinter befindlichen PC stammen. Und Datenpakete, die der Router keinem Client-Rechner im internen Netzwerk zuweisen kann, verwirft der eingebaute Paketfilter aus Sicherheitsgründen.

Portfreigaben: Durch die Firewall

Sobald Sie im eigenen Netzwerk einen Datenserver verwenden (PC oder NAS), der über das Internet erreichbar sein soll, dann ist die sichere, rigorose Abschottung mit Paketfilter und NAT kontraproduktiv, so etwa, wenn ein FTP-Server von außen Verbindungen annehmen muss oder ein Bittorrent-Client eingehende Verbindungen akzeptieren soll. Damit ein PC und der darauf laufende Server-Dienst im Netzwerk gezielt von außen erreichbar sind, müssen Sie von innen ein wohldefiniertes Loch durch die Firewall bohren. Dies gelingt mit einer Portfreigabe auf dem Router, der dann dafür sorgt, dass die Anfragen an den offenen Port auch intern an das richtige Gerät weitergeleitet werden. Das Ganze ist nicht wirklich kompliziert und kompromittiert auch nicht die Sicherheit Ihres Netzwerks, wenn Sie dabei systematisch vorgehen und keine riesigen Lücken in die Firewall reißen.

Vorbereitung: Den Server konfigurieren

Die Arbeit beginnt auf dem ausgewählten Gerät im eigenen Netzwerk, das den Server-Dienst für Zugriffe aus dem Internet anbieten soll. Wir gehen im Folgenden davon aus, dass es sich um einen Windows-PC handelt. Notieren Sie sich auch gleich die LAN-IP-Adresse des PCs, die Sie später benötigen. Diese finden Sie am schnellsten in der Eingabeaufforderung mit dem Kommando ipconfigheraus. Die Eingabeaufforderung starten Sie mit der Eingabe cmd.exeüber den Ausführen-Dialog, den die Windows-Taste und R auf den Bildschirm bringt. Ihr Server muss diese LAN-IP konstant beziehen, weil die Weiterleitung, wie die nächsten Punkte zeigen werden, an eine feste IP erfolgen müssen.

Darf das Programm seine Dienste anbieten? Ab Windows 7 meldet sich die Firewall von Windows automatisch, wenn eine Anwendung erstmals einen Port öffnen will. Wenn Sie zustimmen, merkt sich die Firewall die Erlaubnis dauerhaft.

Installieren Sie das Serverprogramm, und lassen Sie zu, dass dieses Programm seine Dienste auf dem genutzten Port durch die Windows-Firewall hindurch anbietet. Diese Erlaubnis müssen Sie manuell erteilen und bei Windows 7 auch selbst festlegen. Mit ihren Voreinstellungen erlaubt die Windows-Firewall nämlich bei auch den freizügigen Netzwerkprofilen „Heimnetzwerk“ und „Arbeitsplatznetzwerk“ nur wenige vordefinierte Ports für die Datei- und Druckerfreigabe. Um hier ganz gezielt mehr zu erlauben, gehen Sie in der Systemsteuerung auf „Windows-Firewall Ein Programm oder Feature durch die Windows-Firewall zulassen“. Dort angekommen können Sie über die Schaltfläche „Einstellungen ändern“ mit „Anderes Programm zulassen“ das Server-Programm auswählen, welches durch die Firewall Datenpakete empfangen darf.

Ab Windows 7 warnt Sie die Firewall übrigens auch selbständig, wenn ein gestartetes Programm durch den Paketfilter hindurch Verbindungen akzeptieren will. Sie können die Erlaubnis dann direkt im Meldungsfenster der Windows-Firewall erteilen, und ein Ausflug in die Systemsteuerung ist dann nur noch zur Kontrolle und Übersicht nötig.

Sonderfall Software-Firewall: Falls auf dem PC weitere Paketfilter installiert sind, etwa das Programm Fritz DSL Protect, Zone Alarm oder ähnliches, müssen Sie auch dort den Durchgang der Datenpakete erlauben. Da viele Software-Firewalls inkompatibel mit Programmen sind, die eine Server-Rolle einnehmen, hilft aber meist nur eine Deinstallation der Firewall. Dies ist kein großer Verlust, da die Programme bei aktivierter Windows-Firewall wenig zur Gesamtsicherheit beitragen.

Fritzbox: Eine Portfreigabe einrichten

Portfreigabe (Portweiterleitung) auf der Fritzbox definieren: Hier ist beispielsweise ein heimischer FT P-Server auf dem Port 21 und der internen LAN-IP 192.168.0.2 definiert.

Eine Portweiterleitung richten Sie in der Administrationsoberfläche des Routers ein. Kommt die weitverbreitete Fritzbox zum Einsatz, dann gehen Sie dafür auf der Administrationsoberfläche von http://fritz.box zunächst auf „Einstellungen System Ansicht“. Stellen Sie hier die „Expertenansicht“ ein. Dann können Sie über „Internet Portfreigabe „Neue Portfreigabe“ einen Port auf dem Router öffnen und zu einem Rechner im Netzwerk weiterleiten.

Dazu ein praktisches Beispiel: Steht im Netzwerk ein FTP-Server, der Verbindungen standardmäßig auf dem Port 21 entgegennimmt, dann wählen Sie im Konfigurationsdialog der Fritzbox unter „Portfreigabe aktiv für“ die Option „Andere Anwendungen“. Als „Bezeichnung“ geben Sie als Notiz einen Namen für diese Portfreigaben an, etwa „FTP-Server“, und wählen unter „Protokoll“ die Protokoll-Art aus. Ein FTP-Server nutzt das übliche TCP-Protokoll und nicht etwa UDP. Im Feld „von Port“ geben Sie den Port an, auf dem Anfragen aus dem Internet auf dem Router eingehen sollen, beispielsweise Port 21 für FTP. Die Angabe „bis Port“ ist optional und nur nötig, wenn Sie den ganzen Portbereich freigeben möchten. Ansonsten tragen Sie hier bei einem Einzelport nur nochmal die Portnummer 21 ein.

Alle eingerichteten Portweiterleitungen auf der Fritzbox im Überblick: Für den Zugriff auf diese Funktion muss unter „ System“ die „Expertenansicht“ aktiviert sein.

Nun teilen Sie der Fritzbox noch mit, wohin diese Internetanfragen zum Port 21 im lokalen Netz gehen sollen. Dazu geben Sie für „an IP-Adresse“ die lokale IP-Adresse des PCs ein, der den Server-Dienst zur Verfügung stellt. Abschließend geben Sie unter „an Port“ die Portnummer ein, auf welcher der Server- Dienst auf dem PC lauscht. Bei FTP ist das auch wieder der Port 21.

Andere Router: Ports weiterleiten

Bei Routern anderer Hersteller funktioniert die Portfreigabe ähnlich, aber die Namen der Menüpunkte unterscheiden sich erheblich. Die Konfiguration findet sich meist unter einem Menüpunkt namens „Portforwarding“„Portmapping“, „Forward“ „Custom Service“ oder auch „Virtual Server“. Die Detaileinstellungen für eine Portfreigabe folgen üblicherweise den folgenden Bezeichnungen:

Portfreigaben auf einem Billig-Router: Konfigurationsoberfläche und Menüpunkte unterscheiden sich zwar von der Fritzbox, das Einrichten von Protokolltyp, Port und interner IP ist aber überall ähnlich.

Public Port / External Port / Inbound Service: Damit legen Sie die Portnummer auf dem Router fest, die vom Internet aus erreichbar sein soll.

Private IP / Internal IP: Hier tragen Sie die lokale LAN-IP-Adresse des PCs im lokalen Netzwerk ein, an den die Datenpakete weitergeleitet werden.

Private Port / Internal Port: Hier geben Sie die Portnummer für den PC mit dem Server- Dienst im lokalen Netzwerk ein. Üblicherweise ist dies der gleiche Port, den Sie auch bei „Public Port“, „External Port“ oder „Inbound Service“ eintragen.

Type: Hier wählen Sie den Protokolltyp TCP oder UDP aus.

Als Alternative zu einzelnen Ports im Netzwerk können Sie in der Router-Konfiguration meist auch einen einzigen, komplett ungeschützten Host definieren, an den alle eingehenden Anfragen ungefiltert durchgereicht werden. Jeglicher Schutz durch die Router-Firewall entfällt dabei allerdings, und der PC muss gut gepflegt und präzise administriert sein, damit er nicht zur Gefahrenquelle im eigenen Netzwerk wird. In der Router-Administration nennt sich diese Einstellung meist „Exposed Host“ oder fälschlicherweise auch „DMZ“ (demilitarisierte Zone), wobei dahinter aber nicht wie bei einer echten DMZ ein isoliertes Netzwerksegment steht, sondern nur ein einzelner Host.

Host-Name: Den Router erreichbar machen

Dynamischer Host-Name: Viele Router unterstützen mehrere DNS-Anbieter, etwa den hier gewählten kostenlosen Dienst von www.noip.com. Das bekanntere Dyn DNS ist inzwischen für Neukunden nicht mehr kostenlos.

Wenn die Portweiterleitung steht und der Server-Dienst im eigenen Netzwerk läuft, ist das eigene Netzwerk bereits aus dem Internet erreichbar. Allerdings bleibt noch ein wesentliches Problem: Der DSL- oder Kabel-Provider vergibt bei jedem Verbindungsaufbau eine neue IP-Adresse, in der Regel mindestens alle 24 Stunden. Diese Adresse müssten Sie dann jedes Mal bekannt machen – und das ist zu umständlich.

Für Abhilfe sorgen DNS-Anbieter, die bei der Einwahl des Routers die externe Internet- IP-Adresse einem definierten Host-Namen zuordnen. In den letzten Jahren war dazu Dyn DNS ( www.dyndns.org) die erste Wahl. Mittlerweile akzeptiert dieser Service aber keine kostenlosen Neuanmeldungen mehr, sondern bietet nur noch kostenpflichtige Konten (ab 25 US-Dollar pro Jahr) sowie befristete Test-Accounts, für die Sie eine Kreditkartennummer angeben müssen. Wer einen Router von D-Link besitzt, erhält unter www.dlinkddns.com einen Gratis-Account für Dyn DNS. Im Prinzip kann sich hier jeder anmelden. Beachten Sie jedoch, dass der Anbieter den Zugang löscht, wenn Sie auf Nachfrage keine Geräte-Seriennummer für einen D-Link-Router präsentieren können. Eine Alternative, die weiterhin für alle kostenlos ist und von der Firmware vieler Router unterstützt wird, ist www.noip.com. Ob der Router dies unterstützt, überprüfen Sie in der Administrationsoberfläche. Die Fritzbox ist in jeden Fall mit dabei.

Nach der erforderlichen Registrierung auf www.noip.com per Mailadresse erhalten Sie die Zugangsdaten per Mail und können einen eigenen Host-Namen definieren. Die erhaltenen Kontodaten und den eingerichteten Host-Namen geben Sie dann in die dafür vorgesehenen Eingabefelder des Routers ein. Bei der Fritzbox finden Sie diese unter „Internet Freigabe Dynamic DNS“. Im Feld „Dynamic-DNS-Anbieter“ wählen Sie „No-IP.com“ aus und tragen dann darunter die Nutzerdaten ein.

Der Router wird ab sofort bei jeder Einwahl seine frisch erhaltene IP an den Dienst melden, und Sie erreichen Ihr Heimnetzwerk stets unter dem ausgewählten Hostnamen.

Die Portweiterleitung überprüfen

Ob alles wie gewünscht funktioniert, müssen Sie unbedingt von außen unter realen Bedingungen überprüfen – also von einem anderen PC aus, der über eine Internetverbindung verfügt und nicht im eigenen Netzwerk hängt. Eine weitere Option für den Praxistest ist ein Smartphone, an dem Sie das WLAN abschalten und sich über 3G verbinden. Einen theoretischen Test, ob der Router Verbindungen auf dem freigeschalteten Port akzeptiert, können Sie aber auch aus dem eigenen Netzwerk heraus ausführen: Der PCWELT Browsercheck auf http://browsercheck.pcwelt.de bietet dazu unten über den Menüpunkt „Firewall-Check“ einen Portscanner. Geben Sie dazu im Feld „Zusätzlichen Port überprüfen“ die Nummer des freigeschalteten Ports ein.
Geöffnete Ports zeigt der Check mit einem roten Warnsymbol an. Beachten Sie, dass viele Router Portscans dieser Art blockieren. Um einen hartnäckigen Scan auf den Host-Namen zu starten, ist deshalb der Service von http://port-scan.e-dns.org empfehlenswert. Den dynamischen Host-Namen des Routers müssen Sie hier aber manuell eingeben.

Vorsicht bei unverschlüsselten Zugangsdaten

Die Protokolle HTTP, FTP und Webdav haben ein Problem:Zugangsdaten für die Anmeldung an Servern werden unverschlüsselt übertragen. Unterwegs, beim Zugriff auf das heimische Netzwerk über öffentliche WLANs ist die Anmeldung über diese Protokolle tabu, denn es besteht ein erhöhtes Risiko, dass die Zugangsdaten in falsche Hände gelangen. Verwenden Sie deshalb immer verschlüsselnde Protokolle: HTTPS statt HTTP und SFTP oder FTPS statt unverschlüsseltem FTP.

Die wichtigsten Begriffe kurz erklärt

NAT: Die „Network Address Translation“ im Router sorgt dafür, dass ins Internet immer nur eine IP-Adresse gemeldet wird, unabhängig von der tatsächlichen IP-Adresse im eigenen Netzwerk. NAT übernimmt dabei die Verteilung der IP-Pakete von außen an die Empfänger im LAN, welche die Pakete angefordert haben. NAT schottet das Netzwerk zuverlässig vom Internet ab.

Portforwarding / Portweiterleitung: Ist diese aktiviert, so agiert der Router als Empfänger für den Netzwerkverkehr auf den definierten Port, leitet die Anfragen dann aber an die angegebene IP-Adresse im Netzwerk weiter.

DMZ: Diese Abkürzung steht für „Demilitarized Zone“ (entmilitarisierte Zone). Es handelt sich um ein Segment im Netzwerk (oder auch um einen einzelnen PC), das von der Firewall nicht geschützt wird, vom internen Netzwerk aber durch ein eigenes Subnetz getrennt ist.

Bastion Host / Exposed Host: An einen solchen Server im lokalen Netzwerk gibt der Router alle Anfragen auf sämtlichen Ports einfach ungefiltert weiter. Dies spart Administrationsaufwand, erfordert auf dem dafür abgestellten Rechner aber eine besonders sichere Konfiguration aller Dienste.

Port: Ports sind die Kommunikationskanäle für den Zugriff auf einen Rechner über das Netzwerk und über das TCP/IP-Protokoll. Pro Port kann ein Dienst (etwa SSH, FTP, HTTP) angeboten werden.

TCP: Diese Übertragungsmethode „Transmission Control Protocol“ aus der TCP/IP-Protokollfamilie bietet eine Fehlerkorrektur und ist das verbreitete Protokoll zur Datenübertragung in Netzwerken.

UDP: Das zustandslose Protokoll bietet keine Fehlerkorrektur und üblicherweise bei Multimedia-Streams zum Einsatz, wo sporadischer Paketverlust nicht weiter kritisch ist. Auch Bittorrent kann UDP nutzen.


(PC-Welt/ad)