TEILEN

Im Gegensatz zu einem klassischen Linux auf einem Computer, installiert man den Raspberry Pi immer über eine Image-Datei. Dadurch ergibt sich eine Sicherheitslücke: Jedes Image ist identisch, daher lautet der im System angelegte User immer „pi“ mit dem Passwort „raspberry“. Dieses lässt sich über das Kommando passwd schnell ändern, doch viele RasPi-User machen davon keinen Gebrauch. Betreibt man den Raspberry Pi in einem öffentlich zugänglichen Netz, ist es von daher für einen Angreifer kein großes Problem den RasPi zu finden und sich einzuloggen. Zumal der RasPi seine Dasein über einen ARP-Scan bereitwillig mitteilt.

$ sudo arp-scan --localnet | grep Raspberry
192.168.0.100  b8:27:eb:76:1e:16  Raspberry Pi Foundation
192.168.0.101  b8:27:eb:e4:e1:30  Raspberry Pi Foundation

Bislang war auf den Raspian-Images der SSH-Server von Haus aus aktiv. Somit ließ sich der Raspberry Pi „headless“ aufsetzen. Man brauchte also weder Maus, Tastatur oder einen Monitor um das System des RasPis einzurichten, was die Installation eines RasPi-Servers ungemein vereinfacht. In Anbetracht der IT-Sicherheits-GAUs der letzten Tage und Wochen, macht die Raspberry Pi Foundation mit dieser Praxis nun Schluss: Seit Raspbian 2016-11-25 muss man den SSH-Server aktivieren. Kann man den RasPi direkt bedienen, ist das schnell geschehen, einen Headless-RasPi muss man jedoch gezielt vorbereiten.

SSH auf dem Raspberry Pi aktivieren

Wer auf seinen Raspberry Pi direkt zugreifen kann, weil neben Tastatur/Maus auch noch ein Monitor an dem Minirechner angeschlossen sind, muss zum Aktivieren von SSH keine großen Klimmzüge machen. In der Anwendung Preferences | Raspberry Pi Configuration findet sich im Reiter Interfaces ein Schalter zum Aktivieren des SSH-Servers. Diesen ist weiter von Haus aus installiert, man muss hier nun lediglich den Schalter auf Enabled stellen und den Dialog mit OK beenden.

In Raspbian muss seit dem letzten Update SSH aktiviert werden.
In Raspbian muss seit dem letzten Update SSH aktiviert werden.
Das Freischalten von SSH funktioniert auch über raspi-config im Terminal.
Das Freischalten von SSH funktioniert auch über raspi-config im Terminal.

Alternativ ruft man das konsolenbasierte Raspberry-Pi-Konfigurationswerkzeug mittels sudo raspi-config in einem Terminal auf und schaltet dort unter dem Eintrag 7 Advanced Options | A4 SSH die entsprechende Option ein. Dies funktioniert dann selbstverständlich auch mit dem Light-Image von Raspbian, das auf eine grafische Desktopumgebung verzichtet. Einen Neustart danach braucht es nicht zwingend, man kann man sich sofort wieder per SSH einloggen.

Ebenfalls neu in Raspbian: Das System bittet darum das Passwort für den Standardnutzer zu ändern.
Ebenfalls neu: Das System bittet das Passwort für den Standardnutzer zu ändern.

Dabei findet man gleich eine weitere Neuerung. Solange man das Passwort des Standardnutzers „pi“ nicht abändert, es also bei „raspberry“ belässt, bekommt man bei jedem Einloggen einen Hinweis auf den Schirm, dass man dieses doch bitte schnellstmöglichst tun solle. Dazu genügt es sich ganz normal einzuloggen und dann mit dem Kommando passwd das Kennwort abzuändern. Linux-typisch zeigt das System bei dieser Aktion keinerlei Sternchen oder andere Platzhalter an. Alternativ funktioniert das Ändern des Passworts auch über RasPi-Config.

SSH auf einem Headless-RasPi

Möchte man nun aber gar nicht erst einen Monitor und Eingabegeräte an den Raspberry Pi anschließen, dann steht man mit dem neusten Raspbian vor verschlossenen Türen: Konnte man sich früher per SSH direkt auf dem RasPi einloggen, heißt es jetzt nur noch ssh: connect to host 192.168.111.100 port 22: Connection refused und nichts geht mehr. Nun beißt sich die Katze natürlich in den Schwanz: Ohne SSH kein SSH. Doch auch für diesen Fall haben die Entwickler von Raspbian eine Lösung erdacht.

Damit Raspbian von Haus aus SSH aktiviert, schreibt man die Image-Datei wie gewohnt auf die SD-Karte. Nach Abschluss der Aktion nehmt ihr die Karte nun nicht sofort aus dem Kartenleser, sondern öffnet die /boot-Partition des Raspbian-Systems in einem Dateimanager eurer Wahl und erstellt dort eine leere Datei mit dem Namen ssh. Da mit dem FAT-Dateisystem formatiert wurde, funktioniert dies mit allen gängigen Betriebssystem, also mit Linux, MacOS X und auch mit dem Windows Explorer unter Microsoft Windows.

Im Dateimanager eine leere Datei mit dem Namen ssh in /boot anlegen.
Im Dateimanager eine leere Datei mit dem Namen ssh in /boot anlegen.

Ich persönlich mache es mir unter Linux ein wenig leichter: Anstatt einen Dateimanager zu bemühen, schreibe ich das Rapbian-Image wie gewohnt mit dd auf die Speicherkarte (Achtung: Bitte Namen und bei Bedarf Pfad der Image-Datei anpassen, sowie den Pfad /dev/sdd zur Speicherkarte ändern) und lege die Datei dann mit touch an. Wobei man auch hier wieder den Pfad zum Mountpunkt der /boot-Partition anpassen muss. Arch bindet externe Medien unter /run/media/benutzername ein. Das $(whoami) sorgt dafür, dass dieser automatisch aufgelöst wird.

$ sudo dd if=2016-11-25-raspbian-jessie.img of=/dev/sdd bs=512; sync
$ touch /run/media/$(whoami)/boot/ssh

In Zukunft wird es also ein klein wenig komplizierter einen Raspberry Pi ohne Monitor und Tastatur entsprechend aufzusetzen. Das Plus an Sicherheit ist es in meinen Augen jedoch wert, ich möchte nicht von einem „Raspberry-Pi-Botnet“ aus der Presse erfahren. Zahlreiche RasPi-User wussten wahrscheinlich gar nicht, dass das System aus dem Netz heraus über SSH zu erreichen war. Wurde dann nicht einmal das Standard-Passwort geändert, war das RasPi-System offen wie ein Scheunentor.

Anzeige

5 KOMMENTARE

  1. Ich frage mich, ob „…das RasPi-System offen wie ein Scheunentor“ wirklich so war. Normalerweise hängt man den Pi doch an seinen Router (aka. DSL-Modem), der dem Pi per DHCP eine private IP-Adresse gibt. Und Port-Forwarding für SSH müsste ja auch noch irgendwie eingerichtet sein. Oder übersehe ich da was ?

HINTERLASSEN SIE EINE ANTWORT