Retour au blog

Configuration d'un pare-feu avec UFW sur Ubuntu 18.04

Configuration d'un pare-feu avec UFW sur Ubuntu 18.04

Un pare-feu est l'un des composants essentiels de la sécurisation d'un système. Il est responsable de la gestion des connexions entrantes et sortantes sur le réseau. C'est la première ligne de défense de vos serveurs et de vos données. C'est pourquoi il est primordial d'avoir un pare-feu bien configuré. Dans ce guide, nous allons vous guider à travers les étapes de configuration d'un pare-feu avec UFW sur Ubuntu 18.04.

UFW sur Ubuntu

Le terme UFW signifie « Uncomplicated Firewall » (pare-feu simple). C'est un programme de pare-feu par défaut préinstallé avec Ubuntu. UFW est en fait une interface pour iptables. Le but d'UFW est de faciliter la configuration et la gestion d'un pare-feu. Bien qu'iptables soit en soi une option solide et flexible, il n'est pas très accessible aux débutants. UFW facilite la tâche tant pour les débutants que pour les utilisateurs expérimentés.

Tout d'abord, jetez un œil à notre guide complet qui vous aidera à vous familiariser avec les fonctions de base d'UFW. Vous pouvez également suivre ce guide pour installer votre serveur Ubuntu. Maintenant, commençons !

Pour commencer, si pour une raison quelconque, votre UFW n'est pas installé, installez-le immédiatement :

Configuration d'UFW

  • Utilisation d'IPv6

À l'heure actuelle, IPv4 reste la force dominante. En gardant cela à l'esprit, la majeure partie de ce guide présente également IPv4. Heureusement, UFW prend également en charge IPv6. Tout ce que vous avez à faire est d'activer la fonctionnalité à partir du fichier de configuration d'UFW.

Tout d'abord, ouvrez le fichier de configuration d'UFW dans un éditeur de texte. Pour enregistrer les modifications, l'éditeur de texte doit être exécuté avec les privilèges sudo :

Recherchez « IPV6 » et assurez-vous qu'il est défini sur « yes ».

  • Politique par défaut

Si c'est la première fois que vous manipulez un pare-feu, il est recommandé de définir d'abord les politiques par défaut. Ces règles déterminent comment est contrôlé le trafic qui ne correspond à aucune règle explicite. Par défaut, UFW est configuré pour refuser toutes les connexions entrantes mais autoriser toutes les connexions sortantes. Cela signifie que personne ne peut accéder au serveur alors qu'une application s'exécutant sur le serveur peut accéder à l'extérieur.

Les commandes suivantes vont simplement redéfinir le comportement par défaut d'UFW. Notez que cela modifiera le comportement d'UFW s'il a été modifié auparavant :

Pour un ordinateur personnel, ces seules règles de pare-feu suffiraient. Cependant, les serveurs nécessitent davantage pour renforcer correctement leur sécurité.

Autoriser les connexions SSH

De la manière dont UFW est configuré actuellement, il refusera toutes les connexions entrantes. Pour un serveur distant, c'est inacceptable. Sans accès au serveur, rien ne peut être fait. Pour éviter ce problème, UFW peut être configuré pour autoriser les connexions entrantes SSH ou HTTP connexions.

Pour autoriser les connexions SSH vers le serveur, exécutez la commande suivante. Cela indiquera essentiellement à UFW d'autoriser toutes les connexions sur le port 22. C'est le port sur lequel le démon SSH écoute par défaut :

Au lieu de cette commande, il est possible de configurer directement l'autorisation des connexions vers le port 22. Ce port est défini dans le fichier /etc/services :

Parce que le port 22 est le port par défaut du démon SSH, il peut également être vulnérable aux attaques. Que se passe-t-il si le serveur SSH est configuré pour écouter sur un port différent ? Dans une telle situation, UFW doit autoriser la connexion à ce port. En supposant que le serveur SSH écoute sur le port 1234, utilisez alors la commande suivante :

Activation d'UFW

Bien que les règles d'UFW soient établies, elles ne feront rien à moins qu'UFW ne soit activé. Par défaut, UFW est désactivé, ce qui signifie que malgré la déclaration des règles, il ne les appliquera pas. Pour activer UFW, exécutez la commande suivante :

UFW peut afficher un message d'avertissement concernant l'interruption des connexions SSH existantes. Comme les connexions SSH ont été configurées pour être autorisées, l'activation d'UFW ne causera aucune interruption. Pour voir quelles règles sont définies, exécutez la commande suivante :

Autoriser diverses connexions

À ce stade, UFW devrait être équipé d'autres règles pour garantir une expérience stable. Les connexions à autoriser dépendent de vos besoins spécifiques. Il a déjà été démontré comment indiquer à UFW d'autoriser les connexions en fonction du nom d'un service ou d'un numéro de port.

Voici d'autres ports qu'il est très courant de laisser ouverts :

  • SSH (port 22) : Il s'agit du port par défaut configuré pour les connexions SSH.
  • HTTP (port 80) : Il s'agit du port par défaut utilisé par les serveurs web non chiffrés.
  • HTTPS (port 443) : Il s'agit du port par défaut utilisé par les serveurs web chiffrés.

Pour activer les connexions SSH, exécutez l'une des commandes suivantes :

Ensuite, pour activer les connexions HTTP, exécutez l'une des commandes suivantes :

Pour activer les connexions HTTPS, exécutez l'une des commandes suivantes :

Plage de ports

Jusqu'à présent, nous avons démontré comment autoriser un certain port. Que faire si vous avez besoin d'une plage de ports ? Déclarer chaque port à UFW est assez inefficace. Certaines applications utilisent plusieurs ports. Heureusement, UFW permet de déclarer une plage de ports. Pour ce faire, utilisez la structure de commande suivante :

L'exemple suivant active les connexions X11 qui utilisent les ports 6000 à 6007:

Il est recommandé de déclarer les protocoles chaque fois que possible. Cependant, dans la plupart des cas, ce n'est pas nécessaire et tout fonctionnera très bien.

Adresses IP spécifiques

Lors de l'utilisation d'UFW, il est également possible de filtrer les connexions par adresses IP spécifiques. Par défaut, UFW bloque les connexions de n'importe quelle adresse IP. Il est possible de déclarer l'autorisation de connexion à partir de certaines adresses IP. Pour autoriser la connexion depuis une adresse IP, utilisez la structure de commande suivante :

Vous pouvez également déclarer les ports spécifiques auxquels l'adresse IP est autorisée à se connecter. Pour ce faire, ajoutez to any port suivi du numéro de port à la commande :

Sous-réseaux

Si vous devez autoriser un sous-réseau d'adresses IP, il est possible de le faire en utilisant la notation CIDR. Dans cet exemple, UFW autorisera la connexion à partir d'adresses IP allant de 203.0.113.1 à 203.0.113.254:

De même que pour l'étape précédente, il est également possible de spécifier le port auquel ces adresses IP peuvent se connecter :

Connexion à une interface réseau spécifique

Dans un environnement de serveur, plusieurs interfaces réseau peuvent être connectées au système. En utilisant UFW, il est possible de spécifier qu'une certaine règle ne s'applique qu'à une interface réseau spécifique. Tout d'abord, vérifiez toutes les interfaces réseau connectées au serveur. Le nom de l'interface réseau cible est l'élément principal :

 firewall with UFW on Ubuntu 18.04. 4

Dans notre cas, il n'y a qu'une seule interface réseau ens3 qui se connecte à l'Internet public. Pour autoriser les connexions entrantes depuis cette interface réseau, utilisez la structure de commande suivante :

Il est également possible de définir le port auquel le trafic peut accéder en provenance de l'interface réseau :

Refuser la connexion

Selon la configuration par défaut, UFW refusera la connexion de n'importe quelle source (sauf les exceptions déclarées). C'est la méthode recommandée pour utiliser UFW. Cependant, il peut être nécessaire de bloquer des connexions spécifiques provenant d'une adresse IP source ou d'un sous-réseau particulier. Il se peut que le comportement par défaut d'UFW soit configuré pour autoriser toutes les connexions (non recommandé).

Pour refuser une connexion provenant de certaines adresses IP, UFW nécessite des règles de refus (deny). Écrire des règles de refus est assez simple. Prenez n'importe quelle règle d'autorisation (allow), remplacez le terme « allow » par « deny » et voilà ! Elle devient une règle de refus.

Regardez l'exemple suivant. Pour refuser toute connexion HTTP, utilisez la règle de refus suivante :

Pour refuser la connexion de 203.0.113.1, utilisez la règle de refus suivante :

Supprimer des règles

Tout ce que nous avons appris jusqu'à présent, c'est comment créer des règles. Tout comme les règles sont créées, elles peuvent également être supprimées. Dans le cas d'UFW, il existe deux manières spécifiques de supprimer une règle.

  • Supprimer une règle par son numéro

C'est la méthode la plus simple pour supprimer une règle UFW. Chaque règle dans UFW possède un numéro de règle. La commande suivante affichera toutes les règles UFW ainsi que leur numéro :

 firewall with UFW on Ubuntu 18.04. 3

La commande suivante supprimera la règle spécifiée par le numéro de règle :

  • Supprimer une règle par la règle elle-même

C'est la méthode la plus difficile pour supprimer une règle. Elle nécessite de spécifier manuellement la règle réelle pour la supprimer. Dans l'exemple suivant, UFW supprimera la règle spécifiée par allow http:

La règle aurait également pu être spécifiée par allow 80. Dans ce cas, la commande suivante la supprimera :

La suppression d'une règle la supprimera à la fois pour IPv4 et IPv6.

Vérification du statut et des règles d'UFW

Il est essentiel de s'assurer que UFW est actif ou non. Pour déterminer le statut d'UFW, exécutez la commande suivante :

 firewall with UFW on Ubuntu 18.04. 2

Si le statut est « inactive », activez-le en suivant l'étape Activation d'UFW ci-dessus. S'il est actif, UFW signalera le statut « active » et listera toutes les règles actives.

Désactivation d'UFW

Si, pour une raison quelconque, vous n'utilisez pas UFW, désactivez-le à l'aide de la commande suivante :

Si UFW est désactivé, toutes les règles créées ne sont plus actives. Cependant, les règles ne sont pas supprimées. Lorsque UFW est réactivé, toutes les règles redeviendront actives. Et si la configuration actuelle d'UFW est un désordre ? Au lieu de supprimer les règles une par une, il est possible de toutes les supprimer en une seule commande. Pour réinitialiser UFW, exécutez la commande suivante :

 firewall with UFW on Ubuntu 18.04. 1

Notez que cela ne modifiera pas le comportement par défaut d'UFW qui a été configuré au départ.

Conclusion

Une configuration correcte du pare-feu est nécessaire pour garantir la sécurité et le bon fonctionnement. Il doit être configuré pour autoriser uniquement les connexions entrantes nécessaires tout en limitant les connexions inutiles.

Si vous souhaitez vous familiariser avec d'autres solutions de pare-feu, jetez un œil à notre blog pour d'autres ressources :

Bonne informatique !

author

Hark Labs

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.