1904327

Linux extern erreichen - dank Portfreigaben

21.08.2015 | 08:45 Uhr |

Ein dynamischer Host-Name und eine Portfreigabe machen den Linux-Rechner von außen erreichbar. Etwa um sicher über SSH und FTPS Daten zu übertragen oder die Shell zu nutzen.

Linux ist für die Rolle als Server prädestiniert – egal ob es sich dabei um ein System handelt, das speziell als Server abgestellt wird oder auch als Arbeitsrechner dient. Alle Distributionen bieten in ihrem Software-Fundus vielfältige Server-Dienste, um jeder Rolle gerecht zu werden. Oft genügt schon das verschlüsselte Protokoll SSH, um Linux als Gateway für den Zugriff von außen fit zu machen. SSH kann sogar über seine Tunnel-Möglichkeiten ein aufwendiges VPN ersetzen. Voraussetzung ist bei Heimnetzwerken, dass der Linux-Rechner über den Router über eine stets bekannte Adresse erreichbar ist und der Router den Netzwerkverkehr an die korrekte Adresse im lokalen Netzwerk weiterleitet.

Firewall: Ist das Linux-System, auf dem der Server-Dienst läuft, mit einem Paketfilter geschützt, muss der Zugriff erst noch erlaubt werden – hier mit dem Tool gufw unter Ubuntu.
Vergrößern Firewall: Ist das Linux-System, auf dem der Server-Dienst läuft, mit einem Paketfilter geschützt, muss der Zugriff erst noch erlaubt werden – hier mit dem Tool gufw unter Ubuntu.

Den Ziel-Server vorbereiten

Die Konfiguration beginnt auf jenem Linux-Rechner im eigenen Netzwerk, der den Server-Dienst für Zugriffe aus dem Internet beherbergen soll. Nachdem das Software-Paket unter der verwendeten Distribution installiert ist, das den Server-Dienst bereitstellt, gilt es, die eventuell vorhandene Paketfilter-Konfiguration zu prüfen. Der Linux-Kernel übernimmt optional Firewall-Aufgaben mit seinen Netfilter-Modulen, die vom Kommandozeilen-Werkzeug iptables gesteuert wird. Diese Paketfilter sind nicht bei allen Distributionen standardmäßig aktiviert. Ob Paketfilter-Regeln vorliegen, zeigt die Ausgabe dieses Befehls:

/sbin/iptables -vL

Das Kommando benötigt root-Rechte oder vorangestelltes sudo . Bleibt die Ausgabe leer, dann sind keine Regeln definiert und die Firewall ist nicht eingeschaltet, sondern lässt auf dem Linux-System jeden Verkehr durch. Sollte es Regeln geben, bedeutet dies, dass die Firewall auf dem Linux-System aktiv ist. Dann brauchen Sie Ausnahmeregeln, um Zugriffe auf den Server-Dienst zuzulassen. Distributionen für den Desktop bieten dafür meist unkomplizierte Front-End-Tools für die Firewall-Konfiguration an.

Ubuntu: Nach der Installation ist iptables nicht aktiv. Wer die Firewall einschalten will, kann dafür das grafische Tool gufw installieren.

Debian: Die Firewall ist nicht vorkonfiguriert. iptables müsste manuell per Script aktiviert werden.

Open Suse: Auch hier gibt es keine automatisch aktivierte Firewall-Funktion. Ein Front-End für iptables finden Sie im Konfigurations-Tool Yast.

Fedora: Die iptables sind hier restriktiv vorkonfiguriert. Das grafische Tool _rewall-config liefert eine Oberfläche zur Einstellung der Firewall.

Einen Port auf dem Router freigeben

Die Aufgabe, den eingehenden Verkehr von außen über das Internet auf dem richtigen Port an den Rechner in lokalen Netzwerk weiterzuleiten, erledigt der Router. Die Einstellungen nehmen Sie in dessen Administrationsoberfläche vor. Die verbreitete Fritzbox erreichen Sie im Browser mit der Adresse http://fritz.box. Gehen Sie zunächst auf „Einstellungen -> System -> Ansicht“, und aktivieren Sie die „Expertenansicht“. Dann können dann über „Internet -> Portfreigabe -> „Neue Portfreigabe“ einen Port auf dem Router öffnen und zum gewünschten Linux- Rechner weiterleiten.

Bei Routern anderer Hersteller findet sich die Portfreigabe unter „Portforwarding“, „Portmapping“, „Custom Service“ oder „Virtual Server“.

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

Host-Name: Den Router erreichbar machen

Wenn die Portweiterleitung steht und der Server-Dienst im eigenen Netzwerk läuft, ist das eigene Netzwerk aus dem Internet erreichbar. Dabei bleibt ein Problem: DSL- oder Kabel-Provider vergeben bei jedem Verbindungsaufbau eine neue IP-Adresse. Diese Adresse müssten Sie jedes Mal herausfinden (etwa über die Webseite http://ifconfig.me ) und neu im Router eintragen, und das wäre viel zu umständlich.

Für Abhilfe sorgt der Dienst von DNS-Anbietern, die bei der Einwahl des Routers die wechselnde Internet-IPAdresse einem bestimmten Host-Namen zuordnen. In den letzten Jahren war Dyn DNS dafür die erste Wahl. Mittlerweile akzeptiert Dyn DNS keine kostenlosen Neuanmeldungen mehr, sondern bietet nur noch befristete Test-Accounts und kostenpflichtige Konten ab 25 US-Dollar an (pro Jahr). Router von D-Link erhalten jedoch weiterhin einen Gratis-Account für Dyn DNS. Eine weitere kostenlose Alternative ist www.noip.com . Ob der Router diesen DNS-Dienst unterstützt, überprüfen Sie in der Router-Konfiguration. Die Fritzbox bietet den Dienst an.

Für Fritzboxen ab Firmware 5.20 gibt es von AVM selbst einen kostenlosen DNS-Dienst, bei dem der Router einen zufälligen Domain-Namen erhält. Die Registrierung für den Service findet sich auf www.myfritz.net .

Die Portweiterleitung überprüfen

Ob alles wie gewünscht funktioniert, müssen Sie von außen prüfen. Am besten geht das von einem entfernten PC, der nicht über das eigene Netzwerk mit dem Internet verbunden ist. Mit dem Port-Scanner nmap führen Sie im Terminal einen Scan auf den dynamischen Host-Namen mittels

nmap -PN [hostname]

aus. Parameter „-PN“ weist nmap an, keinen Ping vorauszuschicken und ist nützlich, wenn der Router ICMP-Echos (Pings) blockiert.

Einen Test, ob der Router Verbindungen auf dem freigeschalteten Port akzeptiert, können Sie aber auch aus dem eigenen Netzwerk heraus ausführen: Der PC-WELT Browsercheck offeriert dazu über den unteren Menüpunkt „Firewall-Check“ eine Port-Scanner-Funktion. 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 aber, dass einige Router Port-Scans dieser Art blockieren. Die gründlichere Methode ist deshalb der Einsatz von nmap .

Nicht zuletzt eignet sich auch ein Smartphone mit deaktiviertem WLAN und 3G-Verbindung, um den Zugang zum Server unabhängig vom eigenen LAN zu testen.

Tabu – Unverschlüsselte Zugangsdaten

Die für den Zugriff auf eigene Server eingesetzten Protokolle HTTP, FTP und Web DAV haben das gleiche Problem: Die Zugangsdateien für die Anmeldung an Servern werden unverschlüsselt übertragen. Unterwegs, beim Zugriff auf das heimische Netzwerk über öffentliche WLAN-Verbindungen, ist die Anmeldung über diese Protokolle deshalb tabu. Denn es besteht immer ein erhöhtes Risiko, dass die Zugangsdaten in falsche Hände gelangen. Auch stellt sich die Frage, ob Netzwerkverkehr ohne starke Verschlüsselung überhaupt noch zeitgemäß ist, da Nachrichtendienste mutmaßlich Internet-Traffic direkt an den Internet Exchange Points (IX) aufzeichnen. Wer einen eigenen Server betreibt, kann aber selbst entscheiden, welcher Traffic verschlüsselt sein soll. Im Idealfall ist das der gesamte Netzwerkverkehr. Verwenden Sie deshalb immer verschlüsselnde Protokolle: SSH, HTTPS statt HTTP (auch mit selbst signierten Zertifikaten) und SFTP oder FTPS statt einfachem FTP. Unter Linux ist dies kein Problem. Nutzen Sie die Möglichkeiten, auch wenn dies Server-seitig einen kleinen Mehraufwand bedeutet.

0 Kommentare zu diesem Artikel
1904327