Eine interessante Idee hatte marthom im Merlin-Forum: Dort wurde mal kurzerhand bei 10 angemeldeten Usern getestet, wie viele ihr Webinterface nicht gegen fremden Zugriff über das Internet geschützt haben. Bei vier Usern war der Zugriff auf das Webinterface problemlos möglich, indem lediglich deren IP in den Browser getippt wurde. Doch das ist hochgradig fahrlässig.
Den Zugriff auf die Dreambox von Außen ungeschützt zu lassen, ist fatal: Angreifer bekommen so direkten Zugriff auf die Dreambox — auf alle Timer, Filme und was noch so auf der Dreambox oder den an den Receiver angeschlossenen Festplatten liegt. Bei ungünstig gelegten Netzwerk-Mounts reißt man möglicherweise noch ein großes Sicherheitsleck in das eigene Netzwerk. Dabei kann man sich mit relativ einfachen Mitteln gegen fremden Zugriff schützen.
Standardmäßig ist für den Zugriff auf die Dreambox via Webinterface oder Telnet kein Passwort eingetragen. Richtet man nun eine Portweiterleitung der Ports für das Webinterface (80) oder sogar für Telnet (23) auf die Dreambox ein, hat jeder ungehinderten Zugriff auf die Dreambox, vorausgesetzt die IP ist bekannt. Dann bekommt ein potenzieller Angreifer das gesamte Webinterface zusehen mit all den bekannten Funktionen. Noch viel schlimmer wäre die Weiterleitung von Telnet. Man würde dann einen administrativen Zugriff auf die Dreambox und das dahinter hängende Netzwerk bekommen.
Einfacher Passwortschutz
Um sich dagegen zu schützen, gibt es mehrere Möglichkeiten. Zunächst sollte auf jeden Fall ein Passwort vergeben werden. Dazu muss man sich nur via Telnet auf der Dreambox einloggen und mit dem Befehl „passwd“ vergeben (der Befehl muss lediglich eingegeben und mit Enter bestätigt werden, die Dreambox fragt dann direkt nach einem neuen Passwort). Alternativ gibt es hierfür das PlugIn „PasswortChanger“, welches über die Softwareverwaltung runtergeladen und installiert werden kann.
Hat man nun ein Passwort vergeben, muss im Webinterface nur noch die Authentifizierung aktiviert werden. Dazu geht man über die GUI der Dreambox auf Erweiterungen > Webinterface und setzt bei „HTTP/HTTPS Authentifizierung“ einen Haken. Jetzt ist zumindest ein Zugriff von Jedermann auf das Webinterface nicht mehr so ohne weiteres möglich.
Wie bei jedem Passwortschutz sollte man auch hier darauf achten, ein sicheres Passwort zu vergeben. Denn der Schutz ist nur so gut, wie das Passwort. Empfehlenswert sind hier Kombinationen aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen. Wie sicher das gewählte Passwort ist, kann mit Hilfe des Password Meter geprüft werden.
SSH- und VPN-Tunnel
Die optimale Lösung ist ein Passwortschutz aber nicht. Wirklich sicher wird das erst, wenn man ein SSH- oder VPN-Tunnel einrichtet. Für die Einrichtung eines SSH-Tunnels gibt es ein schönes Tutorial im Gemini-Wiki: SSH-Tunnel zum Webinterface erstellen.
Es gibt sogar die Möglichkeit, ein Tunnel ohne Passwort einzurichten, sondern nur Zertifikate zur Authentifizierung zu benutzen. Wie das funktioniert, ist in einem Tutorial von johnbock und auf milosoftware.com beschrieben.
Wer bereits openVPN benutzt, für den wäre möglicherweise die Einrichtung eines openVPN-Servers auf der Dreambox eine gute Alterntive. Das ist allerdings unter Umständen nicht ganz so trivial wie die Einrichtung der SSH-Tunnelung. Aber es ist auch eine schicke Variante, vor allem wenn man bereits auf seinen Rechnern openVPN-Clients installiert hat. Wie die Einrichtung funktioniert, hat mfgeg in einem Tutorial beschrieben.
Ob mit Passwort, VPN oder Zertifikat — alle drei Varianten sind sehr sicher und deutlich sicherer als die reine Passwortauthentifizierung ohne Tunnelung.
Eine ausführliche Anleitung zur SSH-Verbindung gibt es von Shaderman im Merlin-Forum.
Niemals nur eine Port-Weiterleitung ohne zusätzliche Sicherheitsmaßnahmen einrichten!
Um es nochmal klar auszudrücken: Eine Portweiterleitung auf die Dreambox einzurichten, ohne diese zumindest durch ein Passwort zu schützen, ist sehr fahrlässig. Auch einen anderen Port (statt 80) zu benutzen bringt nicht wirklich mehr Sicherheit, denn das offene Loch in das heimische Netzwerk bleibt, denn potenzielle Angreifer suchen gezielt nach offenen Ports und benutzen dafür Portscanner, welche Port für Port absuchen und prüfen, ob dieser offen ist.
Wer nicht viel Zeit investieren möchte, sollte zumindest ein Passwortschutz einrichten. Wirklich sicher ist man aber nur mit SSH- und VPN-Tunneln. Zumindest das Einrichten von einem SSH-Tunnel ist nicht so kompliziert, wie es klingen mag, bietet aber die größte Sicherheit.
Ich hab in den Settings den https-Port des WebIFs auf einen nicht-gebräuchlichen Wert (irgendwas über 50000) gesetzt, diesen am Router geforwarded und zusätzlich ein Passwort vergeben.
Fühle mich ziemlich sicher damit und brauche kein VPN.
Denke, du kannst dich auch sicher fühlen, aber ssh- oder VPN-Tunnel sind wohl noch ein tick sicherer. Mehr geht immer 😉
Die meisten Router können übrigens auch selber den externen Port ändern. Also z.B. Port 12345 auf Port 80 intern weiterleiten. Dafür muss man nichtmal an der Box etwas ändern. Hat den Vorteil, dass im LAN alles mit den gewohnten Ports funktioniert.
na wer so dämlich ist und mit absicht portweiterleitungen am router zur box einrichtet und nichtmal ein pw auf der box vergibt, der gehört eh bestraft 🙂
Sorry für die dumme Fragen!
Diese 10 User hatten also eine Portweiterleitung im Router gemacht und haben dann mittels dyndns auf die DB zugegriffen?
Wenn man aber keine Portweiterleitung gemacht hat, dann kommt von außen auch nicht auf das Webinterface der DB, richtig?
Und mit einem iPhone und einer Fritzbox könnte ich dann einen VPN-Tunnel installieren und ebenfalls mit dyndns auf die DB zugreifen. Da brauche ich keine Portweiterleitung und man ist auf der sicheren Seite?
Danke für die Hilfe.
Richtig, diese User haben eine Portweiterleitung direkt auf das Webinterface gemacht — ohne Portweiterleitung brauchst du dir natürlich keine Gedanken zu machen, dann kommt man nicht auf das Webinterface.
Sobald du von außen, also über das Internet, auf die Dreambox zugreifen möchtest, musst du eine Portweiterleitung einrichten — auch mit dem SSH- oder VPN-Tunnel. Der Unterschied besteht nur darin, dass die Portweiterleitung dann nicht auf den Port des Webinterface (Port 80) läuft, sondern auf den entsprechenden Port des VPN- oder SSH-Servers (bei SSH ist das in der Regel Port 22). Das ist dann aber keine Sicherheitslücke, da man sich über diesen Port authentifizieren muss, während bei einer direkten Weiterleitung auf den Port des Webinterface (falls eingerichtet) nur die simple Passwortabfrage erscheint. Ohne Authentifizierung bekommt man keinen Zugriff und SSH oder openVPN sind schon sehr sicher gegen Angriffe, deutlich sicherer als jeder Passwortschutz.
Ich hoffe, ich konnte das einigermaßen verständlich erklären 🙂
PS: Es gibt keine dummen Fragen, schon gar nicht bei so einem sicherheitsrelevanten Thema wie diesem! Lieber zwei mal nachfragen als gar nicht 😉
Danke für die Antwort!
Ich habe gestern nacht noch fleißig Recherche gemacht, weil ich die Möglichkeit von unterwegs zb. Timer zu setzen schon interessant fand. Nur wollte ich auch die Sicherheit nicht außer Acht gelassen. Und hab es sogar geschafft.
Ich greife jetzt via VPN-Channel mit meiner Fritz!Box und meinem iPhone 4 (und der App dreaMote) recht sicher auf meine Dreambox zu. Die Konfiguration war recht einfach.
Finde diese Seite hier sehr informativ (im iHAD-Forum ist man als Anfänger zu Beginn ein wenig verloren…) und für einen DB-Neuling sehr hilfreich. Macht weiter so.
Freut mich, dass es geklappt hat und es dir hier gefällt 😉
Es gibt jetzt auch eine ausführliche Anleitung von Shaderman:
http://dreambox-tools.info/thread.php?threadid=3436