Wenn Zehntausende von Himbeer-Pis mit dem Internet verbunden sind, wird dies möglicherweise das Interesse einiger Leute wecken, die den kleinen Computern unangenehme Dinge antun möchten, insbesondere wenn viele Leute ihren Pi für Netzwerkserver verwenden. Linux ist ein solides Betriebssystem, das aus Sicherheitsgründen nicht nur das Kennwort ändert, sondern auch, was zu tun ist, um den Raspberry Pi zu "härten", wenn ich internetfähige Dienste auf dem Gerät hosten möchte.
Nur um meine „Zehntausende“ Bonmot, Eben Upton hat gesagt zu unterstützen , dass „The Raspberry Pi über 200.000 seiner grundlegenden Computermodule verkauft hat und zur Zeit ist die Schifffahrt 4.000 Einheiten pro Tag“ . Es ist wahrscheinlich sicher anzunehmen, dass Zehntausende dieser 200.000 mit dem Internet verbunden sind. Es ist weniger sicher anzunehmen, dass Zehntausende dieser mit dem Internet verbundenen Raspberry Pis einen öffentlich zugänglichen Webdienst hosten, aber das Potenzial für Hacker-Begeisterung besteht weiterhin.
Antworten:
Das Sichern eines Computers ist kein einfacher Vorgang, es werden ganze Bücher zu diesem Thema geschrieben. Die Größe des Pis verringert nicht die Sicherheitsbedrohung oder Angriffsfläche, die einem möglichen Angreifer präsentiert wird. Als Ergebnis werde ich die Schritte beschreiben und Links zu detaillierteren Anleitungen und Tutorials bereitstellen.
Da Sie nicht erwähnt haben, welche Distribution Sie verwenden, gehe ich von der empfohlenen Raspbian Distribution aus.
Ich habe gesehen, dass die empfohlene Raspbian-Distribution den Apache-Webserver enthält und ihn beim Start aktiviert (kann jemand dies bestätigen). Brauchen Sie wirklich einen Webserver? Wenn nicht, deaktivieren Sie es. Wenn Sie Apache ausführen müssen, stellen Sie sicher, dass es sicher ist , und tun Sie dies auch für andere Dienste (z. B. FTP, NGINX, MySQL usw.). Bei einer Google-Suche sollten mehrere Ressourcen verfügbar sein.Einige zusätzliche Dinge, die Sie möglicherweise berücksichtigen möchten:
Sie sollten auch diese verwandte Frage lesen. Wie kann ich mich vor Eindringen und Malware schützen, bevor ich eine Verbindung zum Internet herstelle (insbesondere über eine öffentliche IP-Adresse)? .
Dies ist nur das Nötigste, um Ihren Pi zu sichern. Für weitere Informationen lesen Sie möglicherweise das Securing Debian Manual .
quelle
Wenn Sie sich das RPi angesehen haben, scheint es ein ziemlich sicheres Gerät zu sein, solange Sie ein paar Dinge tun.
Der Standardbenutzer / -pass muss geändert werden. Ändern Sie zumindest das Kennwort. Ändern Sie zur erneuten Verbesserung der Sicherheit auch den Benutzernamen. (Fügen Sie einen neuen Benutzer hinzu und deaktivieren Sie dann PI. Überprüfen Sie, ob ROOT auch für die SSH-Anmeldung deaktiviert ist, obwohl dies meiner Meinung nach ohnehin standardmäßig der Fall ist.)
Beim Scannen des RPi wird nur ein offener Port zurückgegeben, 22, bei dem es sich um die SSH-Verbindung handelt, und selbst dieser muss aktiviert werden, bevor er angezeigt wird (obwohl die meisten Benutzer ihn anstelle eines Monitors, einer Tastatur und einer Maus verwenden, was ich besonders erwarte ein {web} server
Sie können die SSH-Portnummer ändern, aber das macht nicht viel, da der Port leicht genug gescannt werden kann. Aktivieren Sie stattdessen die SSH-Schlüsselauthentifizierung.
Sie haben jetzt keine Möglichkeit mehr, auf Ihren Computer zuzugreifen, ohne den richtigen SSH-Schlüssel, den richtigen Benutzernamen und das richtige Passwort.
Als nächstes richten Sie Ihren Webserver ein. Apache ist so ziemlich dort, wo es ist. Das überwacht standardmäßig Port 80 und antwortet automatisch auf Verbindungen von Browsern, die Ihre Webseiten bedienen.
Wenn Sie über eine Firewall oder einen Router verfügen, können Sie die RPi-Ports ändern und den Datenverkehr vom Router auf den anderen Port leiten lassen. Beispielsweise wird der Datenverkehr von Port 80 an den Router an Port 75 des RPi umgeleitet, und SSH an 22 wird an Port 72 umgeleitet. Dies würde eine weitere Schutzebene hinzufügen, ist jedoch etwas komplexer.
Halten Sie natürlich alles auf dem neuesten Stand und gepatcht.
Dies schützt Sie nicht vor Angriffen, bei denen Java, Flash, SQL Server usw. ausgenutzt werden, die Sie möglicherweise später hinzufügen werden.
Sie können auch eine Firewall hinzufügen, die verhindert, dass Personen, die in Ihr System eindringen, über einen anderen Port aussteigen, wenn sie einen neuen Dienst installieren. Ihr Router sollte sich damit befassen, aber wenn er direkt verbunden ist, richten Sie ihn ein, und wie lange es dauert, können Sie ihn trotzdem ausführen - es wird nicht viel an Systemressourcen hinzufügen.
Eine andere Sache, die Sie vielleicht hinzufügen möchten, ist fail2ban ( http://www.fail2ban.org/wiki/index.php/Main_Page ), das eine Firewall-Regel hinzufügt, um mehrere Anmeldeversuche zu blockieren und Wörterbuchangriffe zu verhindern. Obwohl diese auf Ihrem System nicht funktionieren, wenn Sie die obigen Anweisungen befolgt haben, können Sie einen Wörterbuchangriff verhindern, wenn Sie aus irgendeinem Grund nur die SSH-Authentifizierung für das Kennwort aktiviert lassen müssen (z. B. die Remote-Anmeldung von vielen verschiedenen Computern aus) von der Arbeit. Nach der von Ihnen angegebenen Anzahl von Versuchen werden für eine Weile alle weiteren Versuche von dieser IP-Adresse blockiert. (Achten Sie darauf, dass kein Router / keine lokale IP-Adresse erkannt wird, und sperren Sie diese zu früh oder zu lange!)
Bearbeitet, um hinzuzufügen: Wenn Sie alles richtig eingerichtet haben, verwenden Sie ein Tool wie dd oder Win32DiskImager, um eine vollständige bitweise Sicherung Ihrer SD-Karte zu erstellen. Auf diese Weise können Sie, wenn etwas schief geht, es auf derselben Karte wiederherstellen oder auf eine neue Karte schreiben und trotzdem weitermachen. (Aber wenn Sie gehackt werden, möchten Sie herausfinden, welches Loch gefunden wurde, und dieses Loch vielleicht zuerst schließen!)
quelle
linode bietet eine hervorragende Anleitung zum Sichern eines Linux-Servers: http://library.linode.com/securing-your-server . Die gleichen Regeln können auf den Himbeer-Pi angewendet werden
quelle
Sie können das Betriebssystem nicht nur härten, sondern auch einen Cloud-basierten Sicherheitsüberwachungsdienst verwenden, um die Aktivität von / zu / auf Ihrem Gerät zu überwachen und Benachrichtigungen zu erhalten, wenn etwas Unangenehmes erkannt wird. Es gibt heutzutage einige Cloud-basierte SIEM-Tools, und einige (wie Siemens) betreiben ein Freemium-Modell, sodass Privatanwender keinen Cent bezahlen müssen. Um einen solchen Dienst zu nutzen, müssen Sie sich mit Dingen wie rsyslog / syslog vertraut machen, die ein Standardbestandteil aller Linux-Betriebssystemdistributionen sind.
quelle