Himbeer-Pi

Raspberry Pi mit Firewall sichern

Raspberry Pi mit Firewall sichern

Wenn Sie eine Art Serversoftware auf Ihrem Raspberry Pi ausführen möchten (i.e., Webserver, Datenbankserver, Minecraft-Server) und öffentlich im Internet verfügbar machen (Hosting), dann ist die Absicherung Ihres Raspberry Pi-Servers mit einem Firewall-Programm sehr wichtig.

Es gibt viele kostenlose und Open-Source-Firewall-Programme auf dem Raspberry Pi OS (dem offiziellen Betriebssystem von Raspberry Pi-Einplatinencomputern). Unter diesen Programmen sind UFW und Firewalld die gebräuchlichsten Firewall-Programme.

In diesem Artikel zeige ich Ihnen mit dem UFW-Firewall-Programm, wie Sie Ihren Raspberry Pi . absichern. Also lasst uns anfangen.

Dinge, die Sie brauchen:

Um diesem Artikel zu folgen, benötigen Sie die folgenden Dinge, um Ihren Raspberry Pi im Headless-Modus einzurichten:

  1. Ein Raspberry Pi 3 oder Raspberry Pi 4 Einplatinencomputer.
  2. Ein Micro-USB (Raspberry Pi 3) oder USB Typ-C (Raspberry Pi 4) Netzteil.
  3. Eine 16 GB oder 32 GB microSD-Karte mit Raspberry Pi OS geflasht.
  4. Netzwerkkonnektivität auf dem Raspberry Pi.
  5. Ein Laptop oder ein Desktop-Computer für VNC-Remote-Desktop-Zugriff oder SSH-Zugriff auf den Raspberry Pi.

Wenn Sie Ihren Raspberry Pi 4 nicht im Headless-Modus einrichten möchten, benötigen Sie außerdem:

  1. Ein Bildschirm
  2. Ein HDMI- oder Micro-HDMI-Kabel
  3. Eine Tastatur
  4. Eine Maus.

Wenn Sie Hilfe beim Flashen des Raspberry Pi OS-Images auf der microSD-Karte benötigen, lesen Sie meinen Artikel How to Install and Use Raspberry Pi Imager.

Wenn Sie ein Raspberry Pi-Anfänger sind und Hilfe bei der Installation von Raspberry Pi OS auf Ihrem Raspberry Pi benötigen, lesen Sie meinen Artikel How to Install Raspberry Pi OS on Raspberry Pi 4.

Wenn Sie Hilfe bei der kopflosen Einrichtung von Raspberry Pi benötigen, lesen Sie meinen Artikel How to Install and Configure Raspberry Pi OS on Raspberry Pi 4 Without External Monitor.

Aktualisieren des Raspberry Pi-Betriebssystems:

Da wir versuchen, unseren Raspberry Pi abzusichern, ist es eine gute Idee, alle vorhandenen Pakete des Raspberry Pi-Betriebssystems zu aktualisieren. Dadurch wird Ihr Raspberry Pi-Betriebssystem sicherer, da alle neuesten Sicherheitsupdates und Fehlerbehebungen installiert werden.

Aktualisieren Sie zunächst den Cache des APT-Paket-Repositorys mit dem folgenden Befehl:

$ sudo apt-Update


Um alle vorhandenen Pakete Ihres Raspberry Pi OS zu aktualisieren, führen Sie den folgenden Befehl aus:

$ sudo apt Voll-Upgrade


Um die Installation der Updates zu bestätigen, drücken Sie Ja und drücke dann <Eingeben>.


Der APT-Paketmanager lädt alle erforderlichen Pakete aus dem Internet herunter. Es kann eine Weile dauern, bis es abgeschlossen ist.


Sobald die Pakete heruntergeladen sind, installiert der APT-Paketmanager sie einzeln. Es kann eine Weile dauern, bis es abgeschlossen ist.


Zu diesem Zeitpunkt sollten alle Updates installiert sein.

Damit die Änderungen wirksam werden, starten Sie Ihren Raspberry Pi mit dem folgenden Befehl neu:

$ sudo Neustart

UFW installieren - Unkomplizierte Firewall:

Sobald Ihr Raspberry Pi bootet, können Sie das UFW-Firewall-Programm mit dem folgenden Befehl installieren:

$ sudo apt install ufw -y


UFW sollte installiert sein.


Damit die Änderungen wirksam werden, starten Sie Ihren Raspberry Pi mit dem folgenden Befehl neu:

$ sudo Neustart


Sobald Ihr Raspberry Pi bootet, ist die ufw Der systemd-Dienst sollte aktiv sein, wie Sie im Screenshot unten sehen können.

$ sudo systemctl status ufw


Sie können mit dem folgenden Befehl überprüfen, ob UFW aktiviert ist:

$ sudo ufw-Status


Wie Sie sehen, ist UFW standardmäßig nicht aktiviert.


Führen Sie den folgenden Befehl aus, um UFW zu aktivieren:

$ sudo ufw aktivieren


Wie Sie sehen, ist UFW jetzt aktiviert.

$ sudo ufw-Status

Zulassen des Zugriffs auf die Ports mithilfe von App-Profilen:

UFW hat einige Standard-App-Profile. Jedes der App-Profile verfügt über einige vordefinierte Ports, auf die Sie den Zugriff zulassen/verweigern können.

Führen Sie den folgenden Befehl aus, um alle verfügbaren App-Profile aufzulisten:

$ sudo ufw App-Liste


Alle installierten App-Profile sollten aufgelistet sein.

Wenn Sie (wie ich) über SSH oder VNC mit Ihrem Raspberry Pi verbunden sind, müssen Sie den Zugriff auf die OpenSSH und VNC App-Profile. Andernfalls können Sie beim nächsten Booten Ihres Raspberry Pi nicht aus der Ferne darauf zugreifen, da die Firewall alle Ports blockiert, einschließlich der SSH- und VNC-Ports. Das ist also sehr wichtig.


Sie können sehen, welche Ports in einem App-Profil definiert sind (i.e., OpenSSH) mit folgendem Befehl:

$ sudo ufw-App-Info OpenSSH


Wie du siehst, TCP-Port 22 ist im App-Profil definiert OpenSSH.


Auf die gleiche Weise TCP-Port 5900 ist definiert im VNC App-Profil.

$ sudo ufw-App-Info VNC


Um den Zugriff auf die Ports zu ermöglichen, die in der VNC app-Profil, führen Sie den folgenden Befehl aus:

$ sudo ufw erlauben VNC


Wie Sie sehen können, ist die VNC App-Profil wird durch die Firewall zugelassen.

$ sudo ufw Status nummeriert


Erlauben Sie auf die gleiche Weise den Zugriff auf die im OpenSSH App-Profil mit dem folgenden Befehl:

$ sudo ufw OpenSSH zulassen


Wie Sie sehen können, ist die OpenSSH App-Profil ist durch die Firewall erlaubt.

$ sudo ufw Status nummeriert

Erlauben des Zugriffs auf die Ports mithilfe der Portnummer:

Manchmal ist der Port, für den Sie den Zugriff zulassen/verweigern möchten, in keinem verfügbaren App-Profil definiert. Sie müssen also den Zugriff auf diese Ports mithilfe der Portnummer zulassen/verweigern.

Sie können beispielsweise den Zugriff auf die TCP-Port 8080 mit folgendem Befehl:

$ sudo ufw erlauben 8080/tcp


Wie Sie sehen können, ist die TCP-Port 8080 ist der Zugriff durch die Firewall erlaubt.

$ sudo ufw Status nummeriert


Auf die gleiche Weise können Sie den Zugriff auf die UDP-Port 8888 mit folgendem Befehl:

$ sudo ufw erlauben 8888/udp


Wie Sie sehen können, ist die UDP-Port 8888 ist der Zugriff durch die Firewall erlaubt.

$ sudo ufw Status nummeriert

Zugriff auf Ports verweigern:

Das Standardverhalten des UFW-Firewall-Programms besteht darin, alles zu verweigern, was nicht erlaubt ist. Sie müssen also nichts tun, um den Zugriff auf Ports zu verweigern.

Aus Wettbewerbsgründen zeige ich Ihnen, wie Sie Ports in UFW trotzdem verweigern.

Um beispielsweise den Zugriff auf die TCP-Port 9900, führen Sie den folgenden Befehl aus:

$ sudo ufw verweigern 9900/tcp


Wie Sie sehen können, ist die TCP-Port 9900 wird der Zugriff durch die Firewall verweigert.

$ sudo ufw Status nummeriert


Auf die gleiche Weise können Sie die in einem App-Profil definierten Ports verweigern (i.e.,  WWW) wie folgt:

$ sudo ufw WWW verweigern

Verweigern des Zugriffs auf den Server durch bestimmte IP-Adressen:

Manchmal müssen Sie möglicherweise den Zugriff auf eine bestimmte IP-Adresse oder ein bestimmtes IP-Subnetz verweigern, um Ihren Raspberry Pi-Server vor DDoS-Angriffen (Distributed Denial of Service) zu schützen. Das kannst du mit UFW.

Um mit dem Verweigern von IP-Adressen zu experimentieren, verwende ich den Apache-Webserver use.

Sie können den Apache-Webserver mit dem folgenden Befehl auf Ihrem Raspberry Pi installieren:

$ sudo apt install Apache2


Um die Installation zu bestätigen, drücken Sie Ja und drücke dann <Eingeben>.


Der APT-Paketmanager lädt alle Pakete aus dem Internet herunter und installiert sie nacheinander. Es kann eine Weile dauern, bis es abgeschlossen ist.


An dieser Stelle sollte der Apache-Webserver installiert sein.


Sobald der Apache-Webserver installiert ist, erstellen Sie mit dem folgenden Befehl eine einfache Indexseite:

$echo"

Willkommen bei LinuxHinweis

" | sudo tee /var/www/html/index.html


Das Apache2 Der systemd-Dienst sollte ausgeführt werden, wie Sie im Screenshot unten sehen können.

$ sudo systemctl status apache2


Erlauben Sie den Zugriff auf den Apache-Webserver-Port (TCP-Port 80) über das App-Profil WWW wie folgt:

$ sudo ufw erlauben www


Wie Sie sehen können, sind die im App-Profil definierten Ports WWW ist der Zugriff durch die Firewall erlaubt.


Finden Sie die IP-Adresse Ihres Raspberry Pi mit dem folgenden Befehl:

$ Hostname -I


Wie Sie sehen, lautet die IP-Adresse meines Raspberry Pi 192.168.0.106. Bei dir wird es anders sein. Stellen Sie also sicher, dass Sie es von nun an durch Ihres ersetzen.


Sie sollten von anderen Geräten auf den Apache-Webserver zugreifen, wie Sie im Screenshot unten sehen können.


Der Computer, mit dem ich auf den Apache-Webserver zugreife, hat die IP-Adresse 192.168.0.109.


So verweigern Sie die IP-Adresse 192.168.0.109 Zugriff auf Ihren Raspberry Pi-Server, müssen Sie oben die Firewall-Regel hinzufügen (Position 1). Die Reihenfolge der UFW-Regeln ist sehr wichtig. Die restriktivsten Regeln sollten zuerst gelten.

$ sudo ufw Status nummeriert


So verweigern Sie die IP-Adresse 192.168.0.109 Zugriff auf den Raspberry Pi-Server, führen Sie den folgenden Befehl aus:

$ sudo ufw einfügen 1 deny von 192.168.0.109 zu jedem


Die UFW-Regel zum Verweigern der IP-Adresse 192.168.0.109 Der Zugriff auf den Raspberry Pi Server sollte die oberste Regel sein, wie im Screenshot unten gezeigt.

$ sudo ufw Status nummeriert


Sie können vom Computer mit der IP-Adresse nicht auf den Apache-Webserver zugreifen, der auf Ihrem Raspberry Pi läuft 192.168.0.109 mehr, wie Sie im Screenshot unten sehen können.


Sie können jedoch von anderen Computern auf den Apache-Webserver zugreifen, der auf Ihrem Raspberry Pi läuft.


Wenn Sie den Zugriff auf ein IP-Subnetz verweigern möchten, müssen Sie die erforderliche UFW-Regel vor der zuvor hinzugefügten Regel hinzufügen, da es sich um eine restriktivere Regel handelt.

$ sudo ufw Status nummeriert


Um beispielsweise jedem Computer in einem IP-Subnetz den Zugriff zu verweigern 192.168.20.0/24, führen Sie den folgenden Befehl aus:

$ sudo ufw einfügen 1 deny von 192.168.20.0/24 bis alle


Die UFW-Regel sollte an der richtigen Position hinzugefügt werden, wie im Screenshot unten gezeigt. Jetzt kein Computer aus dem IP-Subnetz 192.168.20.0/24 sollte auf Ihren Raspberry Pi-Server zugreifen können.

$ sudo ufw Status nummeriert

Entfernen von UFW-Regeln:

Manchmal müssen Sie möglicherweise einige UFW-Regeln entfernen. Das geht ganz einfach.

Sie können alle verfügbaren UFW-Regeln mit dem folgenden Befehl auflisten:

$ sudo ufw Status nummeriert


Alle verfügbaren UFW-Regeln sollten aufgelistet werden. Angenommen, Sie möchten die UFW-Regelnummer 10 (Regel an der 10. Position) entfernen.


Führen Sie den folgenden Befehl aus, um die UFW-Regelnummer 10 zu entfernen:

$ sudo ufw löschen 10


Um den Entfernungsvorgang zu bestätigen, drücken Sie Ja und drücke dann <Eingeben>.


Die UFW-Regel Nummer 10 sollte entfernt werden.


Wie Sie sehen, wird die UFW-Regel entfernt und die Regeln werden neu geordnet (die UFW-Regel, die sich an Position 11 befand, ist jetzt an Position 10).

$ sudo ufw Status nummeriert

Fazit:

In diesem Artikel habe ich Ihnen gezeigt, wie Sie das UFW-Firewall-Programm auf Ihrem Raspberry Pi (mit dem Raspberry Pi OS) installieren. Ich habe Ihnen auch gezeigt, wie Sie Ports mit dem UFW-Firewall-Programm zulassen/verweigern. Ich habe Ihnen gezeigt, wie Sie auch mit dem UFW-Firewall-Programm einer bestimmten IP-Adresse oder einem IP-Subnetz den Zugriff auf den Raspberry Pi verweigern können.

So entwickeln Sie ein Spiel unter Linux
Vor einem Jahrzehnt hätten nicht viele Linux-Benutzer vorhergesagt, dass ihr Lieblingsbetriebssystem eines Tages eine beliebte Spieleplattform für kom...
Open-Source-Ports kommerzieller Spiele-Engines
Kostenlose, quelloffene und plattformübergreifende Spiel-Engine-Nachbildungen können verwendet werden, um sowohl alte als auch einige der relativ neue...
Beste Befehlszeilenspiele für Linux
Die Befehlszeile ist nicht nur Ihr größter Verbündeter bei der Verwendung von Linux – sie kann auch eine Quelle der Unterhaltung sein, da Sie damit vi...