Guide complet : Configurer un Pare-Feu sur Raspberry Pi

Le Raspberry Pi peut être utilisé pour tellement de choses qu’il est parfois important de prendre en compte les aspects relatifs à la sécurité dans nos projets. Une excellente mise en pratique consiste à installer un pare-feu sur le Raspberry Pi pour protéger les services ou les données hébergées. Dans cet article, je vais vous montrer comment en installer et en utiliser un facilement.

La manière la plus simple de configurer un pare-feu sur un Raspberry Pi est d’utiliser « UFW » (« Uncomplicated FireWall »). Il est disponible dans le dépôt par défaut et peut être configuré en quelques commandes.

Je vais d’abord introduire un peu de théorie, et vous aider à déterminer si l’installation d’un pare-feu sur votre Raspberry Pi est une bonne idée ou non. J’expliquerai ensuite comment le faire efficacement en quelques minutes.

À propos, si vous débutez sur Raspberry Pi et que vous souhaitez accélérer les choses (tout en vous amusant), n’hésitez pas à télécharger mon e-book Maitrisez Raspberry Pi en 30 jours. Il s’agit d’un défi de 30 jours dans lequel vous apprendrez une nouvelle compétence chaque jour. Vous économiserez du temps et de l’argent et pourrez enfin profiter de votre Raspberry Pi à son plein potentiel. Je vous offre d’ailleurs 10% de remise aujourd’hui si vous utilisez ce lien !

Avez-vous besoin d’un pare-feu sur Raspberry Pi ?

Bien qu’un pare-feu soit facultatif sur Raspberry Pi, il peut être efficace pour se prémunir contre les menaces potentielles. En fonction de la sécurité mise en œuvre sur le réseau, l’installation d’un pare-feu peut n’apporter que peu ou pas d’avantages, voire entraîner des complications.

Cependant, il est généralement judicieux d’installer un pare-feu sur les réseaux invités ou si votre Raspberry Pi héberge des applications critiques. Cela réduira le risque d’accès non autorisé et améliorera la sécurité globale.

Dans la plupart des cas, vous disposez déjà d’un pare-feu configuré sur votre routeur Internet, qui vous protège des menaces les plus courantes provenant d’Internet. Vous pouvez souvent le configurer pour qu’il soit plus ou moins strict, et qu’il protège également le trafic sur le réseau local ou non.

Vous vous trouvez alors dans la situation décrite dans la partie gauche de ce schéma :

Le but de ce tutoriel est de vous montrer comment ajouter une deuxième couche de sécurité à votre Raspberry Pi, pour le protéger encore davantage. Si vous avez un réseau local étendu, cela vous permettra de contrôler qui peut accéder à quoi. Si vous hébergez des services accessibles publiquement sur Internet et que vous transférez des ports, avoir cette deuxième couche de sécurité est probablement une bonne idée.

Je vous montrerai comment le faire facilement, quelles que soient vos motivations, mais assurez-vous que c’est vraiment utile dans votre situation.

Si vous avez déjà un pare-feu principal sur le réseau qui est correctement configuré pour refuser tout sauf le trafic autorisé, c’est probablement une mauvaise idée d’en ajouter un sur le Raspberry Pi. Vous devrez effectuer des modifications sur les deux pare-feu lorsque vous voudrez ouvrir un nouveau port, par exemple.

En rapport : 17 conseils pour sécuriser votre Raspberry Pi comme un pro

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Raspberry Pi OS dispose-t-il d’un pare-feu ?

Raspberry Pi OS dispose d’iptables installé par défaut, qui est souvent utilisé comme pare-feu sur les systèmes Linux. Cela peut cependant être compliqué à configurer, c’est pourquoi il est recommandé d’utiliser une autre solution comme « UFW ».

Pour rappel, UFW est l’abréviation de Uncomplicated FireWall, et ce n’est pas une application de pare-feu en soi, UFW s’appuie sur iptables. Il s’agit simplement d’une interface différente pour configurer iptables.

Pour vous donner un exemple, voici comment ouvrir le port 80 avec les deux commandes :

  • Iptables :
    sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
  • UFW :
    sudo ufw allow 80

Vous pouvez donc utiliser l’un ou l’autre, mais UFW est plus simple à utiliser et devrait suffire dans la plupart des cas.

Pour information, iptables est installé par défaut mais n’est pas activé sur Raspberry Pi OS. Donc si vous n’avez rien configuré, votre Raspberry Pi ne dispose d’aucun pare-feu.

Mettre en place et configurer un pare-feu sur Raspberry Pi

Nous allons maintenant voir comment installer et utiliser UFW sur Raspberry Pi, qui est une interface agréable pour iptables, ce qui facilite sa configuration.

Installer UFW sur Raspberry Pi

UFW est disponible dans le dépôt par défaut de la plupart des distributions Linux. Il installera automatiquement iptables comme prérequis s’il n’est pas déjà présent sur votre système.

Je teste ce tutoriel pour vous sur Raspberry Pi OS, mais il devrait fonctionner sur n’importe quelle distribution, car c’est un paquet essentiel qu’elles proposent toutes dans leur dépôt par défaut.

Sur Raspberry Pi OS et toute distribution basée sur Debian, vous pouvez installer UFW avec :
sudo apt update
sudo apt install ufw

Si vous utilisez une autre distribution, utilisez votre gestionnaire de paquets habituel, et les étapes suivantes devraient être les mêmes.

Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !

Configuration par défaut de UFW

Comme pour la plupart des pare-feu, la configuration par défaut, une fois UFW installé, est de refuser tout le trafic par défaut. Heureusement, UFW n’est pas automatiquement activé lors de l’installation, vous ne perdrez donc pas directement l’accès à votre Raspberry Pi.

Si vous êtes novice en la matière, sachez qu’un pare-feu utilise généralement un mode liste blanche par défaut, ce qui signifie que tout est bloqué à moins qu’il n’existe une règle autorisant spécifiquement ce type de trafic (protocole, port, IP source ou destination).

Dans ce cas, le trafic entrant est refusé et le trafic sortant est autorisé. Si vous activez UFW maintenant, vous perdrez l’accès à SSH, VNC et tout autre service hébergé sur ce serveur. Il faut donc commencer par lister les ports à ouvrir.

Autoriser un port sur un pare-feu

UFW étant configuré par défaut pour refuser tout trafic entrant, la principale chose à configurer est l’ouverture des ports nécessaires à vos services.

Si vous utilisez un site web, vous autoriserez HTTP (port 80). Si vous utilisez SSH, vous autorisez le port 22 (au moins pour votre ordinateur), etc.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

La syntaxe basique pour ce faire est la suivante :
ufw allow [PORT]
Ainsi, par exemple :
sudo ufw allow 80

Note : N’oubliez pas que des privilèges d’administrateur sont requis pour toutes les commandes du pare-feu, veillez donc à faire précéder toutes les commandes du préfixe « sudo » (plus de détails ici).

Si vous avez besoin de quelque chose de plus spécifique, quelques options supplémentaires sont disponibles avec la commande « allow » :

  • Spécifiez le protocole du port (TCP ou UDP) :
    ufw allow [PORT]/[PROTOCOLE]
    Exemple :
    sudo ufw allow 80/TCP
  • Spécifiez les adresses IP autorisées (source et destination) :
    ufw allow from [IP OU SOUS-RÉSEAU] to [IP] port [PORT]
    Exemples :
    sudo ufw allow from 192.168.1.10 to 192.168.1.20 port 80
    sudo ufw allow from 192.168.1.0/24 to 192.168.1.20 port 80

    Dans ces exemples, 192.168.1.20 est l’adresse IP du Raspberry Pi.
    1.10 peut être votre ordinateur, et 1.0/24 permet d’autoriser l’ensemble du réseau local.
  • Combiner toutes les options :
    ufw allow from [IP ou SOUS-RÉSEAU] proto [UDP/TCP] to [IP] port [PORT]

Voici quelques ressources supplémentaires qui pourraient être utiles à ce stade :

Bloquer un port sur un pare-feu

Vous pouvez configurer UFW pour qu’il bloque des ports spécifiques en utilisant pratiquement la même commande que celle utilisée pour les autoriser :
sudo ufw deny [PORT]
Et toutes les mêmes options supplémentaires.

Pour rappel, la politique par défaut d’UFW est de bloquer toutes les connexions entrantes, à moins que vous ne l’autorisiez explicitement. Vous n’aurez donc probablement pas besoin de cette commande, à moins que vous ne changiez la politique par défaut.

Par ailleurs, vous pouvez modifier la règle par défaut à l’aide de :
sudo ufw default allow incoming
Dans cet exemple, je reviens à un mode liste noire, où tout est autorisé à moins d’être explicitement bloqué.

Activer/désactiver le pare-feu

Une fois la configuration terminée, vous pouvez essayer d’activer le pare-feu avec :
sudo ufw enable

Toutes vos règles seront appliquées directement, et elles seront activées automatiquement au démarrage. Il se peut que vous perdiez temporairement la connexion avec votre Pi pendant ce processus :

Si quelque chose ne fonctionne pas, vous pouvez désactiver UFW à tout moment avec :
sudo ufw disable
Ajustez vos règles pour vous assurer que vous n’avez rien oublié ou que vous n’avez pas fait de faute de frappe, et réessayez.

État du pare-feu : liste des règles en vigueur

À ce stade, une autre commande qui peut s’avérer très utile consiste à afficher l’état du pare-feu. Non seulement vous verrez l’état actuel (actif ou inactif), mais vous verrez également toutes les règles que vous avez créées, listées dans un format facile à lire.

Pour obtenir le même type d’écran sur votre Raspberry Pi, utilisez :
sudo ufw status

Si nécessaire, le mode verbeux vous donnera également les politiques par défaut :
sudo ufw status verbose

Supprimer les règles existantes

Nous avons vu comment ajouter de nouvelles règles avec UFW (autoriser, refuser), mais comment en supprimer ?

La première étape consiste à afficher l’écran d’état précédent, mais en ajoutant l’ID des règles dans la liste, avec :
sudo ufw status numbered

Comme vous le verrez dans la capture d’écran ci-dessous, chaque règle est associée à un numéro. Vous pouvez donc les supprimer, avec :
sudo ufw delete [ID]

Après avoir utilisé iptables directement pendant des années, je ne saurais trop vous dire à quel point ce type de raccourcis est utile pour configurer et surveiller les pare-feu Linux :-).

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Vous comprenez l'anglais et en voulez encore plus ? Je publie une nouvelle leçon chaque mois, réservée à mes abonnés premium. Rejoignez la communauté dès maintenant pour y avoir accès !

Questions liées

Existe-t-il un moyen de gérer les règles de pare-feu à l’aide d’une interface graphique ?

Sur Raspberry Pi OS, il existe un outil nommé « GUFW » disponible dans le dépôt par défaut. Il permet de voir, d’ajouter ou de modifier des règles à partir d’UFW via une application de bureau. Il est également possible d’activer ou de désactiver des règles directement depuis l’interface.

Il se présente comme suit :

Dans l’ensemble, je ne pense pas que cela soit vraiment utile, car les commandes ne sont pas si compliquées et vous faites essentiellement la même chose via l’interface. Cela peut être utile si vous activez/désactivez souvent des règles ou le pare-feu entièrement, mais si vous ne le faites qu’une fois, j’utiliserais le terminal.

Quel est le meilleur pare-feu pour Raspberry Pi ?

De nombreuses solutions de pare-feu sont disponibles sur Raspberry Pi, mais elles sont toutes basées sur iptables. Ainsi, en termes de sécurité, peu importe lequel vous utilisez, il s’agit simplement d’interfaces différentes qui reposent sur la même couche de base.

J’ai publié plusieurs articles sur le site web qui pourraient vous intéresser si vous souhaitez mettre en place un pare-feu sur votre réseau :

Si vous avez d’autres questions, n’hésitez pas à les poser dans la communauté.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets où je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *