Veröffentlicht am Schreib einen Kommentar

Grundabsicherung des Raspberry Pi

Raspberry Pi gegen Angriffe schützen

Liebe Raspberry Pi Freunde. In diesem How-To möchte ich mit Ihnen teilen, was ich in Bezug auf die Absicherung meines Raspberry Pi 2 unternommen habe. Bis vor Kurzem waren mir zwar die Risiken eines lasch abgesicherten Raspis ungefähr bekannt (zumindestens dachte ich es), unternommen habe ich nur teilweise etwas. Bis mir neulich etwas von den Bedrohungen auch zugestossen war. Ich hatte meinen Pi beim Experimentieren einfach mit dem Standard-Benutzernamen, -Password und -Port (22) über SSH online gestellt. Was habe ich mich dann gewundert, als ich mich nicht mehr einloggen konnte und ich im Syslog ewig lange Einträge von allen möglichen SSH-Zugriffen sah. Es sah nach einem Brute-Force-Angriff aus. Also mache ich das seitdem immer richtig. Und dies möchte ich mit teilen.

Hierfür schildere ich unten ein paar Empfehlungen von Philipp Schweizer (raspberry.tips). Übrigens sind seine Tutorials und andere Beiträge wärmstens zu empfehlen.

Welche Bedrohungen gibt es denn beim ungeschützten Raspberry Pi?

Philipp schreibt hier von folgenden Szenarien:

  • Der Raspberry Pi wird als Spam-Schleuder missbraucht
  • Der Raspberry Pi wird als Maleware-Schleuder (Viren & Trojaner) missbraucht
  • Der Raspberry Pi wird als Sprungbrett für weitere illegale Aktionen missbraucht (Identitätsdiebstahl via Proxy)
  • Es könnten illegale Inhalte über euer System bzw. eure Internetleitung verbreitet werden

Solche Themen wie Kreditkarten-Betrug, Online-Banking-Betrug oder Phishing sowie das ausspähen von Zugangs- oder Identitätsdaten sind, da der Raspberry Pi meist nicht als PC-Arbeitsplatz oder Internet-Rechner verwendet wird, eher unwahrscheinlich.

Ich glaube, die aufgezählten Punkte geben genug Anlass dafür, den Raspberry Pi besser abzusichern. Also sichern wir ihn mal ab.

Dabei wird davon ausgegangen, dass der abzusichernde Raspberry Pi mit dem aktuellen Betriebssystem Raspbian betrieben wird. Nachdem man das Betriebsystem installiert hat, sollte man noch vor dem ersten Internetkontakt das Benutzerpasswort des Benutzers „pi“ ändern. (Achten Sie bitte darauf, dass Ihre Tastatur nach der frischen Installation noch auf den deutschen Layout umzustellen ist, sonst wird der GB-Layout verwendet).

Für das Ändern des Passworts für pi öffnen Sie den LXTerminal und geben Sie den folgenden Befehl ein:

passwd

Ändern Sie nun das Passwort in ein sicheres Passwort, das mindestens aus 8 Zeichen bestehen sollte. Achten Sie darauf, auch Groß- und Kleinbuchstaben sowie Zahlen und/oder Sonderzeichen zu verwenden. Alternativ lässt sich das Passwort auch in der grafischen RasPi Konfiguration über „sudo raspi-config“ (ebenfalls im Terminal einzugeben) ändern. Nun darf der Raspberry Pi ins Internet.

Raspbian aktualisieren und automatisch aktuell halten

Direkt nach der Änderung des Standard-Passworts sollte man dafür sorgen, dass das System mit aktuellen Patches und Updates versorgt wird, um nicht unnötig evtl. vorhandene bereits bekannte Sicherheitslücken mit sich herumzuschleppen. Als erstes wird die Paket-Liste via update aktualisiert und anschließend die aktuellen Versionen via upgrade installiert. Zum Schluss wird noch die Firmware und der Kernel via rpi-update erneuert. Der Parameter dist-upgrade kümmert sich im Gegensatz zum einfachen upgrade auch um Abhängigkeiten und neue Pakete.

Also geben Sie nacheinander die folgenden Befehle im Terminal ein:

sudo apt-get update
sudo apt-get dist-upgrade
sudo rpi-update

Wer regelmäßig automatisch Aktualisierungen installieren möchte, kann dies via Cron-Job machen. Wer wichtige Dienste und Daten auf seinem RasPi hat, sollte regelmäßig eine Datensicherung erstellen! Hierzu wird die Verwendung des Tools unattended-upgrades empfohlen, um automatisch Sicherheitsupdates zu installieren.

Für die Installation der Lösung, geben Sie im Terminal folgende Befehle ein:

sudo apt-get install unattended-upgrades update-notifier-common

Um die Standardkonfiguration unter /etc/apt/apt.conf.d/20auto-upgrades zu erstellen führen wir die Konfiguration aus, bestätigen Sie die Frage mit YES und klicken Sie im darauf folgenden Fenster auf OK

sudo dpkg-reconfigure -plow unattended-upgrades

In der Datei /etc/apt/apt.conf.d/10periodic wird festgelegt, dass täglich auf Updates geprüft, diese heruntergeladen und installiert werden sollen. Alle 7 Tage werden nicht mehr benötigte Pakete entfernt. Für das Editieren der Datei wird nano verwendet.

sudo nano /etc/apt/apt.conf.d/10periodic

Der Inhalt muss wie folgt festgelegt werden.

APT::Periodic::Update-Package-Lists „1“;
APT::Periodic::Download-Upgradeable-Packages „1“;
APT::Periodic::AutocleanInterval „7“;
APT::Periodic::Unattended-Upgrade „1“;

Speichern Sie mit STRG+X, Y und Enter.

In der Datei /etc/apt/apt.conf.d/50unattended-upgrades könen noch weitere Einstellungen zum automatischen Update konfiguriert werden, zum Beispiel die Steuerung von Neustarts oder Ausnahmen für Pakete die nicht automatisch aktualisiert werden sollen.

Neuen Benutzer anlegen und pi entfernen

Da einem potenziellen Angreifer bestens bekannt ist, das es im Raspbian Betriebssystem immer einen Benutzer mit dem Namen pi gibt, hat dieser schon eine wichtige Information um ein System unter seine Kontrolle bringen zu können. Das kann ebenfalls verhindert werden und zwar durch die Erstellung eines neuen Benutzers und mittels Deaktivieren des Standard-Benutzers pi.

Als erstes wird der neue Benutzer erstellt, in diesem Beispiel heißt der Benutzer braspi. Dieser wird direkt zur „sudo“ Gruppe hinzugefügt um später Prozesse auch als root ausführen zu können.

sudo useradd -m braspi -G sudo

Setzen Sie nun noch ein sicheres Passwort für den neuen Benutzer:

sudo passwd braspi

Der Benutzer braspi hat jetzt die selben Rechte wie der Benutzer pi – der Standard-Benutzer darf also deaktiviert werden. Stellen Sie sicher, dass die Option „Autologin“ deaktiviert ist, sonst kann der Benutzer pi nicht gelöscht werden, da er ständig automatisch angemeldet wird.

Nach dem Neustart melden Sie sich bitte unter dem neuen Benutzernamen an und führen Sie dann den folgenden Befehl zum Löschen von pi und dessen Home aus:

sudo deluser -remove-home pi

SSH Zugang absichern

In der aktuellen Raspbian-Version (Raspbian Stretch) ist der SSH-Server standardmäßig deaktiviert. Das bringt bereits etwas Sicherheit in die Verwendung des kleinen Computers. Wer jedoch per SSH auf den Raspberry Pi zugreifen möchte, kommt um die Absicherung dieses Werkzeugs nicht umher.

Aktivieren Sie zuerst die SSH-Schnittstelle:

sudo raspi-config

Wählen Sie

5 Interfacing Options -> P2 SSH -> Beantworten Sie die Frage im darauffolgenden Fenster mit JA und bestätign Sie anschließend die Einstellung im nächsten Fenster mit OK

Anschließend geht es an die Konfiguration der Schnittstelle, ebenfalls mittels nano:

sudo nano /etc/ssh/sshd_config

Als erstes wird die Anmeldung des Benutzers root verhindert. Ändern Sie hierzu den folgenden Eintrag wir folgt:

PermitRootLogin no

Wenn nötig kommentieren Sie diese Zeile aus. Dafür wird vor dem Eintrag ‚#‘ entfernt.

Sehr wichtig ist ebenfalls das Ändern des Standard-Zugriffports. Standardmäßig erfolgt der SSH-Zugriff über den TCP-Port 22. Das ist aber auch jedem bekannt. Also sollte dieser geändert werden. Vergeben Sie hier einfach eine Port-Nummer, die Sie sich leicht merken können, z.B. Ihre Postleitzahl oder einen Teil Ihrer Telefonnummer. Im darauf folgenden Beispiel wurde eine der Postleitzahlen von Frankfurt genommen.

Ändern Sie die Zeile ‚Port 22‘ in

Port 60488

Speichern Sie die Konfiguration mit STRG+X, Y und Enter.

Zusätzlich kann man mit dem Paket fail2ban automatisch IP-Adressen sperren, wenn sie eine voreingestellte Anzahl von erfolglosen Anmeldeversuchen erreicht haben. Damit wird das System noch gegen Brute Force Angriffe geschützt.

sudo apt-get install fail2ban

Im Standard werden nun IP-Adressen nach 6 fehlerhaften Anmeldungen für 10 Minuten gesperrt. Falls Sie diese Werte ändern möchten, können Sie das in der Konfigurationsdatei /etc/fail2ban/jail.conf tun.

Die oben dargelegten Schritte schützen Ihr System zumindestens am Anfang gut ab. Sie bieten jedoch keineswegs allumfängliche Sicherheit, die es sowieso nicht gibt.