Recherche sur le site Web

Installer UFW : Comment configurer un pare-feu de base sur Linux


UFW (Uncomplicated Firewall) simplifie la gestion du pare-feu sur Linux en offrant une interface facile à utiliser pour iptables. Ce guide couvre l'installation et la configuration de UFW sur les distributions basées sur Debian, de la configuration de base aux configurations pratiques du pare-feu pour les ordinateurs de bureau et les serveurs web.

Dans ce tutoriel, vous apprendrez :

  • Comment installer UFW sur les distributions basées sur Debian
  • Comment configurer les politiques par défaut du pare-feu
  • Comment autoriser et bloquer le trafic par service, port et IP
  • Comment utiliser les profils d'application UFW
  • Comment configurer des règles de pare-feu pour les ordinateurs de bureau et les serveurs

Résumé de l'article : Installez UFW avec sudo apt install ufw, puis configurez les politiques par défaut et activez le pare-feu.

ÉtapeCommande/Action
1. Installer UFW
sudo apt install ufw
2. Définir les politiques par défautsudo ufw default deny incoming
sudo ufw default allow outgoing
3. Autoriser l'accès SSH
sudo ufw allow ssh
4. Activer le pare-feu
sudo ufw enable

Installer UFW

UFW est disponible dans les dépôts par défaut des distributions basées sur Debian. Installez-le en utilisant le gestionnaire de paquets apt :

$ sudo apt install ufw

Après l'installation, UFW est inactif par défaut. Cela vous permet de configurer vos règles avant d'activer le pare-feu, évitant ainsi de vous verrouiller accidentellement hors des systèmes distants.

Définir vos paramètres par défaut

Comme avec iptables, il est préférable de commencer par définir votre comportement par défaut. Sur les ordinateurs de bureau, vous voulez généralement refuser le trafic entrant tout en autorisant les connexions sortantes.

$ sudo ufw default deny incoming

La syntaxe pour autoriser le trafic est similaire :

$ sudo ufw default allow outgoing

Ces paramètres par défaut garantissent que les connexions entrantes non sollicitées sont bloquées tout en permettant à votre système d’accéder à Internet et aux services externes.

Utilisation de base

Vous êtes maintenant prêt à commencer à configurer des règles et à gérer votre pare-feu. Les commandes UFW sont conçues pour être lisibles et intuitives.

Démarrage et arrêt

Bien que vous puissiez utiliser systemd pour contrôler UFW, celui-ci dispose de ses propres commandes qui sont plus simples. Commencez par activer UFW :

$ sudo ufw enable

ATTENTION
Si vous êtes connecté via SSH, assurez-vous d'autoriser le trafic SSH avant d'activer UFW, sinon vous pourriez perdre l'accès à votre système.

Pour arrêter et désactiver UFW au démarrage :

$ sudo ufw disable

Vérifiez si UFW est en cours d’exécution et consultez les règles actives :

$ sudo ufw status

Pour une sortie plus détaillée incluant les numéros de règles :

$ sudo ufw status numbered

Commandes

Autoriser le trafic HTTP entrant en utilisant le nom du service :

$ sudo ufw allow http

Autoriser les connexions SSH :

$ sudo ufw allow ssh

Vous pouvez obtenir le même résultat en utilisant des numéros de port. Cette commande permet le trafic HTTPS entrant sur le port 443 :

$ sudo ufw allow 443

Autoriser le trafic provenant d'une adresse IP spécifique ou d'une plage de réseau. Cet exemple permet tout le trafic provenant du réseau local :

$ sudo ufw allow from 192.168.1.0/24

Pour une gamme de ports, spécifiez le protocole (TCP ou UDP) :

$ sudo ufw allow 56881:56889/tcp

Utilisez deny au lieu de allow pour bloquer le trafic :

$ sudo ufw deny from 192.168.1.110

Pour cibler spécifiquement les connexions sortantes, incluez out :

$ sudo ufw allow out ssh

Pour supprimer une règle, utilisez le numéro de la règle provenant de ufw status numbered :

$ sudo ufw delete 3

Profils d'application UFW

UFW comprend des profils d'application qui définissent des règles de pare-feu pour les services courants. Ces profils simplifient la configuration en regroupant les paramètres de port et de protocole sous des noms d'application reconnaissables.

Liste des profils d'application disponibles :

$ sudo ufw app list

Afficher les détails d'un profil d'application spécifique :

$ sudo ufw app info OpenSSH

Cela affiche les ports et protocoles utilisés par l'application. Pour autoriser une application à travers le pare-feu :

$ sudo ufw allow OpenSSH

Les profils d'application courants incluent OpenSSH, Apache, Apache Full, Nginx Full, et d'autres selon les logiciels installés. Les profils d'application sont stockés dans /etc/ufw/applications.d/ et vous pouvez créer des profils personnalisés pour vos propres applications.

Configuration d’un ordinateur de bureau

Cet exemple fournit un point de départ pour une configuration de pare-feu de bureau de base. Ajustez les règles en fonction de vos besoins spécifiques.

Commencez par définir les paramètres par défaut :

$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing

Autoriser le trafic HTTP et HTTPS pour la navigation web :

$ sudo ufw allow http
$ sudo ufw allow https

Activer l'accès SSH :

$ sudo ufw allow ssh

Autoriser NTP pour la synchronisation de l'heure système :

$ sudo ufw allow ntp

À moins que vous n’utilisiez une IP statique, autorisez le DHCP sur les ports 67 et 68 :

$ sudo ufw allow 67:68/udp

Autoriser le trafic DNS pour la résolution des noms de domaine :

$ sudo ufw allow 53

Pour les clients torrent comme Deluge :

$ sudo ufw allow 56881:56889/tcp

Steam nécessite plusieurs ports :

$ sudo ufw allow 27000:27036/udp
$ sudo ufw allow 27036:27037/tcp
$ sudo ufw allow 4380/udp

Configurer un serveur Web

Les serveurs Web nécessitent une configuration plus restrictive pour minimiser la surface d'attaque tout en garantissant que le trafic légitime circule sans entrave.

Pour les serveurs, refuser tout le trafic par défaut. Désactivez le pare-feu avant d’effectuer ces changements pour éviter de perdre l’accès SSH :

$ sudo ufw default deny incoming
$ sudo ufw default deny outgoing
$ sudo ufw default deny forward

Activer le trafic Web entrant et sortant :

$ sudo ufw allow http
$ sudo ufw allow out http
$ sudo ufw allow https
$ sudo ufw allow out https

Autoriser SSH pour l'administration à distance :

$ sudo ufw allow ssh
$ sudo ufw allow out ssh

Activer NTP pour la synchronisation de l'heure :

$ sudo ufw allow ntp
$ sudo ufw allow out ntp

Autoriser le DNS pour les mises à jour de paquets et la résolution de domaine :

$ sudo ufw allow 53
$ sudo ufw allow out 53

Conclusion

UFW offre une approche simple pour la gestion du pare-feu sur les systèmes Linux. Malgré sa simplicité, UFW est prêt pour la production puisqu'il fonctionne comme une interface pour iptables, offrant la même sécurité robuste. Les exemples de ce guide couvrent des configurations courantes de bureau et de serveur, mais vous devriez adapter les règles en fonction de vos besoins spécifiques et de la configuration de votre réseau. Pour une documentation complète, référez-vous à la page de manuel officielle de UFW.

Questions fréquemment posées

  1. Comment vérifier si UFW bloque une connexion spécifique ? Utilisez sudo ufw status verbose pour voir toutes les règles actives et leurs politiques. Vous pouvez également vérifier les journaux UFW dans /var/log/ufw.log pour les tentatives de connexion bloquées. Activez la journalisation avec sudo ufw logging on si elle n'est pas déjà activée.
  2. Puis-je réinitialiser UFW à son état par défaut ? Oui, exécutez sudo ufw reset pour supprimer toutes les règles et désactiver le pare-feu. Cela ramène UFW à son état initial après l'installation, ce qui est utile si vous avez fait des erreurs de configuration et souhaitez recommencer à zéro.
  3. Quelle est la différence entre ufw allow et ufw limit ? La commande allow permet tout le trafic correspondant, tandis que limit ajoute une limitation de débit pour prévenir les attaques par force brute. Par exemple, sudo ufw limit ssh permet les connexions SSH mais bloque une adresse IP qui tente plus de 6 connexions en 30 secondes.
  4. UFW persiste-t-il après un redémarrage ? Oui, une fois activé avec sudo ufw enable, UFW démarre automatiquement au démarrage et charge vos règles enregistrées. Les règles sont stockées dans /etc/ufw/ et persistent après un redémarrage sans configuration supplémentaire.