Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv
 
Die Raspberry Pi wurde mittlerweile mehr als 500000 Mal verkauft und viele befinden sich zu Hause und werden für diverse Dinge eingesetzt. Verstärkt wollen die Käufer auch ihre kleine Pi aus dem Internet zugreifbar machen, da sich auf ihr hilfreiche Anwendungen befinden auf die man von überall über das Internet zugreifen möchte. Die vermehrt auftretenden Fragen in deutschen und englischen Raspberri Foren dazu bestätigen dass. 
Technisch ist das nicht schwer zu realisieren. Allerdings sollte jeder sich vorher genau überlegen was er freigeben will (Welche Anwendungen bzw welche Internetports) und wie er sie vor unberechtigtem Zugriff schützen will. Ansonsten kann es schnell passieren, dass sich unerwünschte Besucher aus dem Internet im heimischen lokalen Netz herumtreiben und dort ihr Unwesen treiben oder von dort ihr Unwesen auf anderen Rechnern im Internet treiben.
 
 
Update 7/2018 : Mittlerweile haben die Macher auf raspberry.org das Problem erkannt und Sicherundmassnahmen ergriffen, wie z.B. ist der ssh Server standardmößig nicht mehr gestartet, es wird beim Logon mit dem User pi darauf hingewiesen dass Passwort zu ändern u.a.m. Es gibt auch Hinweise was man machen soll um seine Raspberry zu sichern (siehe hier in Englisch).
 
Der folgende Artikel erklärt welche technischen Möglichkeiten der Internetfreigabe es gibt, welche Risiken damit jeweils verbunden sind und wie man sie minimieren bzw ganz vermeiden kann. Das Thema ist so umfassend, dass es natürlich nicht allumfassend erläutert werden kann. Ziel ist es ein Bewusstsein zu erzeugen, dass es mit Risiken verbunden ist eine Pi so einfach von zu Hause vom Internet aus zugreifbar zu machen. Die sicherste Lösung ist immer noch die Pi nur zu Hause im lokalen Netz zu benutzen.
 
 
 
Techniken
 
Einfache Portfreigabe
 
Die einfachste Möglichkeit ist die jeweiligen Ports der Anwendungen auf der Pi einfach auf dem heimischen Router freizugeben und an die Pi weiterzuleiten. Typische Anwendungen sind ein Webserver, Dateifreigaben, ftp Zugriff, telnet Zugriff, ssh Zugriff, mySQL Datenbank, eMailServer sowie OwnCloud, ein zentraler eigener Cloudspace zu Hause, der von überall zugreifbar ist. Damit kann jeder aus dem Internet auf die Pi zugreifen. Es ist also sehr wichtig, die Anwendung mit sicheren Kennwörtern zu sichern und richtig und sicher zu konfigurieren. Die Betonung liegt auf richtig, denn bei den Anwendungen gibt es immer eine Menge Einstellungsmöglichkeiten die nur in bestimmter Kombination eine sichere Anwendung gewährleistet. Ausserdem muss regelmäßig die installierte Software mit Sicherheitsupdates versorgt werden, denn auch die Software kann und wird Sicherheitslöcher aufweisen.
 
Die Pi hat also genau dieselben Probleme die jeder Rechner im Internet hat. Nicht umsonst betreiben grosse Firmen Stäbe von Angestellten um die Sicherheit ihrer Rechner zu gewährleisten. Und trotzdem kommt es immer wieder vor, dass Unberechtigte Zugriff auf Daten und interne Rechner erlangen.
 
Von den o.g. Anwendungen stellt der ssh Server, sofern sicher konfiguriert, das geringste Sicherheitsproblem dar. Er garantiert sicheren und verschlüsselten Zugriff auf die Pi aus dem Internet und kann auch genutzt werden um den Zugriff auf andere Anwendungen auf der Pi zu sichern. Die sicherste Methode ist die wenn ein Zugriff nur möglich ist, wenn eine Schlüsseldatei vorliegt. Man kann auch den Zugriff mit Kennwort einrichten. Das hat aber den Nachteil dass so ein Kennwort unsicher sein kann bzw durch viele Versuche irgendwann erraten werden kann. Der Fachbegriff dazu ist tunneln und wird im nächsten Absatz näher erläutert. Unsichere Anwendungen sind Dateifreigaben, ftp und telnet Zugriff und sollten nie über diese Methode freigegeben werden.
 
ssh Tunnel
 
ssh ist ein sicheres Zugriffsprotokoll und kann auch benutzt werden, um andere Anwendungen sicher zugreifbar zu machen. Eine jede Anwendung hat ein oder mehrere sog. Ports, die sie benutzen. Beispiele sind Port 80 für Webserver, Port 8080 für Proxies, Port 3128 für Socks usw. Man kann sämtliche Ports über den Port 22, der von ssh benutzt wird, tunneln. Dadurch ist der Zugriff auf die Anwendungen sicher, denn ein jeder muss erst einen sicheren Zugriff per ssh auf die Pi erhalten haben (per Schlüssel oder sicherem Kennwort) um danach dann z.B. den Port 80 darüber zu tunneln. Der Nachteil davon ist, dass jedes Gerät, mit dem man auf einen getunnelten Port zugreifen will, einen ssh Clienten haben muss was nicht immer gegeben ist. Auch muss man für jeden Port, den man benutzen will immer einen neuen Tunnel aufbauen. 
 
Informationen wie ein ssh Server sicher zu konfigurieren ist hier beschrieben.. Weitere Informationen zu sind auch hier zu finden. Die Konfiguration eines ssh Tunnels mit Puttyunter Windows ist hier beschrieben. Des weiteren findet man weitere Seiten zu ssh und tunnel  wenn man oben rechts die Suchfunktion auf dieser Seite benutzt.

 

VPN (Virtuelles privates Netzwerk)
 
Ein VPN ist im gewissen Sinne die Erweiterung des ssh Tunnels, denn dabei baut man eine Subnetzverbindung in einer bestehenden sicheren Netzwerkverbindung auf. Zum Aufbau des privaten sicheren Netzes muss man Dateien (sog. Schlüssel) haben, die speziell für jeden Benutzer erstellt wurden und ohne die man sich nicht im VPN anmelden kann. Damit ist gewährleistet, dass wirklich nur Personen, die so einen VPN Schlüssel haben, in das Netz reinkommen. Der Unterschied zum ssh tunnel ist der, dass damit alle Ports sicher sind, denn auf keine Anwendung kann ohne VPN zugegriffen werden. Allerdings ist auch hier wie bei dem ssh tunnel erforderlich, dass ein VPN Client auf dem zugreifenden Gerät verfügbar ist.
 
Eine Anleitung wie man einen einfachen OpenVPN Server auf der Pi konfiguriert und wie man einen OpenVPN Client unter Linux und Windows einrichtet ist hier hier beschrieben. Des weiteren findet man weitere Seiten zu VPN wenn man oben rechts die Suchfunktion auf dieser Seite benutzt.
 
Firewall
 
Zur Absicherung gegen unberechtigte Zugriffe aus dem Internet wird standardmässig eine Firewall eingesetzt. Profis setzen dazu eine sogenannte demilitarisierte Zone ein, die sicherstellt, dass jemand, sofern er in diese Zone eindringen konnte, nicht in die interne Zone, wo alle Rechner ohne Internetzugriff stehen, reinkommen kann. Das ist natürlich auch für eine Pi zu Hause der richtige Weg. Es gibt auch mittlerweile Router, die die Einrichtung einer solchen Zone ermöglichen. Allerdings erfordert das Fachwissen und weitere Geräte und ist im Normalfall zu aufwändig. Deshalb bleibt nur der Weg eine Firewall auf der Pi einzurichten. Aber auch dieses erfordert Fachwissen. D.h. im Normalfall sichert die lokale Router Firewall alle lokalen Rechner. Die Pi mit ihren freigegebenen Ports ist aber nicht mehr über die Firewall gesichert und jeder Angreifer, der es schafft, Zugriff auf die Pi zu bekommen, kann sich dann auch im lokalen Netzwerk bewegen und sehr unschöne Dinge machen. Das ist besonders fatal, da i.d.R. im lokelen Netzwerk keinerlei Sicherungsmassnahmen existieren - warum auch - man ist ja im lokalen Netz, welches über einern Router mit dessen Firewall geschützt wird. ... Nur leider ist die Pi ein trojanisches Pferd ...
  
Risiken
 
Ein jeder Rechner der aus dem Internet erreichbar ist - und dazu gehört auch eine kleine Pi - kann je nach Anwendung und Konfiguration - zu verschiedenen Dingen missbraucht werden. Generell kann jede Anwendung  (Webserver, OwnCloud, ...) wenn sie einen Sicherheitsfehler hat (z.B. Sicherheitsfehler im benutzten Code wie php oder Apache) oder falsch konfiguriert wurde, den direkten Zugriff auf die Pi ermöglichen. Dazu gehört der Zugriff auf die Pi und sein Dateisystem. Weiterhin kann die Pi als Brückenkopf dienen um auf weitere Rechner im lokalen Netz zuzugreifen. Die Pi kann auch dazu benutzt werden um von ihr andere Rechner im Internet anzugreifen (Denial of service Angriff ) oder kann in ein Botnetz eingebunden werden.  Wenn ein eMailserver betrieben wird kann der je nach Konfiguration als eMail Spamschleuder missbraucht werden.  Benutzt man Telnet oder ftp wird das Kennwort im Klartext übertragen und ermöglicht es sich unbefugt anzumelden.
 
Im Gegensatz zu  Servern, die im Internet stehen und immer dieselbe IP Adresse haben hat ein Angreifer auf die Pi, die alle 24 Stunden durch die Zwangstrennung eine neue IP Adresse bekommt, nur maximal 24 Stunden Zeit in sie einzudringen. Das reduziert die Wahrscheinlichkeit, dass jemand Erfolg hat. Wenn es allerdings ein bekanntes Konfigurations- oder Softwaresicherheitsproblem ist nützt das nicht viel, denn dann reichen ein paar Minuten um die Pi zu kapern. 
 
 
Sicherungsstrategien
 
Die sicherste Zugriffsstrategie ist VPN. Sie ist relativ einfach zu konfigurieren. Der ssh tunnel ist ebenso sicher sofern der ssh Zugriff sicher eingerichtet wurde. Allerdings ist das Tunneln nicht so ganz einfach. Die unsicherste Methode ist die einfache Portfreigabe. Ein VPN zu konfigurieren erfordert etwas Geduld und auch bei dem zugreifenden System eine Konfiguration. Der Zugriff ohne VPN ist sehr viel einfacher zu konfigurieren. Der Aufwand das zu tun lohnt sich aber, denn dann sind alle Zugriffe auf die Pi sicher.
 
In jedem falle muss das root Kennwort der Pi geändert werden. Ausserdem sollte der Benutzer pi durch einen anderen Benutzer zu ersetzt werden. Es sollten beide Benutzer ein sicheres Kennwort benutzen. Bei ssh Tunnel sollte möglichst mit Schlüsseln gearbeitet werden und kein reiner Kennwortzugang möglich sein. Regelmäßige Software Updates sind ein Muss um existierende Softwarefehler zu beheben. Sinnvoll ist es auch eine Firewall auf der Pi zu konfigurieren, die die Anzahl der Zugriffe pro Zeiteinheit limitiert um Brute Force Angriffe zu begrenzen. Ein sehr mächtiges Tool um Leute, die versuchen in einen Server einzudringen, ist fail2ban. Wer einen Webserver betreibt und den nicht nur selbst nutzt sondern ihn im Internet verlinked hat sollte regelmäßig die Webserverlogdateien begutachten.
 
Weiterhin ist es sehr sinnvoll einen Bekannten oder Freund, der sich mit Linux und den jeweiligen Anwendungen auskennt, zu bitten, die jeweilige Konfiguration zu überprüfen.Auch gibt es LUGs (Linux User Groups) in allen Regionen die man auch zwecks Hilfe kontaktieren kann. Linux Foren sind eine weitere mögliche Anlaufstelle wie z.B. auch das deutschsprachige Raspberry Forum oder auch dieses englischsprachige Forum.
 
Letztendlich ist der sicherste Schutz die Pi nicht freizugeben oder wenn es wirklich sein muss sie nur über VPN zugreifbar zu machen.
 
Wer gerne bastelt oder einfach mal einen Mailserver oder Webserver unter Linux konfigurieren will sollte die Pi nicht freigeben, denn bei Bastel-, Übungs- und Versuchsarbeiten kommt immer ein unsicheres System raus.
 
Die c't bietet einen Sicherheitscheck an mit dem man Prüfen kann welche Ports aus dem Internet offen sind und mögliche Sicherheitslücken darstellen können.
 

 

Kommentar schreiben

*** Hinweis ***

Kommentare sind erwünscht. Aber um lästige Spamposts abweisen zu können gibt es ein paar Dinge die zu beachten sind:
  1. Kommentare mit dem Text http werden sofort zurückgewiesen mit der Meldung Sie sind nicht berechtigt den Tag zu verwenden. zz
  2. Kommentare werden manuell überprüft und es dauert deshalb in der Regel einen Tag bis sie veröffentlicht werden.

    Kommentare   
    #8 framp 2020-10-19 18:02
    zitiere Tobi_Raspi4:
    Wenn das noch überhaupt irgend einer liest:

    Wer hier auf der Seite schreibt wird nicht ueberlesen von mir ;-)

    Zu Deiner Frage: Ich wuerde die Frage im deutschen Raspberry Forum HTTPS://forum-raspberrypi.de/forum/ stellen. Da wird Dir sicherlich geholfen werden.

    Cu framp
    Zitieren
    #7 Tobi_Raspi4 2020-10-19 15:51
    Wenn das noch überhaupt irgend einer liest:
    Ich möchte meinen Raspberry Pi 4, den ich als kleines NAS System konfiguriert habe mit meinem Root-Server (Netcup) verbinden. Also mein NAS aus dem Internet zugänglich machen, dass auch jemand anders Daten hin und her verschieben kann. Z.B. jemand, der in nem anderen Bundesland lebt.
    Ich weiss allerdings schon wegen Sicherheitsrisiken usw bescheid. Kann eigene Firewalls bauen und Verschlüsselungen bauen. Also Sicherheit ist hier NICHT das Probelm. Nur der Verbindungsaufbau und das Weiterleiten. Kann mir da jemand helfen?
    Zitieren
    #6 framp 2018-07-26 17:49
    Moin Jürgen,

    Dann solltest du aber wenn möglich die raspberry in eine DMZ stellen, damit sie von deinem lokalen netz isoliert ist.

    Cu framp
    Zitieren
    #5 Juergen 2018-07-26 13:14
    Hallo,

    nein, VPN Zugriff nur für einen Personenkreis wolte ich nicht. Damit ist meine Anfrage erledigt.

    Danke Dir!
    Gruß Jürgen
    Zitieren
    #4 framp 2018-07-23 20:42
    Moin Juergen,

    bist Du sicher dass Deine Webseiten nur von bestimmten Personen, die einen VPN Key bekommen, benutzt werden sollen? Mit VPN hast Du einen eingeschraenkten Benutzerkreis.

    Dann ist die naechste Frage was fuer Clients Du hast? Smartphone ? Labtop?

    Cu framp
    Zitieren
    #3 Juergen 2018-07-23 17:09
    Tolle Seite!

    Du schreibst:"Letztendlich ist der sicherste Schutz die Pi nicht freizugeben oder wenn es wirklich sein muss sie nur über VPN zugreifbar zu machen."

    Hast Du dafür eine Anleitung. Ich möchte mehrere Webseiten auf meinen Raspberry hosten, habe Apache und No-IP schon eingerichtet und weiß so recht nicht weiter...
    Zitieren
    #2 framp 2016-06-16 19:59
    Moin Ikem,

    das weiss ich leider nicht. Ich habe kein ds-lite Anschluss.

    Aber ich kann mich erinnern im http://www.forum-raspberrypi.de verschiedene Postings gesehen zu haben wo Leute genau das Problem hatten und sie Antworten bekommen haben. Geh da einfach mal hin und suche nach ds-lite.

    Cu framp
    Zitieren
    #1 Ikem 2016-06-16 15:49
    Ich bin bei Kabel Deutschland, und habe nur IPv4 über DS-Lite. Somit funktionieren keine Port-Freigaben. Wie komme ich vom Internet auf meinen Raspberry Pi zuhause? Ziel ist auf dem Raspberry Pi meine eigene Homepage zu hosten.
    Zitieren