in

Comment démarrer avec pare-feu sous Linux

Points clés à retenir

Si vous recherchez un pare-feu pour Linux moderne et puissant, facile à configurer en ligne de commande ou avec son interface GUI, alors firewalld c’est probablement ce que vous recherchez.

Cet article de la Semaine de sensibilisation à la cybersécurité vous est présenté en association avec Incogni.

Pourquoi avez-vous besoin d’un pare-feu ?

Les connexions réseau ont une origine et une destination. Le logiciel à l’origine demande la connexion et le logiciel à la destination l’accepte ou la refuse. S’il est accepté, les paquets de données – généralement appelés trafic réseau – peuvent transiter dans les deux sens via la connexion. Cela est vrai que vous partagiez dans la pièce de votre propre maison, que vous vous connectiez à distance au travail depuis votre bureau à domicile ou que vous utilisiez une ressource distante basée sur le cloud.

Les bonnes pratiques de sécurité stipulent que vous devez limiter et contrôler les connexions à votre ordinateur. C’est ce que font les pare-feu. Ils filtrent le trafic réseau par adresse IP, port ou protocole et rejettent les connexions qui ne répondent pas à un ensemble prédéfini de critères (les règles de pare-feu) que vous avez configurés. Ils sont comme le personnel de sécurité lors d’un événement exclusif. Si votre nom n’est pas sur la liste, vous n’y entrez pas.

Bien entendu, vous ne voulez pas que vos règles de pare-feu soient si restrictives que vos activités normales soient réduites. Plus il est simple de configurer votre pare-feu, moins vous avez de risques de mettre en place par inadvertance des règles contradictoires ou draconiennes. Nous entendons souvent des utilisateurs dire qu’ils n’utilisent pas de pare-feu parce que c’est trop compliqué à comprendre ou que la syntaxe des commandes est trop opaque.

Le firewalld Le pare-feu est puissant mais simple à configurer, à la fois sur la ligne de commande et via son application GUI dédiée. Sous le capot, les pare-feu Linux s’appuient sur netfilter, le cadre de filtrage réseau côté noyau. Ici, dans le monde des utilisateurs, nous avons un choix d’outils avec lesquels interagir netfilter tel que iptables, ufw le pare-feu simple, et firewalld.

Selon nous, firewalld offre le meilleur équilibre entre fonctionnalité, granularité et simplicité.

Installation de pare-feu

Il y a deux parties à firewalld . Il y a firewalld le processus démon qui fournit la fonctionnalité de pare-feu, et il y a firewall-config. Il s’agit de l’interface graphique facultative pour firewalld. Notez qu’il n’y a pas de « d » dans firewall-config.

Installation firewalld sur Ubuntu, Fedora et Manjaro est simple dans tous les cas, bien qu’ils aient chacun leur propre vision de ce qui est préinstallé et de ce qui est fourni.

Pour installer sur Ubuntu, nous devons installer firewalld et firewall-config.

sudo apt install firewalld
sudo apt install firewall-config

Installation de pare-feu-config sur Ubuntu

Sur Fedora, firewalld est déjà installé. Il suffit d’ajouter firewall-config .

sudo dnf install firewall-config

Installation de la configuration du pare-feu sur Fedora

Sur Manjaro, aucun des deux composants n’est préinstallé, mais ils sont regroupés dans un seul package afin que nous puissions les installer tous les deux avec une seule commande.

sudo pacman -Sy firewalld

Installation de firewalld et firewall-config avec une seule commande sur Manjaro

Nous devons permettre au firewalld démon pour lui permettre de s’exécuter à chaque démarrage de l’ordinateur.

sudo systemctl enable firewalld

Activation de pare-feu pour démarrer automatiquement au démarrage

Et nous devons démarrer le démon pour qu’il fonctionne maintenant.

sudo systemctl start firewalld

Démarrage du démon firewalld

On peut utiliser systemctl pour vérifier ça firewalld a démarré et fonctionne sans problème :

sudo systemctl status firewalld

Vérifier l'état de firewalld avec systemctl

Nous pouvons également utiliser firewalld pour vérifier s’il fonctionne. Cela utilise le firewall-cmd commande avec le --state option. Notez qu’il n’y a pas de « d » dans firewall-cmd :

sudo firewall-cmd --state

Vérification de l'état de firewalld avec la commande firewall-cmd

Maintenant que le pare-feu est installé et opérationnel, nous pouvons passer à sa configuration.

Le concept de zones

Le firewalld le pare-feu est basé autour de zones. Les zones sont des ensembles de règles de pare-feu et une connexion réseau associée. Cela vous permet de personnaliser différentes zones – et un ensemble différent de limitations de sécurité – dans lesquelles vous pouvez opérer. Par exemple, vous pouvez avoir une zone définie pour la course régulière et quotidienne, une autre zone pour une course plus sécurisée et une zone de verrouillage complet « rien à l’intérieur, rien à l’extérieur ».

Pour passer d’une zone à une autre, et effectivement d’un niveau de sécurité à un autre, vous déplacez votre connexion réseau de la zone dans laquelle elle se trouve vers la zone dans laquelle vous souhaitez fonctionner.

Cela permet de passer très rapidement d’un ensemble défini de règles de pare-feu à un autre. Une autre façon d’utiliser les zones serait de demander à votre ordinateur portable d’utiliser une zone lorsque vous êtes à la maison et une autre lorsque vous êtes dehors et que vous utilisez le Wi-Fi public.

firewalld est livré avec neuf zones préconfigurées. Celles-ci peuvent être modifiées et davantage de zones ajoutées ou supprimées.

  • baisse: Tous les paquets entrants sont abandonnés. Le trafic sortant est autorisé. C’est le cadre le plus paranoïaque.
  • bloc: Tous les paquets entrants sont abandonnés et un icmp-host-prohibited le message est envoyé à l’expéditeur. Le trafic sortant est autorisé.
  • de confiance: Toutes les connexions réseau sont acceptées et les autres systèmes sont approuvés. Il s’agit du paramètre le plus fiable et doit être limité à des environnements très sûrs comme les réseaux de test captifs ou votre domicile.
  • publique: Cette zone est destinée à être utilisée sur des réseaux publics ou autres sur lesquels aucun des autres ordinateurs n’est fiable. Une petite sélection de demandes de connexion courantes et généralement sécurisées est acceptée.
  • externe: Cette zone est destinée à être utilisée sur des réseaux externes avec le masquage NAT (redirection de port) activé. Votre pare-feu agit comme un routeur redirigeant le trafic vers votre réseau privé qui reste accessible, mais toujours privé.
  • interne: Cette zone est destinée à être utilisée sur les réseaux internes lorsque votre système fait office de passerelle ou de routeur. Les autres systèmes de ce réseau sont généralement fiables.
  • dmz: Cette zone est destinée aux ordinateurs situés dans la « zone démilitarisée » en dehors de votre périmètre de défense et avec un accès limité à votre réseau.
  • travail: Cette zone est réservée aux machines de travail. Les autres ordinateurs de ce réseau sont généralement fiables.
  • maison: Cette zone est réservée aux machines domestiques. Les autres ordinateurs de ce réseau sont généralement fiables.

Les zones d’habitation, de travail et internes ont des fonctions très similaires, mais les séparer en différentes zones vous permet d’affiner une zone à votre guise, en encapsulant un ensemble de règles pour un scénario particulier.

Un bon point de départ est de découvrir quelle est la zone par défaut. Il s’agit de la zone à laquelle vos interfaces réseau sont ajoutées lorsque firewalld est installé.

sudo firewall-cmd --get-default-zone

Trouver la zone pare-feu par défaut

Notre zone par défaut est la zone publique. Pour voir les détails de configuration d’une zone, utilisez le --list-all option. Ceci répertorie tout ce qui a été ajouté ou activé pour une zone.

sudo firewall-cmd --zone=public --list-all

Lister les détails de la zone publique

Nous pouvons voir que cette zone est associée à la connexion réseau enp0s3 et autorise le trafic lié à DHCP, mDNS et SSH. Comme au moins une interface a été ajoutée à cette zone, cette zone est active.

firewalld vous permet d’ajouter des services depuis lesquels vous souhaitez accepter le trafic vers une zone. Cette zone permet alors le passage de ce type de trafic. C’est plus facile que de se rappeler que mDNS, par exemple, utilise le port 5353 et le protocole UDP, et d’ajouter manuellement ces détails à la zone. Même si vous pouvez le faire aussi.

Si nous exécutons la commande précédente sur un ordinateur portable avec une connexion Ethernet et une carte Wi-Fi, nous verrons quelque chose de similaire, mais avec deux interfaces.

sudo firewall-cmd --zone=public --list-all

Une zone avec deux interfaces

Nos deux interfaces réseau ont été ajoutées à la zone par défaut. La zone a des règles pour les trois mêmes services que le premier exemple, mais DHCP et SSH ont été ajoutés en tant que services nommés, tandis que mDNS a été ajouté en tant que couplage de port et de protocole.

Pour lister toutes les zones, utilisez le --get-zones option.

sudo firewall-cmd --get-zones

Liste de toutes les zones firewalld

Pour voir la configuration de toutes les zones à la fois, utilisez le --list-all-zones option. Vous aurez envie de diffuser cela dans less.

sudo firewall-cmd --list-all-zones | less

Liste des détails de toutes les zones

Ceci est utile car vous pouvez faire défiler la liste ou utiliser la fonction de recherche pour rechercher des numéros de port, des protocoles et des services.

Les détails de toutes les zones affichées en moins

Sur notre ordinateur portable, nous allons déplacer notre connexion Ethernet de la zone publique vers la zone domestique. Nous pouvons le faire avec le --zone et --change-interface choix.

sudo firewall-cmd --zone=home --change-interface=enp3s0

Ajout d'une interface réseau à la zone d'accueil

Jetons un coup d’œil à la zone d’accueil et voyons si notre modification a été effectuée.

sudo firewall-cmd --zone=home --list-all

La zone d'accueil avec une interface réseau ajoutée

Et c’est le cas. Notre connexion Ethernet est ajoutée à la zone d’accueil.

Il ne s’agit cependant pas d’un changement permanent. Nous avons modifié la configuration en cours d’exécution du pare-feu, et non sa configuration stockée. Si nous redémarrons ou utilisons le --reload option, nous reviendrons à nos paramètres précédents.

Pour rendre un changement permanent, nous devons utiliser le bien nommé --permanent option.

Cela signifie que nous pouvons modifier le pare-feu pour des besoins ponctuels sans modifier la configuration stockée du pare-feu. Nous pouvons également tester les modifications avant de les envoyer à la configuration. Pour rendre notre changement permanent, le format que nous devons utiliser est le suivant :

sudo firewall-cmd --zone=home --change-interface=enp3s0 --permanent

Si vous apportez des modifications mais oubliez d’utiliser --permanent sur certains d’entre eux, vous pouvez écrire les paramètres de la session en cours d’exécution du pare-feu dans la configuration à l’aide du --runtime-to-permanent option.

sudo firewall-cmd --runtime-to-permanent

Rechargement de la configuration du pare-feu

Ajout et suppression de services

firewalld connaît de nombreux services. Vous pouvez les lister en utilisant le --get-services option.

sudo firewall-cmd --get-services

Liste des services que Firewall peut référencer par leur nom

Notre version de firewalld répertorié 192 services. Pour activer un service dans une zone, utilisez le --add-service option.

Liste des services reconnus

Nous pouvons ajouter un service à une zone en utilisant le --add-service option.

sudo firewall-cmd --zone=public --add-service=http

Ajouter le service HTTP à une zone

Le nom du service doit correspondre à son entrée dans la liste des services de firewalld.

Pour supprimer un service, remplacez --add-service avec --remove-service

Ajout et suppression de ports et de protocoles

Si vous préférez choisir les ports et protocoles à ajouter, vous pouvez également le faire. Vous aurez besoin de connaître le numéro de port et le protocole correspondant au type de trafic que vous ajoutez.

Ajoutons le trafic HTTPS à la zone publique. Cela utilise le port 443 et constitue une forme de trafic TCP.

sudo firewall-cmd --zone=public --add-port=443/tcp

Ajout d'un couplage de port et de protocole à une zone

Vous pouvez fournir une gamme de ports en fournissant au premier et au dernier ports un trait d’union « - » entre eux, comme  » 400-450 « .

Pour supprimer un port, remplacez --add-port avec --remove-port .

Utilisation de l’interface graphique

Appuyez sur votre touche « Super » et commencez à taper « pare-feu ». Vous verrez l’icône du mur de briques pour le firewall-config application.

L'icône de configuration du pare-feu

Cliquez sur cette icône pour lancer l’application.

Pour ajouter un service à firewalld utiliser l’interface graphique est aussi simple que de sélectionner une zone dans la liste des zones et de sélectionner le service dans la liste des services.

Vous pouvez choisir de modifier la session en cours ou la configuration permanente en sélectionnant « Runtime » ou « Permanent » dans le menu déroulant « Configuration ».

Le menu déroulant de configuration

Pour apporter des modifications à la session en cours et valider les modifications uniquement une fois que vous avez testé leur fonctionnement, définissez le menu « Configuration » sur « Runtime ». Apportez vos modifications. Une fois que vous êtes satisfait qu’ils font ce que vous voulez, utilisez l’option de menu Options > Runtime to Permanent.

Pour ajouter un port et une entrée de protocole à une zone, sélectionnez la zone dans la liste des zones et cliquez sur « Ports ». En cliquant sur le bouton Ajouter, vous pouvez fournir le numéro de port et sélectionner le protocole dans un menu.

Ajout d'un couplage port et protocole à l'aide de l'interface graphique de configuration du pare-feu

Pour ajouter un protocole, cliquez sur « Protocoles », cliquez sur le bouton « Ajouter » et sélectionnez le protocole dans le menu contextuel.

Un protocole dans la zone publique, dans l'interface graphique de configuration du pare-feu

Pour déplacer une interface d’une zone à une autre, double-cliquez sur l’interface dans la liste « Connexions », puis sélectionnez la zone dans le menu contextuel.

Déplacement d'une interface réseau d'une zone à une autre dans l'interface graphique de configuration du pare-feu

Le sommet de l’iceberg

Vous pouvez faire beaucoup plus avec firewalld, mais cela suffit pour que vous soyez opérationnel. Avec les informations que nous vous avons fournies, vous pourrez créer des règles significatives dans vos zones.

Laisser un commentaire

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

Comment utiliser la commande tee sous Linux

Comment utiliser la commande tee sous Linux

qBittorrent 4.6 supprime les anciennes versions de Windows et ajoute de nouvelles fonctionnalités

qBittorrent 4.6 supprime les anciennes versions de Windows et ajoute de nouvelles fonctionnalités