De nombreuses solutions de pare-feu sont disponibles pour les systèmes d'exploitation Linux/Unix, tels que Raspbian OS dans le cas de Raspberry Pi. Ces solutions de pare-feu ont des tables IP en dessous pour filtrer les paquets provenant de différentes sources et n'autoriser que les légitimes à entrer dans le système. Les tables IP sont installées par défaut dans Raspberry Pi mais ne sont pas configurées. Il est un peu fastidieux de mettre en place la table IP par défaut. Nous allons donc utiliser un autre outil, Uncomplicated Fire Wall (UFW), qui est extrêmement facile à configurer et à utiliser.
Vous trouverez ci-dessous quelques exemples de la commande ufw.
Exemples de commandes ufw
1. Activer ufw :
# ufw enable
2. Désactiver ufw :
# ufw disable
3. Afficher les règles ufw, ainsi que leurs numéros :
# ufw status numbered
4. Autorisez le trafic entrant sur le port 5432 sur cet hôte avec un commentaire identifiant le service :
# ufw allow 5432 comment "Service"
5. Autorisez uniquement le trafic TCP de 192.168.0.4 vers n'importe quelle adresse sur cet hôte, sur le port 22 :
# ufw allow proto tcp from 192.168.0.4 to any port 22
6. Refuser le trafic sur le port 80 sur cet hôte :
7. Refuser tout le trafic UDP vers les ports dans la plage 8412:8500 :
# ufw deny proto udp from any to any port 8412:8500
8. Supprimez une règle particulière. Le numéro de règle peut être récupéré à partir de la commande `ufw status numbered` :
# ufw delete rule_number
9. Vérifiez l'état d'UFW :
# ufw status
10. Ajoutez une nouvelle règle pour autoriser SSH :
# ufw allow ssh
11. Vous pouvez également utiliser un numéro de port pour ouvrir un port particulier :
# ufw allow 22
12. Autoriser uniquement le trafic TCP sur HTTP (port 80) :
# ufw allow http/tcp
13. Refuser le trafic FTP entrant :
# ufw deny ftp
14. Vérifiez toutes les règles ajoutées avant de démarrer le pare-feu :
# ufw show added
15. Obtenez une liste numérotée des règles ajoutées :
# ufw status numbered
16. Vous pouvez également autoriser tous les ports d'une plage en spécifiant une plage de ports :
# ufw allow 1050:5000/tcp
17. Si vous souhaitez ouvrir tous les ports pour une adresse IP particulière, utilisez la commande suivante :
# ufw allow from 10.0.2.100
18 Vous pouvez également autoriser un sous-réseau entier, comme suit :
# ufw allow from 10.0.2.0/24
19. Vous pouvez également autoriser ou refuser un port spécifique pour une adresse IP donnée :
# ufw allow from 10.0.2.100 to any port 2222 # ufw deny from 10.0.2.100 to any port 5223
20. Pour spécifier un protocole dans la règle précédente, utilisez la commande suivante :
# ufw deny from 10.0.2.100 proto tcp to any port 5223
21. Supprimer des règles :
# ufw delete allow ftp
22. Supprimez des règles en précisant leurs numéros :
# ufw status numbered # ufw delete 2
23. Ajoutez une nouvelle règle à un numéro spécifique :
# ufw insert 1 allow 5222/tcp # Inserts a rule at number 1
24. Si vous souhaitez rejeter les connexions FTP sortantes, vous pouvez utiliser la commande suivante :
# ufw reject out ftp
25. UFW prend également en charge les profils d'application. Pour afficher tous les profils d'application, utilisez la commande suivante :
# ufw app list
26. Obtenez plus d'informations sur le profil de l'application à l'aide de la commande suivante :
# ufw app info OpenSSH
27. Autorisez le profil d'application comme suit :
# ufw allow OpenSSH
28. Définissez les niveaux de journalisation ufw [off|low|medium|high|full] à l'aide de la commande suivante :
# ufw logging medium
29. Affichez les rapports de pare-feu avec le paramètre show :
# ufw show added # list of rules added # ufw show raw # show complete firewall
30 Réinitialisez ufw à son état par défaut (toutes les règles seront sauvegardées par UFW) :
# ufw reset