Si vous souhaitez exécuter une sorte de logiciel de serveur sur votre Raspberry Pi (I.e., Le serveur Web, le serveur de base de données, le serveur Minecraft) et les rendre publics 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 Raspberry Pi OS (le système d'exploitation officiel des ordinateurs monomodes Raspberry Pi). Parmi ces programmes, UFW et Firewalld sont les programmes de pare-feu les plus courants.
Dans cet article, j'utiliserai le programme de pare-feu UFW pour vous montrer comment sécuriser votre Raspberry Pi. Alors, commençons.
Des choses dont vous aurez besoin:
Pour suivre cet article, vous aurez besoin des choses suivantes pour configurer votre Raspberry Pi en mode sans tête:
Si vous ne souhaitez pas configurer votre Raspberry Pi 4 en mode sans tête, vous aurez également besoin:
Si vous avez besoin d'aide pour clignoter l'image Raspberry Pi OS sur la carte microSD, vérifiez mon article comment installer et utiliser Raspberry Pi Imageer.
Si vous êtes un débutant Raspberry Pi et que vous avez besoin d'aide pour installer Raspberry Pi OS sur votre framboise PI, vérifiez 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, vérifiez mon article comment installer et configurer Raspberry Pi OS sur Raspberry Pi 4 sans moniteur externe.
Mise à jour de Raspberry Pi OS:
Alors que nous essayons de sécuriser notre Raspberry Pi, c'est une bonne idée de mettre à jour tous les packages existants du Raspberry Pi OS. Cela rendra votre Raspberry Pi OS plus sécurisé car il installerait toutes les dernières mises à jour de sécurité et corrections de bogues.
Tout d'abord, mettez à jour le cache du référentiel de package APT avec la commande suivante:
$ sudo apt mise à jour
Pour mettre à jour tous les packages existants de votre Raspberry Pi OS, exécutez la commande suivante:
$ sudo apt complet
Pour confirmer l'installation des mises à jour, appuyez sur Y Et puis appuyez sur <Entrer>.
Le gestionnaire de packages APT téléchargera tous les packages requis à partir d'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 UFW - pare-feu simple:
Une fois vos bottes Raspberry Pi, 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 vos bottes de framboise Pi, le ufw 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 statut
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 statut
Autoriser l'accès aux ports à l'aide des profils d'applications:
UFW a quelques profils d'applications par défaut. Chacun des profils d'application a des ports prédéfinis auxquels vous pouvez autoriser / refuser l'accès.
Pour répertorier tous les profils d'applications disponibles, exécutez la commande suivante:
$ sudo ufw Liste des applications
Tous les profils d'applications installés doivent être répertoriés.
Si vous êtes connecté à votre Raspberry Pi via SSH ou VNC (comme moi), vous devez permettre l'accès au Opensh et VNC profils d'applications. Sinon, la prochaine fois que vous démarrez 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., Opensh) avec la commande suivante:
$ sudo ufw appo openSH
Comme tu peux le voir, Port TCP 22 est défini dans le profil de l'application Opensh.
De la même manière, le Port TCP 5900 est défini dans le VNC profil d'application.
$ sudo ufw appo vnc
Pour permettre l'accès aux ports définis dans le VNC Profil de l'application, exécutez la commande suivante:
$ sudo ufw autoriser VNC
Comme vous pouvez le voir, le VNC Le profil de l'application est autorisé via le pare-feu.
$ sudo ufw status numérotés
De la même manière, permettez l'accès aux ports définis dans le Opensh Profil de l'application avec la commande suivante:
$ sudo ufw autoriser OpenSSH
Comme vous pouvez le voir, le Opensh Le profil de l'application est autorisé via le pare-feu.
$ sudo ufw status numérotés
Autoriser l'accès aux ports à l'aide du numéro de port:
Parfois, le port auquel vous souhaitez permettre / refuser l'accès ne sera défini dans aucun profil d'application disponible. Vous devrez donc autoriser / refuser l'accès à ces ports à l'aide du numéro de port.
Par exemple, vous pouvez permettre 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és
De la même manière, vous pouvez permettre 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és
Refuser l'accès aux ports:
Le comportement par défaut du programme de pare-feu UFW est de nier tout ce qui n'est pas autorisé. Donc, vous n'avez rien à faire pour refuser l'accès à tous les ports.
Pour le bien de la compétition, je vais vous montrer comment nier les ports à UFW de toute façon.
Par exemple, refuser l'accès au Port TCP 9900, Exécutez la commande suivante:
$ sudo ufw nier 9900 / TCP
Comme vous pouvez le voir, le Port TCP 9900 est refusé l'accès via le pare-feu.
$ sudo ufw status numérotés
De la même manière, vous pouvez nier les ports définis dans un profil d'application (i.e., Www) comme suit:
$ sudo ufw nier www
Refuser l'accès à des adresses IP spécifiques au serveur:
Parfois, vous devrez peut-être refuser l'accès à une adresse IP spécifique ou à un sous-réseau IP pour protéger votre serveur Raspberry Pi contre les attaques DDOS (déni de service distribué). Vous pouvez le faire avec UFW.
Pour expérimenter 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 install apache2
Pour confirmer l'installation, appuyez sur Y Et puis appuyez sur <Entrer>.
Le gestionnaire de packages APT téléchargera tous les packages sur 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 page d'index simple avec la commande suivante:
$ echo "Bienvenue à 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 de serveur Web Apache (Port TCP 80) Utilisation du profil d'application Www comme suit:
$ sudo ufw permettre 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:
$ hostname -i
Comme vous pouvez le voir, l'adresse IP de mon Raspberry Pi est 192.168.0.106. Ce sera différent pour vous. 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 nier l'adresse IP 192.168.0.109 Accès à votre serveur Raspberry Pi, vous devez ajouter la règle du pare-feu en haut (position 1). L'ordre des règles de l'UFW est beaucoup importante. Les règles les plus restrictives devraient passer en premier.
$ sudo ufw status numérotés
Pour nier l'adresse IP 192.168.0.109 Accès au serveur Raspberry Pi, exécutez la commande suivante:
$ sudo ufw insert 1 nier 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 haute, comme indiqué dans la capture d'écran ci-dessous.
$ sudo ufw status numérotés
Vous ne pourrez pas accéder au serveur Web Apache en cours d'exécution sur votre Raspberry Pi à partir de 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 fonctionnant 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 plus tôt, car c'est une règle plus restrictive.
$ sudo ufw status numérotés
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 insert 1 nier de 192.168.20.0/24 à n'importe quel
La règle UFW doit être ajoutée dans la position correcte, 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és
Suppression des règles UFW:
Parfois, vous devrez peut-être supprimer certaines règles UFW. Il est très facile de le faire.
Vous pouvez répertorier toutes les règles UFW disponibles avec la commande suivante:
$ sudo ufw status numérotés
Toutes les règles UFW disponibles doivent être répertoriées. Disons que vous souhaitez supprimer la règle UFW numéro 10 (règle en 10e 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 Y Et puis appuyez sur <Entrer>.
La règle UFW numéro 10 doit ê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és
Conclusion:
Dans cet article, je vous ai montré comment installer le programme de pare-feu UFW sur votre Raspberry Pi (exécuter le Raspberry Pi OS). Je vous ai également montré comment autoriser / refuser les ports en utilisant le programme de pare-feu UFW. Je vous ai montré comment refuser une adresse IP spécifique ou un sous-réseau IP en accédant au Raspberry Pi à l'aide du programme de pare-feu UFW également.