Raspberry Pi: Sicherheitseinstellungen
Es ist sehr empfehlenswert den Raspberry Pi gegenüber Angreifern – besonders aus dem Internet – abzusichern. Dies solltest du immer dann machen, wenn der Pi im Netzwerk hängt und damit eine Verbindung zum Internet hat. Notwendig ist es in jedem Fall, wenn der Pi gar als Server fungiert und vom Internet aus darauf zugegriffen werden kann. Die Sicherheit kann mit ein paar einfachen Maßnahmen stark verbessert werden. Da die Standardeinstellungen allgemein bekannt sind, sollten zunächst diese ersetzt werden.
Inhaltsverzeichnis
Standardnutzer umbenennen
Da der Standardnutzer pi auf allen System werksseitig angelegt ist, bietet er Angreifern ein leichtes Ziel. Wir können ihn umbenennen, sodass der Angreifer neben dem Passwort auch den richtigen Benutzernamen herausfinden muss.
Einen temporären Nutzer anlegen
Zunächst legen wir einen Interims Benutzer mit dem Namen inter an und vergeben für diesen auf Nachfrage ein Passwort. Alle weiteren Felder können wir leer lassen. Diesen Benutzer benötigen wir um den Benutzer pi umzubenennen. Am Ende löschen wir diesen Nutzer dann wieder.
sudo adduser --no-create-home inter
Nun tragen wir den Interims Benutzer in die sudoers ein, sodass dieser mit dem Kommando sudo zeitweise Root-Rechte erhält, die wir später benötigen. Dazu öffnen wir mittels des folgenden Kommandos die sudoers Datei.
sudo visudo
Am Ende dieser Datei fügen wir die folgende Zeile ein. Speichern können wir dann mit [STRG] + [X], [Y] und dann mit [Enter].
inter ALL=(ALL) NOPASSWD: ALL
Benutzer „pi“ umbenennen
Danach melden wir uns vom Pi ab und loggen uns in den Benutzer inter ein. Jetzt benennen wir den Benutzernamen pi um. Da der ursprüngliche Benutzer jedoch sein Home-Verzeichnis unter /home/pi hat, ändern wir dieses gleich mit ab. In dem Befehl ändere ich den Benutzer und das Home-Verzeichnis auf neuernutzer. Du kannst hier einen eigenen Namen wählen und musst diesen dann hier verwenden.
sudo usermod --move-home --login neuernutzer --home /home/neuernutzer pi
Nun ändern wir noch den Namen der Gruppe pi. Es empfiehlt sich denselben Namen wie beim Benutzer zu verwenden. Daher muss wieder neuernutzer durch den gewünschten Namen ersetzt werden.
sudo groupmod -n neuernutzer pi
Wir löschen nun in der sudoers Datei die Zeile für den Benutzer inter, die wir vorher angelegt haben und ändern die Zeile des Benutzers pi ab, sodass wir den Namen des neuen Benutzers eintragen.
sudo visudo
löschen: inter ALL=(ALL) NOPASSWD: ALL
einfügen: neuernutzer ALL=(ALL) NOPASSWD: ALL
Nun meldest du dich vom Benutzer inter ab und mit deinem neuen Profil an. Jetzt können wir den Interims Benutzer wieder löschen, da er nicht mehr benötigt wird.
sudo deluser inter
Anschließend können wir uns mit dem neu erstellten Benutzer standardmäßig einloggen. Der Pi-Nutzer ist jetzt nicht mehr verfügbar und wurde von dem neuen Account ersetzt.
Standardpasswort ändern
Nachdem wir nun den Benutzernamen geändert haben, sollten wir natürlich auch noch das Passwort des Benutzers ändern. Denn das Passwort raspberry nach Auslieferung ist allgemein bekannt und macht es Angreifern sehr leicht. Ein besonders langes Passwort ist empfehlenswert, das Groß- und Kleinbuchstaben, Zahlen sowie Sonderzeichen enthält. Eine noch sicherere Variante ist die Verwendung eines SSH-Keys. Dies beschreibe ich an dieser Stelle jedoch nicht. Mit folgendem Befehl kannst du das Passwort ändern.
sudo passwd
SSH-Port ändern
Der Pi ist mit SSH im Normalfall über den Port 22 erreichbar. Sogenannte Portscanner überprüfen, ob bestimmte Dienste auf IP-Adressen/Domains eine ordentliche Rückmeldung geben. Wir können mit den folgenden Schritten den Port, auf dem SSH horcht ändern, sodass der Angreifer erst nach dem SSH Dienst suchen muss. Ich nehme als Beispiel den Port 1357. Du kannst einen beliebigen Port auswählen – theoretisch von 0 bis 65.536. Es ist darauf zu achten, dass auf dem gewählten Port keine anderen Dienste arbeiten. Eine Liste standardisierter Portnutzungen findest du auf Wikipedia. In neueren Raspbian-Versionen muss die Zeile noch aktiviert werden, indem das # am Zeilenanfang entfernt wird. Speichern kann man in dem Editor nano mit [STRG] + [X], [Y] und [Enter].
sudo nano /etc/ssh/sshd_config
Ersetze hier Port 22 durch Port 1357
Anschließend muss SSH neugestartet werden.
sudo /etc/init.d/ssh restart
Wenn du dich jetzt mit einem SSH Programm neu verbindest musst du als Port den neu gewählten eintagen. In meinem Fall 1357.
Root für SSH sperren
Es ist außerdem empfehlenswert den Nutzer root für SSH zu sperren, da dieser in der Regel nicht benötigt wird. Unter Raspbian ist der Benutzer standardmäßig pi, dessen Namen wir oben bereits geändert haben. Da wir uns nicht mit dem Benutzer root einloggen und benötigte Root-Rechte über sudo bekommen, ist es ratsam, mit folgenden Änderungen das Login des Benutzers root zu verhindern.
sudo nano /etc/ssh/sshd_config
Such nach PermitRootLogin yes und ersetze es durch PermitRootLogin no
Anschließend muss SSH erneut neugestartet werden.
sudo /etc/init.d/ssh restart
No Comment