Lampone Pi

Protezione di Raspberry Pi con Firewall

Protezione di Raspberry Pi con Firewall

Se vuoi eseguire un qualche tipo di software server sul tuo Raspberry Pi (i.e., server web, server database, server Minecraft) e renderli pubblicamente disponibili su Internet (hosting), quindi proteggere il tuo server Raspberry Pi con un programma firewall è molto importante.

Ci sono molti programmi firewall gratuiti e open source disponibili sul sistema operativo Raspberry Pi (il sistema operativo ufficiale dei computer a scheda singola Raspberry Pi). Tra questi programmi, UFW e Firewalld sono i programmi firewall più comuni.

In questo articolo, userò il programma firewall UFW per mostrarti come proteggere il tuo Raspberry Pi. Quindi iniziamo.

Cose di cui avrai bisogno:

Per seguire questo articolo, avrai bisogno delle seguenti cose per configurare il tuo Raspberry Pi in modalità headless:

  1. Un computer a scheda singola Raspberry Pi 3 o Raspberry Pi 4.
  2. Un adattatore di alimentazione micro-USB (Raspberry Pi 3) o USB Type-C (Raspberry Pi 4).
  3. Una scheda microSD da 16 GB o 32 GB con sistema operativo Raspberry Pi lampeggia.
  4. Connettività di rete sul Raspberry Pi.
  5. Un laptop o un computer desktop per l'accesso al desktop remoto VNC o l'accesso SSH al Raspberry Pi.

Se non vuoi configurare il tuo Raspberry Pi 4 in modalità headless, avrai anche bisogno di:

  1. un monitor
  2. Un cavo HDMI o micro-HDMI
  3. Una tastiera
  4. Un topo.

Se hai bisogno di assistenza per eseguire il flashing dell'immagine del sistema operativo Raspberry Pi sulla scheda microSD, consulta il mio articolo Come installare e utilizzare Raspberry Pi Imager.

Se sei un principiante di Raspberry Pi e hai bisogno di assistenza per l'installazione del sistema operativo Raspberry Pi sul tuo Raspberry Pi, controlla il mio articolo Come installare il sistema operativo Raspberry Pi su Raspberry Pi 4.

Se hai bisogno di assistenza sulla configurazione headless di Raspberry Pi, controlla il mio articolo Come installare e configurare il sistema operativo Raspberry Pi su Raspberry Pi 4 senza monitor esterno.

Aggiornamento del sistema operativo Raspberry Pi:

Poiché stiamo cercando di proteggere il nostro Raspberry Pi, è una buona idea aggiornare tutti i pacchetti esistenti del sistema operativo Raspberry Pi. Ciò renderà il tuo sistema operativo Raspberry Pi più sicuro perché installerebbe tutti gli ultimi aggiornamenti di sicurezza e correzioni di bug.

Innanzitutto, aggiorna la cache del repository del pacchetto APT con il seguente comando:

$ sudo apt update


Per aggiornare tutti i pacchetti esistenti del tuo sistema operativo Raspberry Pi, esegui il seguente comando:

$ sudo apt aggiornamento completo


Per confermare l'installazione degli aggiornamenti, premere e poi premere <accedere>.


Il gestore di pacchetti APT scaricherà tutti i pacchetti richiesti da Internet. Potrebbe volerci un po' di tempo per completare.


Una volta scaricati i pacchetti, il gestore di pacchetti APT li installerà uno per uno. Potrebbe volerci un po' di tempo per completare.


A questo punto, tutti gli aggiornamenti dovrebbero essere installati.

Affinché le modifiche abbiano effetto, riavvia il tuo Raspberry Pi con il seguente comando:

$ sudo reboot

Installazione di UFW - Firewall semplice:

Una volta avviato il Raspberry Pi, puoi installare il programma firewall UFW con il seguente comando:

$ sudo apt install ufw -y


UFW dovrebbe essere installato.


Affinché le modifiche abbiano effetto, riavvia il tuo Raspberry Pi con il seguente comando:

$ sudo reboot


Una volta che il tuo Raspberry Pi si avvia, il ufw il servizio systemd dovrebbe essere attivo, come puoi vedere nello screenshot qui sotto.

$ sudo systemctl status ufw


Puoi verificare se UFW è abilitato con il seguente comando:

$ sudo ufw status


Come puoi vedere, UFW non è abilitato per impostazione predefinita.


Per abilitare UFW, esegui il seguente comando:

$ sudo ufw enable


Come puoi vedere, UFW è ora abilitato.

$ sudo ufw status

Consentire l'accesso alle porte utilizzando i profili delle app:

UFW ha alcuni profili di app predefiniti. Ciascuno dei profili dell'app ha alcune porte predefinite a cui è possibile consentire/negare l'accesso.

Per elencare tutti i profili delle app disponibili, esegui il seguente comando:

$ sudo ufw app list


Dovrebbero essere elencati tutti i profili delle app installate.

Se sei connesso al tuo Raspberry Pi tramite SSH o VNC (come me), devi consentire l'accesso al ApriSSH e VNC profili dell'app. Altrimenti, la prossima volta che avvii il tuo Raspberry Pi, non sarai in grado di accedervi da remoto poiché il firewall bloccherà tutte le porte, comprese le porte SSH e VNC. Quindi, questo è molto importante.


Puoi vedere quali porte sono definite nel profilo di un'app (i.e., ApriSSH) con il seguente comando:

$ sudo ufw info app OpenSSH


Come potete vedere, Porta TCP 22 è definito nel profilo dell'app ApriSSH.


Allo stesso modo, il Porta TCP 5900 è definito nel VNC profilo dell'app.

$ sudo ufw app info VNC


Per consentire l'accesso alle porte definite nel VNC profilo app, eseguire il comando seguente:

$ sudo ufw allow VNC


Come puoi vedere, il VNC il profilo dell'app è consentito attraverso il firewall.

$ sudo ufw status numerato


Allo stesso modo, consentire l'accesso alle porte definite nel ApriSSH profilo dell'app con il seguente comando:

$ sudo ufw allow OpenSSH


Come puoi vedere, il ApriSSH il profilo dell'app è consentito attraverso il firewall.

$ sudo ufw status numerato

Consentire l'accesso alle porte utilizzando il numero di porta:

A volte, la porta a cui si desidera consentire/negare l'accesso non sarà definita in nessun profilo di app disponibile. Quindi, dovrai consentire/negare l'accesso a queste porte utilizzando il numero di porta.

Ad esempio, puoi consentire l'accesso a to Porta TCP 8080 con il seguente comando:

$ sudo ufw allow 8080/tcp


Come puoi vedere, il Porta TCP 8080 è consentito l'accesso attraverso il firewall.

$ sudo ufw status numerato


Allo stesso modo, puoi consentire l'accesso al to Porta UDP 8888 con il seguente comando:

$ sudo ufw allow 8888/udp


Come puoi vedere, il Porta UDP 8888 è consentito l'accesso attraverso il firewall.

$ sudo ufw status numerato

Negare l'accesso alle porte:

Il comportamento predefinito del programma firewall UFW è negare tutto ciò che non è consentito. Quindi, non devi fare nulla per negare l'accesso a nessuna porta.

Per motivi di concorrenza, ti mostrerò comunque come negare i porti in UFW.

Ad esempio, per negare l'accesso al Porta TCP 9900, eseguire il seguente comando:

$ sudo ufw nega 9900/tcp


Come puoi vedere, il Porta TCP 9900 viene negato l'accesso attraverso il firewall.

$ sudo ufw status numerato


Allo stesso modo, puoi negare le porte definite in un profilo app (i.e.,  WWW) come segue:

$ sudo ufw nega WWW

Negare l'accesso al server a indirizzi IP specifici:

A volte potrebbe essere necessario negare l'accesso a un indirizzo IP o a una sottorete IP specifici per proteggere il server Raspberry Pi dagli attacchi DDoS (Distributed Denial of Service). Puoi farlo con UFW.

Per provare a negare gli indirizzi IP, userò il server web Apache.

Puoi installare il server web Apache sul tuo Raspberry Pi con il seguente comando:

$ sudo apt install apache2


Per confermare l'installazione, premere e poi premere <accedere>.


Il gestore di pacchetti APT scaricherà tutti i pacchetti da Internet e li installerà uno per uno. Potrebbe volerci un po' di tempo per completare.


A questo punto, il server web Apache dovrebbe essere installato.


Una volta installato il server web Apache, crea una semplice pagina di indice con il seguente comando:

$ eco "

Benvenuto in LinuxHint

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


Il apache2 il servizio systemd dovrebbe essere in esecuzione, come puoi vedere nello screenshot qui sotto.

$ sudo systemctl status apache2


Consenti l'accesso alla porta del server web Apache (Porta TCP 80) utilizzando il profilo dell'app WWW come segue:

$ sudo ufw consenti www


Come puoi vedere, le porte definite nel profilo dell'app WWW è consentito l'accesso attraverso il firewall.


Trova l'indirizzo IP del tuo Raspberry Pi con il seguente comando:

$ hostname -I


Come puoi vedere, l'indirizzo IP del mio Raspberry Pi è 192.168.0.106. Sarà diverso per te. Quindi, assicurati di sostituirlo con il tuo d'ora in poi.


Dovresti accedere al server web Apache da altri dispositivi, come puoi vedere nello screenshot qui sotto.


Il computer che sto utilizzando per accedere al server web Apache ha l'indirizzo IP 192.168.0.109.


Per negare l'indirizzo IP 192.168.0.109 accesso al tuo server Raspberry Pi, devi aggiungere la regola del firewall in alto (posizione 1). L'ordine delle regole UFW conta molto. Le regole più restrittive dovrebbero andare per prime.

$ sudo ufw status numerato


Per negare l'indirizzo IP 192.168.0.109 accedere al server Raspberry Pi, eseguire il seguente comando:

$ sudo ufw inserire 1 negare da 192.168.0.109 a qualsiasi


La regola UFW per negare l'indirizzo IP 192.168.0.109 l'accesso al server Raspberry Pi dovrebbe essere la regola più importante, come mostrato nello screenshot qui sotto.

$ sudo ufw status numerato


Non sarai in grado di accedere al server web Apache in esecuzione sul tuo Raspberry Pi dal computer con l'indirizzo IP 192.168.0.109 più, come puoi vedere nello screenshot qui sotto.


Tuttavia, puoi accedere al server web Apache in esecuzione sul tuo Raspberry Pi da altri computer.


Se vuoi negare l'accesso a una sottorete IP, devi aggiungere la regola UFW richiesta prima della regola che hai aggiunto in precedenza, poiché è una regola più restrittiva.

$ sudo ufw status numerato


Ad esempio, per negare l'accesso a tutti i computer in una sottorete IP 192.168.20.0/24, eseguire il seguente comando:

$ sudo ufw inserire 1 negare da 192.168.20.0/24 a qualsiasi


La regola UFW dovrebbe essere aggiunta nella posizione corretta, come mostrato nello screenshot qui sotto. Ora, nessun computer dalla sottorete IP 192.168.20.0/24 dovrebbe essere in grado di accedere al tuo server Raspberry Pi.

$ sudo ufw status numerato

Rimozione delle regole UFW:

A volte, potrebbe essere necessario rimuovere alcune regole UFW. È molto facile farlo.

Puoi elencare tutte le regole UFW disponibili con il seguente comando:

$ sudo ufw status numerato


Tutte le regole UFW disponibili dovrebbero essere elencate available. Supponiamo che tu voglia rimuovere la regola UFW numero 10 (regola alla decima posizione).


Per rimuovere la regola UFW numero 10, esegui il seguente comando:

$ sudo ufw delete 10


Per confermare l'operazione di rimozione, premere e poi premere <accedere>.


La regola UFW numero 10 dovrebbe essere rimossa.


Come puoi vedere, la regola UFW viene rimossa e le regole vengono riordinate (la regola UFW che era in posizione 11 è ora in posizione 10).

$ sudo ufw status numerato

Conclusione:

In questo articolo, ti ho mostrato come installare il programma firewall UFW sul tuo Raspberry Pi (eseguendo il sistema operativo Raspberry Pi). Ti ho anche mostrato come consentire/negare le porte utilizzando il programma firewall UFW. Ti ho mostrato come impedire a un indirizzo IP specifico o a una sottorete IP di accedere al Raspberry Pi utilizzando anche il programma firewall UFW.

Trackpad e puntatore del mouse su schermo AppyMouse per tablet Windows
Gli utenti di tablet spesso mancano il puntatore del mouse, soprattutto quando sono abituati a usare i laptop laptop. Gli smartphone e i tablet touchs...
Il pulsante centrale del mouse non funziona in Windows 10
Il tasto centrale del mouse ti aiuta a scorrere lunghe pagine web e schermate con molti dati. Se si ferma, finirai per usare la tastiera per lo scorri...
Come cambiare i pulsanti sinistro e destro del mouse su PC Windows 10
È abbastanza normale che tutti i mouse dei computer siano progettati ergonomicamente per gli utenti destrimani. Ma sono disponibili dispositivi mouse ...