Der Raspberry Pi ist jetzt überall zu finden, weshalb er die Aufmerksamkeit von Bedrohungsakteuren und Cyberkriminellen auf sich gezogen hat. Wir zeigen Ihnen, wie Sie Ihren Pi mit der Zwei-Faktor-Authentifizierung absichern.
Inhaltsverzeichnis
Der erstaunliche Himbeer-Pi
Der Himbeer-Pi ist ein Einplatinencomputer. Es wurde 2012 in Großbritannien eingeführt, um Kinder dazu zu bringen, Code zu basteln, zu erstellen und zu lernen. Der ursprüngliche Formfaktor war eine Platine in Kreditkartengröße, die von einem Telefonladegerät mit Strom versorgt wurde.
Es bietet HDMI-Ausgang, USB-Anschlüsse, Netzwerkkonnektivität und läuft unter Linux. Spätere Ergänzungen der Linie umfassten noch kleinere Versionen, die für den Einbau in Produkte oder den Betrieb als Headless-Systeme konzipiert wurden. Die Preise reichen von 5 $ für den Minimalisten Pi Null, zu $75 für die Pi 4 B/8 GB.
Sein Erfolg war unglaublich; über 30 Millionen dieser winzigen Computer wurden weltweit verkauft. Bastler haben erstaunliche und inspirierende Dinge mit ihnen gemacht, einschließlich einen an den Rand des Weltraums schweben lassen und zurück auf einem Ballon.
Sobald eine Computerplattform jedoch ausreichend verbreitet ist, zieht sie unweigerlich die Aufmerksamkeit von Cyberkriminellen auf sich. Es ist schrecklich, sich vorzustellen, wie viele Pis das Standardbenutzerkonto und das Standardkennwort verwenden. Wenn Ihr Pi öffentlich zugänglich und über das Internet zugänglich ist von Sichere Hülle (SSH) muss es sicher sein.
Auch wenn Sie keine wertvollen Daten oder Software auf Ihrem Pi haben, müssen Sie diese schützen, da Ihr Pi nicht das eigentliche Ziel ist – es ist nur eine Möglichkeit, in Ihr Netzwerk einzudringen. Sobald ein Bedrohungsakteur in einem Netzwerk Fuß gefasst hat, wechselt er zu den anderen Geräten, an denen er tatsächlich interessiert ist.
Zwei-Faktor-Authentifizierung
Die Authentifizierung – oder der Zugriff auf ein System – erfordert einen oder mehrere Faktoren. Faktoren werden wie folgt kategorisiert:
Etwas, das Sie kennen: Zum Beispiel ein Passwort oder eine -phrase.
Etwas, das Sie haben: Wie ein Mobiltelefon, ein physisches Token oder ein Dongle.
Etwas, das Sie sind: Ein biometrischer Messwert, wie ein Fingerabdruck oder ein Netzhautscan.
Die Multifaktor-Authentifizierung (MFA) erfordert ein Passwort und ein oder mehrere Elemente aus den anderen Kategorien. In unserem Beispiel verwenden wir ein Passwort und ein Mobiltelefon. Auf dem Mobiltelefon wird eine Google-Authentifizierungs-App ausgeführt und auf dem Pi wird ein Google-Authentifizierungsmodul ausgeführt.
Eine Handy-App wird durch Scannen eines QR-Codes mit Ihrem Pi verknüpft. Dadurch werden einige Seed-Informationen vom Pi an Ihr Mobiltelefon weitergeleitet, um sicherzustellen, dass ihre Algorithmen zur Nummerngenerierung gleichzeitig dieselben Codes erzeugen. Die Codes werden bezeichnet als zeitbasierte, einmalige Passwörter (TOTP).
Wenn es eine Verbindungsanfrage erhält, generiert Ihr Pi einen Code. Sie verwenden die Authenticator-App auf Ihrem Telefon, um den aktuellen Code anzuzeigen, und Ihr Pi fragt Sie dann nach Ihrem Passwort und Ihrem Authentifizierungscode. Sowohl Ihr Passwort als auch das TOTP müssen korrekt sein, bevor Sie eine Verbindung herstellen können.
Pi . konfigurieren
Wenn Sie normalerweise SSH auf Ihrem Pi verwenden, handelt es sich wahrscheinlich um ein Headless-System, daher konfigurieren wir es über eine SSH-Verbindung.
Am sichersten ist es, zwei SSH-Verbindungen herzustellen: eine zum Konfigurieren und Testen und eine andere als Sicherheitsnetz. Auf diese Weise haben Sie, wenn Sie sich von Ihrem Pi aussperren, immer noch die zweite aktive SSH-Verbindung aktiv. Das Ändern der SSH-Einstellungen wirkt sich nicht auf eine laufende Verbindung aus, daher können Sie die zweite Option verwenden, um alle Änderungen rückgängig zu machen und die Situation zu beheben.
Wenn das Schlimmste passiert und Sie über SSH vollständig gesperrt sind, können Sie Ihren Pi immer noch mit einem Monitor, einer Tastatur und einer Maus verbinden und sich dann bei einer regulären Sitzung anmelden. Das heißt, Sie können sich weiterhin anmelden, solange Ihr Pi einen Monitor ansteuern kann. Wenn dies jedoch nicht möglich ist, müssen Sie die SSH-Verbindung zum Sicherheitsnetz wirklich geöffnet lassen, bis Sie überprüft haben, dass die Zwei-Faktor-Authentifizierung funktioniert.
Die ultimative Sanktion besteht natürlich darin, das Betriebssystem auf die Micro-SD-Karte des Pi neu zu flashen, aber versuchen wir, dies zu vermeiden.
Zuerst müssen wir unsere beiden Verbindungen zum Pi herstellen. Beide Befehle haben die folgende Form:
ssh [email protected]
Der Name dieses Pi ist „Watchdog“, aber Sie geben stattdessen Ihren Namen ein. Wenn Sie den Standardbenutzernamen geändert haben, verwenden Sie diesen ebenfalls; unsere ist „pi“.
Denken Sie daran, diesen Befehl zur Sicherheit zweimal in verschiedenen Terminalfenstern einzugeben, damit Sie zwei Verbindungen zu Ihrem Pi haben. Minimieren Sie dann eine davon, damit sie nicht im Weg ist und nicht versehentlich geschlossen wird.
Nachdem Sie eine Verbindung hergestellt haben, wird die Begrüßungsnachricht angezeigt. Die Eingabeaufforderung zeigt den Benutzernamen (in diesem Fall „pi“) und den Namen des Pi (in diesem Fall „watchdog“) an.
Sie müssen die Datei „sshd_config“ bearbeiten. Wir machen das im Nano-Texteditor:
sudo nano /etc/ssh/sshd_config
Scrollen Sie durch die Datei, bis Sie die folgende Zeile sehen:
ChallengeResponseAuthentication no
Ersetzen Sie „nein“ durch „ja“.
Drücken Sie Strg+O, um Ihre Änderungen in Nano zu speichern, und drücken Sie dann Strg+X, um die Datei zu schließen. Verwenden Sie den folgenden Befehl, um den SSH-Daemon neu zu starten:
sudo systemctl restart ssh
Sie müssen den Google-Authentifikator installieren, der a Steckbares Authentifizierungsmodul (PAM)-Bibliothek. Die Anwendung (SSH) ruft die Linux-PAM-Schnittstelle auf, und die Schnittstelle findet das geeignete PAM-Modul, um den angeforderten Authentifizierungstyp zu bedienen.
Geben Sie Folgendes ein:
sudo apt-get install libpam-google-authenticator
Installation der App
Die Google Authenticator-App ist verfügbar für iPhone und Android, also installiere einfach die passende Version für dein Handy. Sie können auch Authy und andere Apps verwenden, die diese Art von Authentifizierungscode unterstützen.
Konfigurieren der Zwei-Faktor-Authentifizierung
Führen Sie in dem Konto, das Sie verwenden, wenn Sie sich über SSH mit dem Pi verbinden, den folgenden Befehl aus (ohne das Sudo-Präfix):
google-authenticator
Sie werden gefragt, ob die Authentifizierungstoken zeitbasiert sein sollen; drücken Sie Y und drücken Sie dann die Eingabetaste.
EIN Schnelle Antwort (QR)-Code wird generiert, aber verschlüsselt, weil er breiter als das 80-Spalten-Terminalfenster ist. Ziehen Sie das Fenster weiter, um den Code anzuzeigen.
Sie sehen auch einige Sicherheitscodes unter dem QR-Code. Diese werden in eine Datei namens „.google_authenticator“ geschrieben, aber Sie möchten vielleicht jetzt eine Kopie davon erstellen. Wenn Sie jemals die Möglichkeit verlieren, ein TOTP zu erhalten (zB wenn Sie Ihr Handy verlieren), können Sie diese Codes zur Authentifizierung verwenden.
Sie müssen vier Fragen beantworten, von denen die erste lautet:
Do you want me to update your "/home/pi/.google_authenticator" file? (y/n)
Drücken Sie Y und drücken Sie dann die Eingabetaste.
Die nächste Frage lautet, ob Sie die Mehrfachverwendung desselben Codes innerhalb eines 30-Sekunden-Fensters verhindern möchten.
Drücken Sie Y und drücken Sie dann die Eingabetaste.
Die dritte Frage lautet, ob Sie das Akzeptanzfenster für die TOTP-Token erweitern möchten.
Drücken Sie als Antwort N und dann die Eingabetaste.
Die letzte Frage lautet: „Möchten Sie die Ratenbegrenzung aktivieren?“
Geben Sie Y ein und drücken Sie dann die Eingabetaste.
Sie kehren zur Eingabeaufforderung zurück. Ziehen Sie ggf. das Terminalfenster weiter und/oder scrollen Sie im Terminalfenster nach oben, damit Sie den gesamten QR-Code sehen können.
Öffnen Sie auf Ihrem Mobiltelefon die Authenticator-App und drücken Sie dann das Pluszeichen (+) unten rechts auf dem Bildschirm. Wählen Sie „QR-Code scannen“ und scannen Sie dann den QR-Code im Terminalfenster.
In der Authenticator-App erscheint ein neuer Eintrag, der nach dem Hostnamen des Pi benannt ist, und darunter wird ein sechsstelliger TOTP-Code aufgeführt. Es wird als zwei Gruppen mit drei Ziffern angezeigt, um das Lesen zu erleichtern, aber Sie müssen es als eine sechsstellige Zahl eingeben.
Ein animierter Kreis neben dem Code zeigt an, wie lange der Code noch gültig ist: Ein voller Kreis bedeutet 30 Sekunden, ein Halbkreis bedeutet 15 Sekunden und so weiter.
Alles miteinander verbinden
Wir müssen noch eine Datei bearbeiten. Wir müssen SSH mitteilen, welches PAM-Authentifizierungsmodul verwendet werden soll:
sudo nano /etc/pam.d/sshd
Geben Sie die folgenden Zeilen am Anfang der Datei ein:
#2FA auth required pam_google_authenticator.so
Sie können auch auswählen, wann Sie nach dem TOTP gefragt werden möchten:
Nachdem Sie Ihr Passwort eingegeben haben: Geben Sie die vorherigen Zeilen unter „@include common-auth“ ein, wie in der Abbildung oben gezeigt.
Bevor Sie nach Ihrem Passwort gefragt werden: Geben Sie die vorherigen Zeilen über „@include common-auth“ ein.
Beachten Sie die Unterstriche (_), die in „pam_google_authenticator.so“ verwendet werden, und nicht die Bindestriche (-), die wir zuvor mit dem Befehl apt-get zur Installation des Moduls verwendet haben.
Drücken Sie Strg+O, um die Änderungen in die Datei zu schreiben, und drücken Sie dann Strg+X, um den Editor zu schließen. Wir müssen SSH ein letztes Mal neu starten, und dann sind wir fertig:
sudo systemctl restart ssh
Schließen Sie diese SSH-Verbindung, aber lassen Sie die andere Sicherheitsnetz-SSH-Verbindung laufen, bis wir diesen nächsten Schritt überprüft haben.
Stellen Sie sicher, dass die Authenticator-App auf Ihrem Mobiltelefon geöffnet und bereit ist, und öffnen Sie dann eine neue SSH-Verbindung zum Pi:
ssh [email protected]
Sie sollten nach Ihrem Passwort und dann nach dem Code gefragt werden. Geben Sie den Code von Ihrem Handy ohne Leerzeichen zwischen den Zahlen ein. Wie Ihr Passwort wird es nicht auf dem Bildschirm wiedergegeben.
Wenn alles nach Plan läuft, sollten Sie sich mit dem Pi verbinden dürfen; Wenn nicht, verwenden Sie Ihre Sicherheitsnetz-SSH-Verbindung, um die vorherigen Schritte zu überprüfen.
Besser sicher als Entschuldigung
Ist Ihnen das „r“ in „sicherer“ oben aufgefallen?
Tatsächlich sind Sie jetzt sicherer als früher, wenn Sie eine Verbindung zu einem Raspberry Pi herstellen, aber nichts ist jemals zu 100 Prozent sicher. Es gibt Möglichkeiten, die Zwei-Faktor-Authentifizierung zu umgehen. Diese basieren auf Social Engineering, Man-in-the-Middle- und Man-at-the-Endpoint-Angriffen, SIM-Swapping und anderen fortgeschrittenen Techniken, die wir hier natürlich nicht beschreiben werden.
Warum sich also mit all dem beschäftigen, wenn es nicht perfekt ist? Nun, aus dem gleichen Grund schließt man beim Verlassen seine Haustür ab, obwohl es Leute gibt, die Schlösser knacken können – die meisten können es nicht.