Retour au blog

Les bases de UFW : apprendre les commandes essentielles du pare-feu

Les bases de UFW : apprendre les commandes essentielles du pare-feu

Introduction

UFW signifie uncomplicated firewall (pare-feu simplifié). Il s'agit d'une plateforme front-end qui vous permet de gérer facilement les fonctions et commandes de votre pare-feu. UFW est proposé comme option par défaut avec votre Ubuntu serveur. Maximiser le potentiel des commandes et des fonctions du pare-feu peut être difficile si vous n'êtes pas déjà familier avec l'outil.

Notre objectif est de vous fournir un guide complet que vous pourrez utiliser en tant que débutant. Nous compléterons les explications par des exemples de diverses actions que vous pouvez effectuer avec UFW. De nombreuses règles seront très utiles pour les services et activités de tous les jours. Commençons !

Prérequis

Avant de poursuivre votre lecture, assurez-vous que votre UFW est configuré sur le jeu de règles par défaut. Cela signifie que le pare-feu autorise le trafic sortant mais bloque le trafic entrant. L'avantage de cette réinitialisation par défaut est que vous pouvez sélectionner le trafic à autoriser à travers le pare-feu. Si vous n'êtes pas sûr de l'état du jeu de règles actuel sur votre UFW, utilisez cette commande pour vérifier : sudo ufw status. Vous pouvez également utiliser cette commande :

En dehors de cela, vous êtes libre de passer à la section la plus pertinente par rapport à vos besoins. Vous n'avez pas nécessairement besoin d'utiliser chacune des commandes fournies dans ce guide. Vous pouvez les combiner en fonction de vos besoins personnels.

Comment bloquer une adresse IP

Commençons par l'une des fonctions les plus basiques de tout pare-feu : le blocage des adresses IP. Il existe une commande très simple que vous pouvez utiliser pour bloquer toutes les connexions réseau provenant d'une adresse IP donnée. Disons, par exemple, que l'adresse IP spécifique dans notre cas est 15.15.15.51. Vous pouvez remplacer cette valeur par l'adresse IP que vous souhaitez bloquer via votre UFW. Voici la commande que vous utiliseriez à cet effet :

Ici, from 15.15.15.51 indique uniquement l'adresse IP source, qui est « 15.15.15.51 ». Si vous souhaitez spécifier un sous-réseau à la place, vous pouvez l'ajouter comme suit : 15.15.15.0/24. La commande fonctionnera tout aussi bien. Vous pouvez spécifier cette adresse IP source dans n'importe quelle règle de pare-feu de votre choix, comme la règle d'autorisation (allow).

  • Blocage des connexions d'interface réseau

Parfois, il peut être nécessaire de bloquer les connexions réseau provenant d'une adresse IP spécifique vers une interface réseau spécifique. Si tel est le cas, nous devrons spécifier l'interface réseau ainsi que l'adresse IP source. Pour cet exemple, considérons que l'adresse IP source est 15.15.15.51 et l'interface réseau est eth0 :

Tout comme l'adresse IP source, vous pouvez également spécifier l'interface réseau dans n'importe quelle règle de pare-feu. Le but de ces spécifications est de limiter la règle de pare-feu donnée à un réseau ou à une connexion en particulier.

Comment autoriser les connexions SSH

Cette section vous concerne si vous utilisez un serveur cloud. Pour pouvoir établir une connexion à votre serveur cloud, vous devez configurer le pare-feu pour autoriser les connexions SSH entrantes. Ces connexions SSH passent par le port 22. Vous pouvez suivre ce tutoriel pour apprendre à utiliser SSH to connect to a remote server in Ubuntu.

En établissant des connexions SSH, vous pouvez gérer avec succès votre serveur cloud à l'aide de votre machine locale. Ici, nous aborderons les différentes règles relatives à la configuration du pare-feu associé à SSH :

  • Autoriser SSH

Utilisez la commande suivante pour autoriser toutes les connexions SSH entrantes :

D'un autre côté, vous pouvez également exécuter la commande en spécifiant plutôt le numéro de port du service SSH :

  • Autoriser le SSH entrant depuis une adresse IP spécifique

Si vous souhaitez uniquement autoriser les connexions SSH entrantes provenant d'une adresse IP ou d'un sous-réseau spécifique, vous avez la possibilité de spécifier la source. Par exemple, supposons que le sous-réseau que vous souhaitez autoriser soit 15.15.15.0/24. Voici la commande que vous devrez exécuter :

  • Autoriser le trafic Rsync entrant depuis une adresse IP spécifique

Fonctionnant sur le port 873, Rsync vous permet d'effectuer des transferts de fichiers d'un système informatique à un autre. Si vous souhaitez uniquement autoriser la connexion Rsync provenant d'une adresse IP ou d'un sous-réseau spécifique (dans cet exemple, 15.15.15.0/24), vous pouvez le faire à l'aide de cette commande :

Cela signifie que l'ensemble du sous-réseau 15.15.15.0/24 sera autorisé à utiliser Rsync vers votre serveur. Voici également un tutoriel complet sur la façon d'utiliser Rsync pour synchroniser des répertoires locaux et distants sur votre serveur.

Comment configurer les requêtes du serveur web

Ensuite, nous passerons aux règles relatives au service de serveur web. Les serveurs web comme Apache et Nginx acceptent généralement les requêtes pour les connexions HTTP et HTTPS à partir de deux ports : le port 80 et le port 443. Le port 80 répond aux requêtes HTTP. Le port 443 est responsable des requêtes HTTPS.

Comme nous l'avons vu dans les prérequis, vous utilisez le jeu de règles par défaut pour UFW. Sur la base de ce jeu de règles, le pare-feu bloque ou refuse tout le trafic entrant. Par conséquent, vous devrez configurer de nouvelles règles qui permettent au serveur de recevoir et de lire ces requêtes entrantes.

  • Autoriser tout le trafic HTTP

Si vous souhaitez autoriser toutes les connexions et requêtes HTTP provenant du port 80, utilisez la commande :

Vous pouvez également utiliser le numéro de port (port 80) pour spécifier le service HTTP dans la commande :

  • Autoriser tout le trafic HTTPS

Si vous souhaitez autoriser toutes les connexions et requêtes HTTPS provenant du port 443, exécutez cette commande :

Tout comme pour la commande précédente, vous pouvez remplacer « https » par le numéro de port du service HTTPS :

  • Autoriser tout le trafic HTTP et HTTPS

Si vous souhaitez autoriser à la fois les requêtes HTTP et HTTPS, vous pouvez utiliser une règle collective pour les deux. Grâce à cette commande unique, vous pouvez autoriser le trafic entrant provenant du port 80 ainsi que du port 443 :

La commande proto tcp est nécessaire lorsque vous spécifiez plusieurs ports à la fois.

Vous pouvez également suivre ces guides détaillés sur la sécurisation de Nginx et Apache avec Let’s Encrypt sur Ubuntu.

Comment autoriser MySQL

MySQL les connexions entrent par le port 3306. Vous devrez utiliser une règle pour autoriser le trafic entrant si un client utilise votre base de données MySQL sur un serveur distant. Suivez notre tutoriel pour apprendre les bases de MySQL et comment configurer MySQL sur un serveur.

  • Autoriser MySQL depuis une adresse IP spécifique

Comme nous l'avons déjà vu dans les règles précédentes, vous devez spécifier la source pour autoriser les connexions MySQL entrantes. Votre source peut être une adresse IP spécifique ou un sous-réseau. Dans notre exemple, nous utiliserons l'ensemble du sous-réseau 15.15.15.0/24 pour exécuter la commande :

  • Autoriser MySQL sur une interface réseau spécifique

Vous utiliserez une commande différente si vous devez également spécifier l'interface réseau sur laquelle vous autorisez les connexions MySQL. Supposons que l'interface réseau que vous utilisez soit une interface réseau privée appelée eth1. Vous pouvez remplacer cette valeur par le nom de votre propre interface réseau :

Comment autoriser PostgreSQL

Les PostgreSQL connexions entrent par le port 5432. Tout comme pour les connexions MySQL, si un client utilise la base de données PostgreSQL sur un serveur distant, vous devez autoriser le trafic entrant. Vous pouvez le faire à l'aide des commandes qui suivent.

  • Autoriser PostgreSQL depuis une adresse IP spécifique

Si vous savez que les connexions PostgreSQL proviennent d'un sous-réseau ou d'une adresse IP spécifique, vous devez spécifier la source. Ici, nous utiliserons à nouveau l'exemple du sous-réseau 15.15.15.0/24 :

Au cas où votre politique OUTPUT ne serait pas définie sur  ACCEPT, vous devrez exécuter une deuxième commande. Cette commande autorise le trafic sortant des connexions PostgreSQL déjà établies.

  • Autoriser PostgreSQL sur une interface réseau spécifique

Semblable à la règle précédente, nous allons autoriser les connexions PostgreSQL sur une interface réseau spécifique. Dans notre cas, il s'agit de eth1 :

Au cas où votre politique OUTPUT ne serait pas définie sur  ACCEPT, vous devrez exécuter une deuxième commande. Cette commande autorise le trafic sortant des connexions PostgreSQL déjà établies. Vous pouvez apprendre comment configurer PostgreSQL sur Ubuntu en suivant notre tutoriel détaillé.

Comment configurer des serveurs de messagerie

Vous utilisez peut-être également des serveurs de messagerie comme Sendmail et Postfix sur votre système. Ces serveurs sont ouverts sur plusieurs ports. Les ports sur lesquels ils écoutent dépendent des protocoles configurés pour la distribution du courrier. C'est pourquoi vous devrez d'abord déterminer quels protocoles vous utilisez dans votre système de messagerie. Vous autoriserez ensuite les types de trafic pertinents en fonction de ces informations.

  • Bloquer le courrier SMTP sortant

Avant de passer aux commandes qui autorisent le trafic entrant pour vos serveurs de messagerie, voyons comment vous pouvez bloquer le trafic sortant courrier SMTP. Vous pouvez utiliser cette commande si vous ne souhaitez pas que votre serveur envoie de courrier sortant. Le courrier SMTP utilise le port 25. Utilisez cette commande pour bloquer ce trafic :

Suite à l'exécution de cette commande, votre pare-feu rejettera tout le trafic sortant sur le port 25. Si vous souhaitez bloquer un autre port, remplacez simplement le port « 25 » par le numéro de port approprié.

  • Autoriser le SMTP entrant

Maintenant que vous savez comment bloquer le trafic sortant, autoriser le trafic entrant vous semblera tout aussi simple. Utilisez cette commande pour autoriser le serveur à recevoir des connexions SMTP sur le port 25 :

  • Autoriser l'IMAP entrant

Si vous souhaitez autoriser le serveur à établir des connexions IMAP sur le port 143, utilisez la commande suivante :

  • Autoriser l'IMAPS entrant

Utilisez cette commande pour autoriser le serveur à répondre aux connexions IMAPS sur le port 993 :

  • Autoriser le POP3 entrant

Cette commande permet à votre serveur de répondre à toutes les connexions POP3 via le port 110 :

  • Autoriser le POP3S entrant

Enfin, vous pouvez autoriser votre serveur à recevoir des requêtes sur le port 995 pour les connexions POP3S à l'aide de cette commande :

Conclusion

Ce guide vous aidera à vous familiariser avec les fonctions de base d'UFW. Nous avons couvert les commandes essentielles que vous devez connaître pour pouvoir configurer votre pare-feu. Vous pouvez choisir les commandes qui correspondent le mieux à vos besoins spécifiques afin de créer une solution de pare-feu personnalisée. La nature flexible d'UFW permet une telle personnalisation. Faites des essais pour découvrir ce qui fonctionne le mieux pour vous.

Bonne informatique !

author

Akshay Nagpal

Auteur · CloudSigma

Preslav Dobrev est un designer créatif chez CloudSigma, axé sur une identité commerciale cohérente à travers des canaux marketing traditionnels et innovants. Il excelle à fusionner la vision artistique avec le marketing stratégique pour créer des récits de marque percutants.

Commentaires

Aucun commentaire pour l'instant. Soyez le premier.