Sono disponibili molte soluzioni firewall per sistemi operativi basati su Linux/Unix, come il sistema operativo Raspbian nel caso di Raspberry Pi. Queste soluzioni firewall hanno tabelle IP sottostanti per filtrare i pacchetti provenienti da diverse fonti e consentire solo a quelli legittimi di entrare nel sistema. Le tabelle IP sono installate in Raspberry Pi per impostazione predefinita ma non sono configurate. È un po' noioso impostare la tabella IP predefinita. Pertanto, utilizzeremo uno strumento alternativo, Uncomplicated Fire Wall (UFW), che è estremamente facile da configurare e utilizzare ufw.
Di seguito sono riportati alcuni esempi del comando ufw.
Esempi di comando ufw
1. Abilita ufw:
# ufw enable
2. Disabilita ufw:
# ufw disable
3. Mostra le regole ufw, insieme ai loro numeri:
# ufw status numbered
4. Consenti il traffico in entrata sulla porta 5432 su questo host con un commento che identifica il servizio:
# ufw allow 5432 comment "Service"
5. Consenti solo il traffico TCP da 192.168.0.4 a qualsiasi indirizzo su questo host, sulla porta 22:
# ufw allow proto tcp from 192.168.0.4 to any port 22
6. Nega il traffico sulla porta 80 su questo host:
7. Nega tutto il traffico UDP alle porte nell'intervallo 8412:8500:
# ufw deny proto udp from any to any port 8412:8500
8. Elimina una regola particolare. Il numero della regola può essere recuperato dal comando `ufw status numerato`:
# ufw delete rule_number
9. Verifica lo stato di UFW:
# ufw status
10. Aggiungi una nuova regola per consentire SSH:
# ufw allow ssh
11. In alternativa, puoi utilizzare un numero di porta per aprire una porta particolare:
# ufw allow 22
12. Consenti solo il traffico TCP su HTTP (porta 80):
# ufw allow http/tcp
13. Nega traffico FTP in entrata:
# ufw deny ftp
14. Controlla tutte le regole aggiunte prima di avviare il firewall:
# ufw show added
15. Ottieni un elenco numerato di regole aggiunte:
# ufw status numbered
16. Puoi anche consentire tutte le porte in un intervallo specificando un intervallo di porte:
# ufw allow 1050:5000/tcp
17. Se vuoi aprire tutte le porte per un particolare indirizzo IP, usa il seguente comando:
# ufw allow from 10.0.2.100
18 In alternativa, puoi consentire un'intera sottorete, come segue:
# ufw allow from 10.0.2.0/24
19. Puoi anche consentire o negare una porta specifica per un determinato indirizzo IP:
# ufw allow from 10.0.2.100 to any port 2222 # ufw deny from 10.0.2.100 to any port 5223
20. Per specificare un protocollo nella regola precedente, utilizzare il comando seguente:
# ufw deny from 10.0.2.100 proto tcp to any port 5223
21. Eliminazione regole:
# ufw delete allow ftp
22. Elimina le regole specificandone i numeri:
# ufw status numbered # ufw delete 2
23. Aggiungi una nuova regola a un numero specifico:
# ufw insert 1 allow 5222/tcp # Inserts a rule at number 1
24. Se desideri rifiutare le connessioni FTP in uscita, puoi utilizzare il seguente comando:
# ufw reject out ftp
25. UFW supporta anche i profili delle applicazioni. Per visualizzare tutti i profili dell'applicazione, utilizzare il comando seguente:
# ufw app list
26. Ottieni maggiori informazioni sul profilo dell'app utilizzando il comando seguente:
# ufw app info OpenSSH
27. Consenti il profilo dell'applicazione come segue:
# ufw allow OpenSSH
28. Imposta i livelli di registrazione ufw [off|low|medium|high|full] con l'aiuto del seguente comando:
# ufw logging medium
29. Visualizza i report del firewall con il parametro show:
# ufw show added # list of rules added # ufw show raw # show complete firewall
30 Reimposta ufw al suo stato predefinito (tutte le regole verranno salvate da UFW):
# ufw reset