Tarte aux framboises

Sécuriser Raspberry Pi avec un pare-feu

Sécuriser Raspberry Pi avec un pare-feu

Si vous souhaitez exécuter une sorte de logiciel serveur sur votre Raspberry Pi (i.e., serveur Web, serveur de base de données, serveur Minecraft) et les rendre accessibles au public sur Internet (hébergement), puis sécuriser votre serveur Raspberry Pi avec un programme de pare-feu est très important.

Il existe de nombreux programmes de pare-feu gratuits et open source disponibles sur le système d'exploitation Raspberry Pi (le système d'exploitation officiel des ordinateurs monocarte Raspberry Pi). Parmi ces programmes, UFW et Firewalld sont les programmes de pare-feu les plus courants.

Dans cet article, je vais utiliser le programme de pare-feu UFW pour vous montrer comment sécuriser votre Raspberry Pi. Alors, commençons.

Choses dont vous aurez besoin :

Pour suivre cet article, vous aurez besoin des éléments suivants pour configurer votre Raspberry Pi en mode sans tête :

  1. Un ordinateur monocarte Raspberry Pi 3 ou Raspberry Pi 4.
  2. Un adaptateur secteur micro-USB (Raspberry Pi 3) ou USB Type-C (Raspberry Pi 4).
  3. Une carte microSD de 16 Go ou 32 Go avec Raspberry Pi OS flashé.
  4. Connectivité réseau sur le Raspberry Pi.
  5. Un ordinateur portable ou un ordinateur de bureau pour un accès au bureau à distance VNC ou un accès SSH au Raspberry Pi.

Si vous ne souhaitez pas configurer votre Raspberry Pi 4 en mode sans tête, vous aurez également besoin de :

  1. Un moniteur
  2. Un câble HDMI ou micro-HDMI
  3. Un clavier
  4. Une souris.

Si vous avez besoin d'aide pour flasher l'image Raspberry Pi OS sur la carte microSD, consultez mon article Comment installer et utiliser Raspberry Pi Imager.

Si vous êtes un débutant Raspberry Pi et avez besoin d'aide pour installer Raspberry Pi OS sur votre Raspberry Pi, consultez mon article Comment installer Raspberry Pi OS sur Raspberry Pi 4.

Si vous avez besoin d'aide sur la configuration sans tête de Raspberry Pi, consultez mon article Comment installer et configurer le système d'exploitation Raspberry Pi sur Raspberry Pi 4 sans moniteur externe.

Mise à jour du système d'exploitation Raspberry Pi :

Comme nous essayons de sécuriser notre Raspberry Pi, c'est une bonne idée de mettre à jour tous les packages existants du système d'exploitation Raspberry Pi. Cela rendra votre système d'exploitation Raspberry Pi plus sécurisé car il installera toutes les dernières mises à jour de sécurité et corrections de bugs.

Tout d'abord, mettez à jour le cache du référentiel de packages APT avec la commande suivante :

$ sudo apt mise à jour


Pour mettre à jour tous les packages existants de votre système d'exploitation Raspberry Pi, exécutez la commande suivante :

$ sudo apt mise à niveau complète


Pour confirmer l'installation des mises à jour, appuyez sur Oui puis appuyez sur <Entrer>.


Le gestionnaire de packages APT téléchargera tous les packages requis sur Internet. Cela peut prendre un certain temps pour terminer.


Une fois les packages téléchargés, le gestionnaire de packages APT les installera un par un. Cela peut prendre un certain temps pour terminer.


À ce stade, toutes les mises à jour doivent être installées.

Pour que les modifications prennent effet, redémarrez votre Raspberry Pi avec la commande suivante :

$ sudo redémarrer

Installation d'UFW - Pare-feu simple :

Une fois votre Raspberry Pi démarré, vous pouvez installer le programme de pare-feu UFW avec la commande suivante :

$ sudo apt install ufw -y


UFW doit être installé.


Pour que les modifications prennent effet, redémarrez votre Raspberry Pi avec la commande suivante :

$ sudo redémarrer


Une fois votre Raspberry Pi démarré, le euh Le service systemd doit être actif, comme vous pouvez le voir dans la capture d'écran ci-dessous.

$ sudo systemctl status ufw


Vous pouvez vérifier si UFW est activé avec la commande suivante :

$ sudo ufw status


Comme vous pouvez le voir, UFW n'est pas activé par défaut.


Pour activer UFW, exécutez la commande suivante :

$ sudo ufw activer


Comme vous pouvez le voir, UFW est maintenant activé.

$ sudo ufw status

Autoriser l'accès aux ports à l'aide des profils d'application :

UFW a des profils d'application par défaut. Chacun des profils d'application possède des ports prédéfinis auxquels vous pouvez autoriser/refuser l'accès.

Pour répertorier tous les profils d'application disponibles, exécutez la commande suivante :

$ sudo ufw liste des applications


Tous les profils d'application installés doivent être répertoriés.

Si vous êtes connecté à votre Raspberry Pi via SSH ou VNC (comme moi), vous devez autoriser l'accès au OpenSSH et VNC profils d'application. Sinon, la prochaine fois que vous démarrerez votre Raspberry Pi, vous ne pourrez pas y accéder à distance car le pare-feu bloquera tous les ports, y compris les ports SSH et VNC. Donc, c'est très important.


Vous pouvez voir quels ports sont définis dans un profil d'application (i.e., OpenSSH) avec la commande suivante :

$ sudo ufw infos sur l'application OpenSSH


Comme tu peux le voir, Port TCP 22 est défini dans le profil de l'application OpenSSH.


De la même manière, le Port TCP 5900 est défini dans le VNC profil d'application.

$ sudo ufw infos sur l'application VNC


Pour autoriser l'accès aux ports définis dans le VNC profil d'application, exécutez la commande suivante :

$ sudo ufw autoriser VNC


Comme vous pouvez le voir, le VNC le profil d'application est autorisé à travers le pare-feu.

$ sudo ufw status numéroté


De la même manière, autorisez l'accès aux ports définis dans le OpenSSH profil de l'application avec la commande suivante :

$ sudo ufw autoriser OpenSSH


Comme vous pouvez le voir, le OpenSSH le profil d'application est autorisé à travers le pare-feu.

$ sudo ufw status numéroté

Autoriser l'accès aux ports à l'aide du numéro de port :

Parfois, le port auquel vous souhaitez autoriser/refuser l'accès ne sera défini dans aucun profil d'application disponible. Vous devrez donc autoriser/refuser l'accès à ces ports en utilisant le numéro de port.

Par exemple, vous pouvez autoriser l'accès au Port TCP 8080 avec la commande suivante :

$ sudo ufw autoriser 8080/tcp


Comme vous pouvez le voir, le Port TCP 8080 est autorisé à accéder via le pare-feu.

$ sudo ufw status numéroté


De la même manière, vous pouvez autoriser l'accès au Port UDP 8888 avec la commande suivante :

$ sudo ufw autoriser 8888/udp


Comme vous pouvez le voir, le Port UDP 8888 est autorisé à accéder via le pare-feu.

$ sudo ufw status numéroté

Refuser l'accès aux ports :

Le comportement par défaut du programme de pare-feu UFW est de refuser tout ce qui n'est pas autorisé. Ainsi, vous n'avez rien à faire pour refuser l'accès à des ports.

Par souci de concurrence, je vais vous montrer comment refuser les ports dans UFW de toute façon.

Par exemple, pour refuser l'accès au Port TCP 9900, exécutez la commande suivante :

$ sudo ufw refuser 9900/tcp


Comme vous pouvez le voir, le Port TCP 9900 se voit refuser l'accès via le pare-feu.

$ sudo ufw status numéroté


De la même manière, vous pouvez refuser les ports définis dans un profil d'application (i.e.,  WWW) comme suit:

$ sudo ufw refuser WWW

Refuser l'accès d'adresses IP spécifiques au serveur :

Parfois, vous devrez peut-être refuser l'accès à une adresse IP ou à un sous-réseau IP spécifique pour protéger votre serveur Raspberry Pi contre les attaques DDoS (Distributed Denial of Service). Vous pouvez le faire avec UFW.

Pour expérimenter avec le refus d'adresses IP, j'utiliserai le serveur Web Apache.

Vous pouvez installer le serveur Web Apache sur votre Raspberry Pi avec la commande suivante :

$ sudo apt installer apache2


Pour confirmer l'installation, appuyez sur Oui puis appuyez sur <Entrer>.


Le gestionnaire de packages APT téléchargera tous les packages depuis Internet et les installera un par un. Cela peut prendre un certain temps pour terminer.


À ce stade, le serveur Web Apache doit être installé.


Une fois le serveur web Apache installé, créez une simple page d'index avec la commande suivante :

$ echo "

Bienvenue sur LinuxHint

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


le apache2 Le service systemd devrait être en cours d'exécution, comme vous pouvez le voir dans la capture d'écran ci-dessous.

$ sudo systemctl status apache2


Autoriser l'accès au port du serveur Web Apache (Port TCP 80) en utilisant le profil de l'application WWW comme suit:

$ sudo ufw autoriser www


Comme vous pouvez le voir, les ports définis dans le profil de l'application WWW est autorisé à accéder via le pare-feu.


Trouvez l'adresse IP de votre Raspberry Pi avec la commande suivante :

$ nom d'hôte -I


Comme vous pouvez le voir, l'adresse IP de mon Raspberry Pi est 192.168.0.106. Ce sera différent pour toi. Alors, assurez-vous de le remplacer par le vôtre à partir de maintenant.


Vous devez accéder au serveur Web Apache à partir d'autres appareils, comme vous pouvez le voir dans la capture d'écran ci-dessous.


L'ordinateur que j'utilise pour accéder au serveur Web Apache a l'adresse IP 192.168.0.109.


Pour refuser l'adresse IP 192.168.0.109 accès à votre serveur Raspberry Pi, vous devez ajouter la règle de pare-feu en haut (position 1). L'ordre des règles de l'UFW compte beaucoup. Les règles les plus restrictives devraient passer en premier.

$ sudo ufw status numéroté


Pour refuser l'adresse IP 192.168.0.109 accéder au serveur Raspberry Pi, exécutez la commande suivante :

$ sudo ufw insérer 1 refuser de 192.168.0.109 à n'importe quel


La règle UFW pour refuser l'adresse IP 192.168.0.109 l'accès au serveur Raspberry Pi doit être la règle la plus élevée, comme le montre la capture d'écran ci-dessous.

$ sudo ufw status numéroté


Vous ne pourrez pas accéder au serveur Web Apache exécuté sur votre Raspberry Pi depuis l'ordinateur avec l'adresse IP 192.168.0.109 plus, comme vous pouvez le voir dans la capture d'écran ci-dessous.


Mais, vous pouvez accéder au serveur Web Apache exécuté sur votre Raspberry Pi à partir d'autres ordinateurs.


Si vous souhaitez refuser l'accès à un sous-réseau IP, vous devez ajouter la règle UFW requise avant la règle que vous avez ajoutée précédemment, car il s'agit d'une règle plus restrictive.

$ sudo ufw status numéroté


Par exemple, pour refuser l'accès à chaque ordinateur d'un sous-réseau IP 192.168.20.0/24, exécutez la commande suivante :

$ sudo ufw insérer 1 refuser de 192.168.20.0/24 à tout


La règle UFW doit être ajoutée à la bonne position, comme indiqué dans la capture d'écran ci-dessous. Maintenant, aucun ordinateur du sous-réseau IP 192.168.20.0/24 devrait pouvoir accéder à votre serveur Raspberry Pi.

$ sudo ufw status numéroté

Suppression des règles UFW :

Parfois, vous devrez peut-être supprimer certaines règles UFW. C'est très facile à faire.

Vous pouvez lister toutes les règles UFW disponibles avec la commande suivante :

$ sudo ufw status numéroté


Toutes les règles UFW disponibles doivent être répertoriées. Disons que vous voulez supprimer la règle UFW numéro 10 (règle à la 10ème position).


Pour supprimer la règle UFW numéro 10, exécutez la commande suivante :

$ sudo ufw supprimer 10


Pour confirmer l'opération de suppression, appuyez sur Oui puis appuyez sur <Entrer>.


La règle UFW numéro 10 devrait être supprimée.


Comme vous pouvez le voir, la règle UFW est supprimée et les règles sont réorganisées (la règle UFW qui était en position 11 est maintenant en position 10).

$ sudo ufw status numéroté

Conclusion:

Dans cet article, je vous ai montré comment installer le programme de pare-feu UFW sur votre Raspberry Pi (exécutant le système d'exploitation Raspberry Pi). Je vous ai également montré comment autoriser/refuser des ports à l'aide du programme de pare-feu UFW. Je vous ai montré comment empêcher une adresse IP spécifique ou un sous-réseau IP d'accéder au Raspberry Pi à l'aide du programme de pare-feu UFW.

Émulez les clics de souris en survolant à l'aide de la souris sans clic dans Windows 10
L'utilisation d'une souris ou d'un clavier dans la mauvaise posture d'une utilisation excessive peut entraîner de nombreux problèmes de santé, notamme...
Ajoutez des gestes de souris à Windows 10 à l'aide de ces outils gratuits
Ces dernières années, les ordinateurs et les systèmes d'exploitation ont considérablement évolué. Il fut un temps où les utilisateurs devaient utilise...
Contrôlez et gérez le mouvement de la souris entre plusieurs moniteurs dans Windows 10
Gestionnaire de souris à double affichage vous permet de contrôler et de configurer le mouvement de la souris entre plusieurs moniteurs, en ralentissa...