Hindbær Pi

Sikring af Raspberry Pi med Firewall

Sikring af Raspberry Pi med Firewall

Hvis du vil køre en slags serversoftware på din Raspberry Pi (i.e., webserver, databaseserver, Minecraft-server) og gør dem offentligt tilgængelige på internettet (hosting), så det er meget vigtigt at sikre din Raspberry Pi-server med et firewall-program.

Der er mange gratis og open source-firewallprogrammer tilgængelige på Raspberry Pi OS (det officielle operativsystem til Raspberry Pi single-board computere). Blandt disse programmer er UFW og Firewalld de mest almindelige firewall-programmer.

I denne artikel vil jeg bruge UFW-firewallprogrammet til at vise dig, hvordan du sikrer din Raspberry Pi. Så lad os komme i gang.

Ting, du har brug for:

For at følge denne artikel skal du bruge følgende ting for at konfigurere din Raspberry Pi i hovedløs tilstand:

  1. En Raspberry Pi 3 eller Raspberry Pi 4 single-board computer.
  2. En micro-USB (Raspberry Pi 3) eller USB Type-C (Raspberry Pi 4) strømadapter.
  3. Et 16 GB eller 32 GB microSD-kort med Raspberry Pi OS blinkede.
  4. Netværksforbindelse på Raspberry Pi.
  5. En bærbar computer eller en stationær computer til VNC fjernadgang til desktop eller SSH-adgang til Raspberry Pi.

Hvis du ikke vil konfigurere din Raspberry Pi 4 i hovedløs tilstand, har du også brug for:

  1. En skærm
  2. Et HDMI- eller mikro-HDMI-kabel
  3. Et tastatur
  4. En mus.

Hvis du har brug for hjælp til at blinke Raspberry Pi OS-billedet på microSD-kortet, se min artikel Sådan installeres og bruges Raspberry Pi Imager.

Hvis du er en Raspberry Pi-nybegynder og har brug for hjælp til installation af Raspberry Pi OS på din Raspberry Pi, skal du tjekke min artikel Sådan installeres Raspberry Pi OS på Raspberry Pi 4.

Hvis du har brug for hjælp til den hovedløse opsætning af Raspberry Pi, skal du tjekke min artikel Sådan installeres og konfigureres Raspberry Pi OS på Raspberry Pi 4 uden ekstern skærm.

Opdatering af Raspberry Pi OS:

Da vi forsøger at sikre vores Raspberry Pi, er det en god ide at opdatere alle de eksisterende pakker til Raspberry Pi OS. Dette vil gøre dit Raspberry Pi OS mere sikkert, fordi det ville installere alle de nyeste sikkerhedsopdateringer og fejlrettelser.

Opdater først APT-pakkeopbevaringscachen med følgende kommando:

$ sudo apt opdatering


For at opdatere alle eksisterende pakker i dit Raspberry Pi OS skal du køre følgende kommando:

$ sudo apt fuld-opgradering


Tryk på for at bekræfte installationen af ​​opdateringerne Y og tryk derefter på <Gå ind>.


APT-pakkehåndteringen downloader alle de krævede pakker fra internettet. Det kan tage et stykke tid at gennemføre.


Når pakkerne er downloadet, installerer APT-pakkehåndteringen dem en efter en. Det kan tage et stykke tid at gennemføre.


På dette tidspunkt skal alle opdateringer installeres.

For at ændringerne skal træde i kraft, skal du genstarte din Raspberry Pi med følgende kommando:

$ sudo genstart

Installation af UFW - ukompliceret firewall:

Når din Raspberry Pi er startet, kan du installere UFW-firewallprogrammet med følgende kommando:

$ sudo apt installere ufw -y


UFW skal installeres.


For at ændringerne skal træde i kraft, skal du genstarte din Raspberry Pi med følgende kommando:

$ sudo genstart


Når din Raspberry Pi er startet, er ufw systemd-tjenesten skal være aktiv, som du kan se på skærmbilledet nedenfor.

$ sudo systemctl status ufw


Du kan kontrollere, om UFW er aktiveret med følgende kommando:

$ sudo ufw status


Som du kan se, er UFW ikke aktiveret som standard.


For at aktivere UFW skal du køre følgende kommando:

$ sudo ufw aktivere


Som du kan se, er UFW nu aktiveret.

$ sudo ufw status

Tillad adgang til porte ved hjælp af appprofiler:

UFW har nogle standardapprofiler. Hver af appprofilerne har nogle foruddefinerede porte, som du kan tillade / nægte adgang til.

For at liste alle tilgængelige appprofiler skal du køre følgende kommando:

$ sudo ufw app liste


Alle de installerede appprofiler skal vises.

Hvis du har forbindelse til din Raspberry Pi via SSH eller VNC (som mig), skal du give adgang til OpenSSH og VNC app-profiler. Ellers, næste gang du starter din Raspberry Pi, kan du ikke få adgang til den eksternt, da firewallen blokerer alle porte, inklusive SSH- og VNC-porte. Så dette er meget vigtigt.


Du kan se, hvilke porte der er defineret i en appprofil (i.e., OpenSSH) med følgende kommando:

$ sudo ufw appinfo OpenSSH


Som du kan se, TCP-port 22 er defineret i app-profilen OpenSSH.


På samme måde er TCP-port 5900 er defineret i VNC app-profil.

$ sudo ufw app info VNC


For at give adgang til de porte, der er defineret i VNC appprofil, kør følgende kommando:

$ sudo ufw tillader VNC


Som du kan se, er VNC app-profil er tilladt gennem firewallen.

$ sudo ufw status nummereret


Tillad på samme måde adgang til de porte, der er defineret i OpenSSH app-profil med følgende kommando:

$ sudo ufw tillader OpenSSH


Som du kan se, er OpenSSH app-profil er tilladt gennem firewallen.

$ sudo ufw status nummereret

Tillader adgang til porte ved hjælp af portnummer:

Til tider vil den port, du vil tillade / nægte adgang til, ikke blive defineret i nogen tilgængelige appprofiler. Så du bliver nødt til at tillade / nægte adgang til disse porte ved hjælp af portnummeret.

For eksempel kan du give adgang til TCP-port 8080 med følgende kommando:

$ sudo ufw tillader 8080 / tcp


Som du kan se, er TCP-port 8080 har adgang via firewall.

$ sudo ufw status nummereret


På samme måde kan du give adgang til UDP-port 8888 med følgende kommando:

$ sudo ufw tillader 8888 / udp


Som du kan se, er UDP-port 8888 har adgang via firewall.

$ sudo ufw status nummereret

Nægtelse af adgang til porte:

UFW-firewall-programmets standardopførsel er at benægte alt, hvad der ikke er tilladt. Så du behøver ikke gøre noget for at nægte adgang til nogen porte.

Af hensyn til konkurrencen vil jeg alligevel vise dig, hvordan du nægter havne i UFW.

For eksempel at nægte adgang til TCP-port 9900, kør følgende kommando:

$ sudo ufw benægter 9900 / tcp


Som du kan se, er TCP-port 9900 nægtes adgang gennem firewallen.

$ sudo ufw status nummereret


På samme måde kan du nægte de porte, der er defineret i en appprofil (i.e.,  WWW) som følger:

$ sudo ufw benægter WWW

Nægtelse af specifikke IP-adresser adgang til serveren:

Til tider skal du muligvis nægte adgang til en bestemt IP-adresse eller IP-undernet for at beskytte din Raspberry Pi-server mod DDoS (Distribueret Denial of Service) -angreb. Du kan gøre det med UFW.

For at eksperimentere med at nægte IP-adresser bruger jeg Apache-webserveren.

Du kan installere Apache-webserveren på din Raspberry Pi med følgende kommando:

$ sudo apt installere apache2


Tryk på for at bekræfte installationen Y og tryk derefter på <Gå ind>.


APT-pakkehåndteringen downloader alle pakkerne fra internettet og installerer dem en efter en. Det kan tage et stykke tid at gennemføre.


På dette tidspunkt skal Apache-webserveren installeres.


Når Apache-webserveren er installeret, skal du oprette en simpel indeksside med følgende kommando:

$ echo "

Velkommen til LinuxHint

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


Det apache2 systemd-tjenesten skal køre, som du kan se på skærmbilledet nedenfor.

$ sudo systemctl status apache2


Tillad adgang til Apache-webserverporten (TCP-port 80) ved hjælp af app-profilen WWW som følger:

$ sudo ufw tillad www


Som du kan se, er portene defineret i appprofilen WWW har adgang via firewall.


Find IP-adressen på din Raspberry Pi med følgende kommando:

$ værtsnavn -I


Som du kan se, er IP-adressen på min Raspberry Pi 192.168.0.106. Det vil være anderledes for dig. Så sørg for at erstatte den med din fra nu af.


Du skal få adgang til Apache-webserveren fra andre enheder, som du kan se i skærmbilledet nedenfor.


Den computer, jeg bruger til at få adgang til Apache-webserveren, har IP-adressen 192.168.0.109.


At nægte IP-adressen 192.168.0.109 adgang til din Raspberry Pi-server, skal du tilføje firewallreglen øverst (position 1). Ordren på UFW-reglerne betyder meget. De mest restriktive regler skal gå først.

$ sudo ufw status nummereret


At nægte IP-adressen 192.168.0.109 adgang til Raspberry Pi-serveren, kør følgende kommando:

$ sudo ufw indsæt 1 benægtelse fra 192.168.0.109 til enhver


UFW-reglen om at benægte IP-adressen 192.168.0.109 adgang til Raspberry Pi-serveren skal være den øverste regel, som vist i skærmbilledet nedenfor.

$ sudo ufw status nummereret


Du kan ikke få adgang til Apache-webserveren, der kører på din Raspberry Pi fra computeren med IP-adressen 192.168.0.109 længere, som du kan se på skærmbilledet nedenfor.


Men du kan få adgang til Apache-webserveren, der kører på din Raspberry Pi fra andre computere.


Hvis du vil nægte adgang til et IP-undernet, skal du tilføje den krævede UFW-regel før den regel, du har tilføjet tidligere, da det er en mere restriktiv regel.

$ sudo ufw status nummereret


For eksempel at nægte adgang til enhver computer i et IP-undernet 192.168.20.0/24, kør følgende kommando:

$ sudo ufw indsæt 1 benægtelse fra 192.168.20.0/24 til enhver


UFW-reglen skal tilføjes i den rigtige position som vist i skærmbilledet nedenfor. Nu er der ingen computer fra IP-subnet 192.168.20.0/24 skal kunne få adgang til din Raspberry Pi-server.

$ sudo ufw status nummereret

Fjernelse af UFW-regler:

Til tider skal du muligvis fjerne nogle UFW-regler. Det er meget let at gøre det.

Du kan liste alle tilgængelige UFW-regler med følgende kommando:

$ sudo ufw status nummereret


Alle de tilgængelige UFW-regler skal anføres. Lad os sige, at du vil fjerne UFW-regel nummer 10 (regel på 10. position).


For at fjerne UFW-regel nummer 10 skal du køre følgende kommando:

$ sudo ufw slet 10


Tryk på for at bekræfte fjernelsen Y og tryk derefter på <Gå ind>.


UFW-regel nummer 10 skal fjernes.


Som du kan se, fjernes UFW-reglen, og reglerne omordnes (UFW-reglen, der var i position 11, er nu i position 10).

$ sudo ufw status nummereret

Konklusion:

I denne artikel har jeg vist dig, hvordan du installerer UFW-firewall-programmet på din Raspberry Pi (kører Raspberry Pi OS). Jeg har også vist dig, hvordan du tillader / nægter porte ved hjælp af UFW-firewallprogrammet. Jeg har vist dig, hvordan du nægter en bestemt IP-adresse eller et IP-subnet fra at få adgang til Raspberry Pi ved hjælp af UFW-firewallprogrammet også.

Mus Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
De fleste Linux-distributioner leveres som standard med "libinput" -biblioteket til at håndtere inputhændelser på et system. Det kan behandle inputhæn...
Mus Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Måske har du brug for et værktøj, der kan ændre din muses kontrol med hver applikation, du bruger. Hvis dette er tilfældet, kan du prøve en applikatio...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har for nylig læst om Microsoft Sculpt Touch trådløs mus og besluttede at købe den. Efter at have brugt det et stykke tid besluttede jeg at dele m...